xssFilterHard($_POST); $_REQUEST = $filter->xssFilterHard($_REQUEST); $arrayToTranslation = [ 'TRIGGER' => G::LoadTranslation('ID_TRIGGER_DB'), 'DERIVATION' => G::LoadTranslation('ID_DERIVATION_DB') ]; $actionAjax = isset($_REQUEST['actionAjax']) ? $_REQUEST['actionAjax'] : null; switch ($actionAjax) { case 'messageHistoryGridList_JXP': if (!isset($_REQUEST['start']) || $_REQUEST['start'] == '') { $_REQUEST['start'] = 0; } if (!isset($_REQUEST['limit']) || $_REQUEST['limit'] == '') { $_REQUEST['limit'] = 20; } $dir = isset($_POST['dir']) ? $_POST['dir'] : 'ASC'; $sort = isset($_POST['sort']) ? $_POST['sort'] : ''; global $G_PUBLISH; $case = new Cases(); $case->dir = $dir; $case->sort = $sort; $appMessageArray = $case->getHistoryMessagesTrackerExt($_SESSION['APPLICATION'], true, $_REQUEST['start'], $_REQUEST['limit']); $appMessageCountArray = $case->getHistoryMessagesTrackerExt($_SESSION['APPLICATION'], true); $result = new stdClass(); $process = []; $proUid = $_SESSION['PROCESS']; $appUid = $_SESSION['APPLICATION']; $tasUid = $_SESSION['TASK']; $usrUid = $_SESSION['USER_LOGGED']; $respBlock = $case->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, 'BLOCK'); $respView = $case->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, 'VIEW'); $respResend = $case->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, 'RESEND'); $delIndex = []; $respMess = ''; if (count($respBlock['MSGS_HISTORY']) > 0) { $respMess = $respBlock['MSGS_HISTORY']['PERMISSION']; if (isset($respBlock['MSGS_HISTORY']['DEL_INDEX'])) { $delIndex = $respBlock['MSGS_HISTORY']['DEL_INDEX']; } } if (count($respView['MSGS_HISTORY']) > 0) { $respMess = $respView['MSGS_HISTORY']['PERMISSION']; if (isset($respView['MSGS_HISTORY']['DEL_INDEX'])) { $delIndex = $respView['MSGS_HISTORY']['DEL_INDEX']; } } if (count($respResend['MSGS_HISTORY']) > 0) { $respMess = $respResend['MSGS_HISTORY']['PERMISSION']; if (isset($respResend['MSGS_HISTORY']['DEL_INDEX'])) { $delIndex = $respResend['MSGS_HISTORY']['DEL_INDEX']; } } $totalCount = 0; foreach ($appMessageArray as $index => $value) { if (($appMessageArray[$index]['APP_MSG_SHOW_MESSAGE'] == 1 && $respMess != 'BLOCK') && ($appMessageArray[$index]['DEL_INDEX'] == 0 || in_array($appMessageArray[$index]['DEL_INDEX'], $delIndex))) { $appMessageArray[$index]['ID_MESSAGE'] = $appMessageArray[$index]['APP_UID'] . '_' . $appMessageArray[$index]['APP_MSG_UID']; if ($respMess == 'BLOCK' || $respMess == '') { $appMessageArray[$index]['APP_MSG_BODY'] = ''; } $process[] = array_merge($appMessageArray[$index], ['MSGS_HISTORY' => $respMess]); $totalCount++; } } $process = array_splice($process, $_REQUEST['start'], $_REQUEST['limit']); $response = new stdclass(); $response->data = $process; $response->totalCount = $totalCount; if (!empty($process)) { if (!isset($response->data[0])) { $response->data[0] = array('APP_MSG_TYPE' => ''); } foreach ($response->data as $key => $value) { $response->data[$key]['APP_MSG_TYPE'] = array_key_exists($response->data[$key]['APP_MSG_TYPE'], $arrayToTranslation) ? $arrayToTranslation[$response->data[$key]['APP_MSG_TYPE']] : $response->data[$key]['APP_MSG_TYPE']; } } echo G::json_encode($response); break; case 'showHistoryMessage': ?> AddContent('xmlform', 'xmlform', 'cases/cases_MessagesView', '', $case->getHistoryMessagesTrackerView($_POST['APP_UID'], $_POST['APP_MSG_UID'])); ?> getHistoryMessagesTrackerView($_POST['APP_UID'], $_POST['APP_MSG_UID']); $spool = new SpoolRun(); $spool->setConfig(System::getEmailConfiguration()); $spool->create([ 'msg_uid' => $data['MSG_UID'], 'app_uid' => $data['APP_UID'], 'del_index' => $data['DEL_INDEX'], 'app_msg_type' => $data['APP_MSG_TYPE'], 'app_msg_subject' => $data['APP_MSG_SUBJECT'], 'app_msg_from' => $data['APP_MSG_FROM'], 'app_msg_to' => $data['APP_MSG_TO'], 'app_msg_body' => $data['APP_MSG_BODY'], 'app_msg_cc' => $data['APP_MSG_CC'], 'app_msg_bcc' => $data['APP_MSG_BCC'], 'app_msg_attach' => $data['APP_MSG_ATTACH'], 'app_msg_template' => $data['APP_MSG_TEMPLATE'], 'app_msg_status' => 'pending' ]); $spool->sendMail(); } catch (Exception $error) { $message = $error->getMessage(); } echo $message; break; }