function fetchEntity($moduleName, $recordId) { $adb = PearDatabase::getInstance(); $entityData = VTEntityData::fromEntityId($adb, $recordId); if ($moduleName == 'HelpDesk') { $entityData->set('comments', getTicketComments($recordId)); } self::$newEntity[$moduleName][$recordId] = $entityData; }
public static function getTicketEmailContents($entityData) { $adb = PearDatabase::getInstance(); $moduleName = $entityData->getModuleName(); $wsId = $entityData->getId(); $parts = explode('x', $wsId); $entityId = $parts[1]; $isNew = $entityData->isNew(); if (!$isNew) { $reply = getTranslatedString("replied", $moduleName); $temp = getTranslatedString("Re", $moduleName); } else { $reply = getTranslatedString("created", $moduleName); $temp = " "; } $wsParentId = $entityData->get('parent_id'); $parentIdParts = explode('x', $wsParentId); $parentId = $parentIdParts[1]; $desc = getTranslatedString('Ticket ID', $moduleName) . ' : ' . $entityId . '<br>' . getTranslatedString('Ticket Title', $moduleName) . ' : ' . $temp . ' ' . $entityData->get('ticket_title'); $desc .= "<br><br>" . getTranslatedString('Hi', $moduleName) . " " . getParentName($parentId) . ",<br><br>" . getTranslatedString('LBL_PORTAL_BODY_MAILINFO', $moduleName) . " " . $reply . " " . getTranslatedString('LBL_DETAIL', $moduleName) . "<br>"; $desc .= "<br>" . getTranslatedString('Ticket No', $moduleName) . " : " . $entityData->get('ticket_no'); $desc .= "<br>" . getTranslatedString('Status', $moduleName) . " : " . $entityData->get('ticketstatus'); $desc .= "<br>" . getTranslatedString('Category', $moduleName) . " : " . $entityData->get('ticketcategories'); $desc .= "<br>" . getTranslatedString('Severity', $moduleName) . " : " . $entityData->get('ticketseverities'); $desc .= "<br>" . getTranslatedString('Priority', $moduleName) . " : " . $entityData->get('ticketpriorities'); $desc .= "<br><br>" . getTranslatedString('Description', $moduleName) . " : <br>" . $entityData->get('description'); $desc .= "<br><br>" . getTranslatedString('Solution', $moduleName) . " : <br>" . $entityData->get('solution'); $desc .= getTicketComments($entityId); $sql = "SELECT * FROM vtiger_ticketcf WHERE ticketid = ?"; $result = $adb->pquery($sql, array($entityId)); $cffields = $adb->getFieldsArray($result); foreach ($cffields as $cfOneField) { if ($cfOneField != 'ticketid') { $cfData = $adb->query_result($result, 0, $cfOneField); $sql = "SELECT fieldlabel FROM vtiger_field WHERE columnname = ? and vtiger_field.presence in (0,2)"; $cfLabel = $adb->query_result($adb->pquery($sql, array($cfOneField)), 0, 'fieldlabel'); $desc .= '<br><br>' . $cfLabel . ' : <br>' . $cfData; } } // end of contribution $desc .= '<br><br><br>'; $desc .= '<br>' . getTranslatedString("LBL_REGARDS", $moduleName) . ',<br>' . getTranslatedString("LBL_TEAM", $moduleName) . '.<br>'; return $desc; }
public static function getTicketEmailContents($entityData, $toOwner = false) { global $HELPDESK_SUPPORT_NAME; $adb = PearDatabase::getInstance(); $moduleName = $entityData->getModuleName(); $wsId = $entityData->getId(); if (strpos($wsId, 'x')) { $parts = explode('x', $wsId); $entityId = $parts[1]; } else { $entityId = $wsId; } $isNew = $entityData->isNew(); if (!$isNew) { $reply = getTranslatedString("replied", $moduleName); $temp = getTranslatedString("Re", $moduleName); } else { $reply = getTranslatedString("created", $moduleName); $temp = " "; } $wsParentId = $entityData->get('contact_id'); $parentIdParts = explode('x', $wsParentId); // If this function is being triggered as part of Eventing API // Then the reference field ID will not matching the webservice format. // Regardless of the entry we need just the ID $parentId = array_pop($parentIdParts); $desc = getTranslatedString('Ticket ID', $moduleName) . ' : ' . $entityId . '<br>' . getTranslatedString('Ticket Title', $moduleName) . ' : ' . $temp . ' ' . $entityData->get('ticket_title'); $name = !$toOwner ? getParentName($parentId) : ''; $desc .= "<br><br>" . getTranslatedString('Hi', $moduleName) . " " . $name . ",<br><br>" . getTranslatedString('LBL_PORTAL_BODY_MAILINFO', $moduleName) . " " . $reply . " " . getTranslatedString('LBL_DETAIL', $moduleName) . "<br>"; $desc .= "<br>" . getTranslatedString('Ticket No', $moduleName) . " : " . $entityData->get('ticket_no'); $desc .= "<br>" . getTranslatedString('Status', $moduleName) . " : " . $entityData->get('ticketstatus'); $desc .= "<br>" . getTranslatedString('Category', $moduleName) . " : " . $entityData->get('ticketcategories'); $desc .= "<br>" . getTranslatedString('Severity', $moduleName) . " : " . $entityData->get('ticketseverities'); $desc .= "<br>" . getTranslatedString('Priority', $moduleName) . " : " . $entityData->get('ticketpriorities'); $desc .= "<br><br>" . getTranslatedString('Description', $moduleName) . " : <br>" . $entityData->get('description'); $desc .= "<br><br>" . getTranslatedString('Solution', $moduleName) . " : <br>" . $entityData->get('solution'); $desc .= getTicketComments($entityId); $sql = "SELECT * FROM vtiger_ticketcf WHERE ticketid = ?"; $result = $adb->pquery($sql, array($entityId)); $cffields = $adb->getFieldsArray($result); foreach ($cffields as $cfOneField) { if ($cfOneField != 'ticketid' && $cfOneField != 'from_portal') { $cfData = $adb->query_result($result, 0, $cfOneField); $sql = "SELECT fieldlabel FROM vtiger_field WHERE columnname = ? and vtiger_field.presence in (0,2)"; $cfLabel = $adb->query_result($adb->pquery($sql, array($cfOneField)), 0, 'fieldlabel'); $desc .= '<br>' . $cfLabel . ' : ' . $cfData; } } $desc .= '<br><br>' . getTranslatedString("LBL_REGARDS", $moduleName) . ',<br>' . $HELPDESK_SUPPORT_NAME; return $desc; }
function getTicket($id) { global $db; $query_ticket = "SELECT\r\n `access`,\r\n `area`,\r\n `changed`,\r\n `changer`,\r\n `created`,\r\n `creator`,\r\n `comments` AS `comments_id`,\r\n `contractor`,\r\n `deadline`,\r\n `description`,\r\n `id`,\r\n `parent`,\r\n `performers`,\r\n `status`,\r\n `tags`,\r\n `title`,\r\n `rate`\r\n FROM helpdesk WHERE `id`={$id}"; if ($query_ticket_res = $db->query($query_ticket)) { $result = $db->fetch_assoc($query_ticket_res); $result['tags'] = $result['tags'] > 0 ? explode(",", $result['tags']) : 0; } $result['comments'] = getTicketComments($id, $result['comments_id']); return $result; }
function getTicketDetails($id, $whole_date) { global $adb, $mod_strings; if ($whole_date['mode'] == 'edit') { $reply = $mod_strings["replied"]; $temp = $mod_strings["Re"]; } else { $reply = $mod_strings["created"]; $temp = " "; } $desc = $mod_strings['Ticket ID'] . ' : ' . $id . '<br>' . $mod_strings['Ticket Title'] . ' : ' . $temp . ' ' . $whole_date['sub']; $desc .= "<br><br>" . $mod_strings['Hi'] . " " . $whole_date['parent_name'] . ",<br><br>" . $mod_strings['LBL_PORTAL_BODY_MAILINFO'] . " " . $reply . " " . $mod_strings['LBL_DETAIL'] . "<br>"; $desc .= "<br>" . $mod_strings['Ticket No'] . " : " . $whole_date['ticketno']; $desc .= "<br>" . $mod_strings['Status'] . " : " . $whole_date['status']; $desc .= "<br>" . $mod_strings['Category'] . " : " . $whole_date['category']; $desc .= "<br>" . $mod_strings['Severity'] . " : " . $whole_date['severity']; $desc .= "<br>" . $mod_strings['Priority'] . " : " . $whole_date['priority']; $desc .= "<br><br>" . $mod_strings['Description'] . " : <br>" . $whole_date['description']; $desc .= "<br><br>" . $mod_strings['Solution'] . " : <br>" . $whole_date['solution']; $desc .= getTicketComments($id); $sql = "SELECT * FROM vtiger_ticketcf WHERE ticketid = ?"; $result = $adb->pquery($sql, array($id)); $cffields = $adb->getFieldsArray($result); foreach ($cffields as $cfOneField) { if ($cfOneField != 'ticketid') { $cfData = $adb->query_result($result, 0, $cfOneField); $sql = "SELECT fieldlabel FROM vtiger_field WHERE columnname = ? and vtiger_field.presence in (0,2)"; $cfLabel = $adb->query_result($adb->pquery($sql, array($cfOneField)), 0, 'fieldlabel'); $desc .= '<br><br>' . $cfLabel . ' : <br>' . $cfData; } } // end of contribution $desc .= '<br><br><br>'; $desc .= '<br>' . $mod_strings["LBL_REGARDS"] . ',<br>' . $mod_strings["LBL_TEAM"] . '.<br>'; return $desc; }
$rating = check_string($_REQUEST['rating'], 'digits'); $result = rateTicket($admin_login["uid"], $ticket, $rating); break; case "changeTicketStatus": $ticket = check_string($_REQUEST['ticket'], 'digits'); $status = check_string($_REQUEST['status'], 'digits'); $result = changeTicketStatus($admin_login["uid"], $ticket, $status); break; case 'reloadComments': require_once "../vendor/autoload.php"; Twig_Autoloader::register(); $loader = new Twig_Loader_Filesystem("../templates/helpdesk"); $twig = new Twig_Environment($loader, array("cache" => "")); $c['users'] = getUsers(); $c['uid'] = $admin_id; $ticket_id = check_string($_REQUEST['ticket_id'], 'digits'); $hide_autocomments = check_string($_REQUEST['hide_autocomments'], 'text'); $c['ticket']['comments'] = getTicketComments($ticket_id); $template = $hide_autocomments == 0 ? 'ticket_edit_comments.twig' : 'client/ticket_view_comments.twig'; $result['comments_block'] = $twig->render($template, $c); $result['success'] = true; unset($result['msg']); break; } } /* Возвращаем результат также в виде JSON-объекта. * В случае безошибочного получения результата, * Делаем $result['success'] = true; * Остальные параметры - опциональные * */ print_r(json_encode($result));