Clean and format the code - refs #6715

1.9.x
Francis Gonzales 12 years ago
parent 3f48c74861
commit 22d990a86e
  1. 6
      plugin/ticket/lang/spanish.php
  2. 28
      plugin/ticket/src/course_user_list.php
  3. 7
      plugin/ticket/src/myticket.php
  4. 64
      plugin/ticket/src/new_ticket.php
  5. 136
      plugin/ticket/src/report.php
  6. 27
      plugin/ticket/src/send_ticket.php
  7. 263
      plugin/ticket/src/ticket.class.php

@ -65,7 +65,5 @@ $strings['SrcPhone'] = "Telefono";
$strings['SrcPresential'] = "Presencial";
//
$strings['TckAssignedMsg'] = "<p>Estimado(a):</p><p> ? ? </p>
<p>Se le ha sido asignado el ticket ? <a href=\"?\">Ticket</a></p>
<p>Mensaje enviado desde el sistema de ticket.</p>";
$strings['TicketAssignedMsg'] = "<p>Estimado(a) %s </p><p>Se le ha sido asignado el <a href=\"%s\">ticket %s</a></p><p>Mensaje enviado desde el sistema de ticket.</p>";
$strings['TicketAssignX'] = "[TICKETS] Asignacion de Ticket #%s ";

@ -16,20 +16,20 @@ $user_info = api_get_user_info($user_id);
$courses_list = CourseManager::get_courses_list_by_user_id($user_id, false, true);
?>
<div class="row">
<div class="label2"><?php echo get_lang('User')?>:</div>
<div class="formw2" id="user_request"><?php echo $user_info['firstname']." ".$user_info['lastname'] ;?></div>
<div class="label2"><?php echo get_lang('User') ?>:</div>
<div class="formw2" id="user_request"><?php echo $user_info['firstname'] . " " . $user_info['lastname']; ?></div>
</div>
<div class="row" id="divCourse">
<div class="label2"><?php echo get_lang('Course')?>:</div>
<div class="formw2" id="courseuser">
<select class="chzn-select" name = "course_id" id="course_id" style="width:95%;">
<option value="0">---<?php echo get_lang('Select')?>---</option>
<?php
foreach ($courses_list as $key => $course) {
$courseinfo = CourseManager::get_course_information($course['code']);
echo '<option value="'. $courseinfo['code'].'"> '.$courseinfo['title'].'</option>';
}
?>
</select>
</div>
<div class="label2"><?php echo get_lang('Course') ?>:</div>
<div class="formw2" id="courseuser">
<select class="chzn-select" name = "course_id" id="course_id" style="width:95%;">
<option value="0">---<?php echo get_lang('Select') ?>---</option>
<?php
foreach ($courses_list as $key => $course) {
$courseinfo = CourseManager::get_course_information($course['code']);
echo '<option value="' . $courseinfo['code'] . '"> ' . $courseinfo['title'] . '</option>';
}
?>
</select>
</div>
</div>

@ -190,7 +190,12 @@ if ($isAdmin) {
$renderer->setElementTemplate('<span>{element}</span> ');
$form->addElement('text', 'keyword', get_lang('keyword'), 'size="25"');
$form->addElement('style_submit_button', 'submit_simple', get_lang('Search'), 'class="search"');
$form->addElement('static', 'search_advanced_link', null, '<a href="javascript://" class = "advanced_parameters" onclick="display_advanced_search_form();"><span id="img_plus_and_minus">&nbsp;' . Display::return_icon('div_show.gif', get_lang('Show'), array('style' => 'vertical-align:middle')) . ' ' . get_lang('AdvancedSearch') . '</span></a>');
$form->addElement('static', 'search_advanced_link', null,
'<a href="javascript://" class = "advanced_parameters" onclick="display_advanced_search_form();">'
. '<span id="img_plus_and_minus">&nbsp;'
. Display::return_icon('div_show.gif', get_lang('Show'),
array('style' => 'vertical-align:middle')) . ' '
. get_lang('AdvancedSearch') . '</span></a>');
echo '<div class="actions" style="width:100%;">';
if (api_is_platform_admin()) {

@ -108,7 +108,6 @@ function add_image_form() {
id_elem1 = "filepath_"+counter_image;
id_elem1 = "\'"+id_elem1+"\'";
document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<a href=\"javascript:remove_image_form("+id_elem1+")\"><img src=\"' . api_get_path(WEB_CODE_PATH) . 'img/delete.gif\"></a>";
//document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<input type=\"text\" name=\"legend[]\" size=\"20\" />";
if (filepaths.childNodes.length == 6) {
var link_attach = document.getElementById("link-more-attach");
if (link_attach) {
@ -329,8 +328,9 @@ function save_ticket()
global $plugin;
$category_id = $_POST['category_id'];
$content = $_POST['content'];
if ($_POST['phone'] != "")
if ($_POST['phone'] != "") {
$content.= '<p style="color:red">&nbsp;' . get_lang('Phone') . ': ' . $_POST['phone'] . '</p>';
}
$course_id = $_POST['course_id'];
$project_id = $_POST['project_id'];
$subject = $_POST['subject'];
@ -342,8 +342,13 @@ function save_ticket()
$priority = $_POST['priority_id'];
$status = $_POST['status_id'];
$file_attachments = $_FILES;
if (TicketManager::insert_new_ticket($category_id, $course_id, $project_id, $other_area, $email, $subject, $content, $personal_email, $file_attachments, $source, $priority, $status, $user_id, api_get_user_id())) {
header('location:' . api_get_path(WEB_PLUGIN_PATH) . PLUGIN_NAME . '/s/myticket.php?message=success');
if (TicketManager::insert_new_ticket(
$category_id, $course_id, $project_id,
$other_area, $email, $subject, $content,
$personal_email, $file_attachments,
$source, $priority, $status, $user_id,
api_get_user_id())) {
header('location:' . api_get_path(WEB_PLUGIN_PATH) . PLUGIN_NAME . '/src/myticket.php?message=success');
} else {
Display::display_header(get_lang('ComposeMessage'));
Display::display_error_message($plugin->get_lang('ErrorRegisterMessage'));
@ -364,7 +369,13 @@ function get_number_of_users()
}
if (isset($_GET['keyword'])) {
$keyword = Database::escape_string(trim($_GET['keyword']));
$sql .= " WHERE (u.firstname LIKE '%" . $keyword . "%' OR u.lastname LIKE '%" . $keyword . "%' OR concat(u.firstname,' ',u.lastname) LIKE '%" . $keyword . "%' OR concat(u.lastname,' ',u.firstname) LIKE '%" . $keyword . "%' OR u.username LIKE '%" . $keyword . "%' OR u.email LIKE '%" . $keyword . "%' OR u.official_code LIKE '%" . $keyword . "%') ";
$sql .= " WHERE (u.firstname LIKE '%$keyword%' OR
u.lastname LIKE '%$keyword%' OR
concat(u.firstname,' ',u.lastname) LIKE '%$keyword%' OR
concat(u.lastname,' ',u.firstname) LIKE '%$keyword%' OR
u.username LIKE '%$keyword%' OR
u.email LIKE '%$keyword%' OR
u.official_code LIKE '%$keyword%') ";
}
$res = Database::query($sql);
$obj = Database::fetch_object($res);
@ -383,23 +394,36 @@ function get_user_data($from, $number_of_items, $column, $direction)
{
$user_table = Database :: get_main_table(TABLE_MAIN_USER);
$admin_table = Database :: get_main_table(TABLE_MAIN_ADMIN);
if (api_is_western_name_order()) {
$col34 = "u.firstname AS col3,
u.lastname AS col4,";
} else {
$col34 = "u.lastname AS col3,
u.firstname AS col4,";
}
$sql = "SELECT
u.user_id AS col0,
u.official_code AS col2,
" . (api_is_western_name_order() ? "u.firstname AS col3,
u.lastname AS col4," : "u.lastname AS col3,
u.firstname AS col4,") . "
u.username AS col5,
u.email AS col6,
u.status AS col7,
u.active AS col8,
u.user_id AS col9 " .
", u.expiration_date AS exp " .
" FROM $user_table u ";
u.user_id AS col0,
u.official_code AS col2,
$col34
u.username AS col5,
u.email AS col6,
u.status AS col7,
u.active AS col8,
u.user_id AS col9 ,
u.expiration_date AS exp
FROM $user_table u ";
if (isset($_GET['keyword'])) {
$keyword = Database::escape_string(trim($_GET['keyword']));
$sql .= " WHERE (u.firstname LIKE '%" . $keyword . "%' OR u.lastname LIKE '%" . $keyword . "%' OR concat(u.firstname,' ',u.lastname) LIKE '%" . $keyword . "%' OR concat(u.lastname,' ',u.firstname) LIKE '%" . $keyword . "%' OR u.username LIKE '%" . $keyword . "%' OR u.official_code LIKE '%" . $keyword . "%' OR u.email LIKE '%" . $keyword . "%' )";
$sql .= " WHERE (u.firstname LIKE '%$keyword%' OR
u.lastname LIKE '%$keyword%' OR
concat(u.firstname,' ',u.lastname) LIKE '%$keyword%' OR
concat(u.lastname,' ',u.firstname) LIKE '%$keyword%' OR
u.username LIKE '%$keyword%' OR
u.official_code LIKE '%$keyword%' OR
u.email LIKE '%$keyword%' )";
}
if (!in_array($direction, array('ASC', 'DESC'))) {
$direction = 'ASC';
@ -426,8 +450,8 @@ function get_user_data($from, $number_of_items, $column, $direction)
$user_id = $user[0];
$button = '<a href="' . api_get_self() . '?user_request=' . $user[0] . '">' . Display::return_icon('view_more_stats.gif', get_lang('Info')) . '</a>';
$button = '<a href="javascript:void(0)" onclick="load_course_list(\'div_' . $user_id . '\',' . $user_id . ')">
<img onclick="load_course_list(\'div_' . $user_id . '\',' . $user_id . ')" src="../../../main/img/view_more_stats.gif" title="' . get_lang('Courses') . '" alt="' . get_lang('Courses') . '"/>
</a>&nbsp;&nbsp;';
<img onclick="load_course_list(\'div_' . $user_id . '\',' . $user_id . ')" src="../../../main/img/view_more_stats.gif" title="' . get_lang('Courses') . '" alt="' . get_lang('Courses') . '"/>
</a>&nbsp;&nbsp;';
$users[] = array($photo, $user[1], $user[2], $user[3], $user[4], $user[5], $button);
}
return $users;

@ -26,19 +26,19 @@ unset($_SESSION['this_section']);
$htmlHeadXtra[] = '
<script language="javascript">
$(document).ready(function(){
$( "#keyword_start_date_start" ).datepicker({ dateFormat: ' . "'yy-mm-dd'" . ' });
$( "#keyword_start_date_end" ).datepicker({ dateFormat: ' . "'yy-mm-dd'" . ' });
$( "#keyword_start_date_start" ).datepicker({ dateFormat: ' . "'yy-mm-dd'" . ' });
$( "#keyword_start_date_end" ).datepicker({ dateFormat: ' . "'yy-mm-dd'" . ' });
});
function validate(){
if( $("#keyword_start_date_start").val() != "" && $("#keyword_start_date_end").val() != ""){
datestart = $("#keyword_start_date_start").val();
dateend = $("#keyword_start_date_end").val();
dif = $.datepicker.parseDate("dd/mm/yy", datestart) - $.datepicker.parseDate("dd/mm/yy", dateend);
if(dif > 0){
alert("La fecha final no puede ser mayor a la fecha inicial");
return false;
}
}
if( $("#keyword_start_date_start").val() != "" && $("#keyword_start_date_end").val() != ""){
datestart = $("#keyword_start_date_start").val();
dateend = $("#keyword_start_date_end").val();
dif = $.datepicker.parseDate("dd/mm/yy", datestart) - $.datepicker.parseDate("dd/mm/yy", dateend);
if(dif > 0){
alert("La fecha final no puede ser mayor a la fecha inicial");
return false;
}
}
}
function load_course_list (div_course,my_user_id) {
$.ajax({
@ -63,10 +63,10 @@ div.row div.formw2 {
width:90%;
float:left
}
div.formulario {
div.ticket-form {
width: 70%;
float: center;
margin-left: 15%;
float: center;
margin-left: 15%;
}
@ -91,17 +91,23 @@ $tools['quiz'] = array('id' => 'quiz', 'name' => get_lang('Quiz'));
$tools['student_publication'] = array('id' => 'student_publication', 'name' => get_lang('Student_publication'));
$tools['user'] = array('id' => 'user', 'name' => get_lang('User'));
$tools['forum'] = array('id' => 'forum', 'name' => get_lang('Forum'));
/**
* Returns the escaped string.
* @param string $s
* @return string
*/
function js_str($s)
{
return '"' . addcslashes($s, "\0..\37\"\\") . '"';
}
/**
* This function is to show the ticket form
* @global array $tools
*/
function show_form()
{
global $types;
global $tools;
echo '<div class="formulario">';
echo '<div class="ticket-form">';
echo '<form enctype="multipart/form-data" action="' . api_get_self() . '" method="post" name="send_ticket" id="send_ticket"
onsubmit="return validate()" style="width:100%">';
@ -111,10 +117,10 @@ function show_form()
echo $select_course;
//select status
$select_tool = '<div class="row" >
<div class="label2" >Herramienta:</div>
<div class="label2" >' . get_lang('Tool') .':</div>
<div class="formw2">';
$select_tool .= '<select style="width: 95%; " name = "tool" id="tool" >';
$status = TicketManager::get_all_tickets_status();
foreach ($tools as $tool) {
$select_tool .= "<option value = '" . $tool['id'] . "' selected >" . $tool['name'] . "</option>";
}
@ -122,19 +128,19 @@ function show_form()
$select_tool .= '</div></div>';
echo $select_tool;
echo '<div class="row">
<div class="label2">Desde:</div>
<div class="formw2"><input id="keyword_start_date_start" name="keyword_start_date_start" type="text"></div>
</div>
<div class="row">
<div class="label2">Hasta</div>
<div class="formw2"><input id="keyword_start_date_end" name="keyword_start_date_end" type="text"></div>
</div>';
<div class="label2">' . get_lang('From') . ':</div>
<div class="formw2"><input id="keyword_start_date_start" name="keyword_start_date_start" type="text"></div>
</div>
<div class="row">
<div class="label2"> ' . get_lang('To') . '</div>
<div class="formw2"><input id="keyword_start_date_end" name="keyword_start_date_end" type="text"></div>
</div>';
echo '</div>';
echo '<div class="row">
<div class="label2">
</div>
<div class="formw2">
<button class="save" name="report" type="submit" id="btnsubmit" disabled="disabled">Generar Reporte</button>
<button class="save" name="report" type="submit" id="btnsubmit" disabled="disabled">' . get_lang('CompleteReport') .'</button>
</div>
</div>';
}
@ -153,7 +159,13 @@ function get_number_of_users()
}
if (isset($_GET['keyword'])) {
$keyword = Database::escape_string(trim($_GET['keyword']));
$sql .= " WHERE (u.firstname LIKE '%" . $keyword . "%' OR u.lastname LIKE '%" . $keyword . "%' OR concat(u.firstname,' ',u.lastname) LIKE '%" . $keyword . "%' OR concat(u.lastname,' ',u.firstname) LIKE '%" . $keyword . "%' OR u.username LIKE '%" . $keyword . "%' OR u.email LIKE '%" . $keyword . "%' OR u.official_code LIKE '%" . $keyword . "%') ";
$sql .= " WHERE (u.firstname LIKE '%$keyword%' OR
u.lastname LIKE '%$keyword%' OR
concat(u.firstname,' ',u.lastname) LIKE '%$keyword%' OR
concat(u.lastname,' ',u.firstname) LIKE '%$keyword%' OR
u.username LIKE '%$keyword%' OR
u.email LIKE '%$keyword %' OR
u.official_code LIKE '%$keyword%') ";
}
$res = Database::query($sql);
$obj = Database::fetch_object($res);
@ -172,23 +184,36 @@ function get_user_data($from, $number_of_items, $column, $direction)
{
$user_table = Database :: get_main_table(TABLE_MAIN_USER);
$admin_table = Database :: get_main_table(TABLE_MAIN_ADMIN);
if (api_is_western_name_order()) {
$col34 = "u.firstname AS col3,
u.lastname AS col4,";
} else {
$col34 = "u.lastname AS col3,
u.firstname AS col4,";
}
$sql = "SELECT
u.user_id AS col0,
u.official_code AS col2,
" . (api_is_western_name_order() ? "u.firstname AS col3,
u.lastname AS col4," : "u.lastname AS col3,
u.firstname AS col4,") . "
u.username AS col5,
u.email AS col6,
u.status AS col7,
u.active AS col8,
u.user_id AS col9 " .
", u.expiration_date AS exp " .
" FROM $user_table u ";
u.user_id AS col0,
u.official_code AS col2,
$col34
u.username AS col5,
u.email AS col6,
u.status AS col7,
u.active AS col8,
u.user_id AS col9,
u.expiration_date AS exp
FROM $user_table u ";
if (isset($_GET['keyword'])) {
$keyword = Database::escape_string(trim($_GET['keyword']));
$sql .= " WHERE (u.firstname LIKE '%" . $keyword . "%' OR u.lastname LIKE '%" . $keyword . "%' OR concat(u.firstname,' ',u.lastname) LIKE '%" . $keyword . "%' OR concat(u.lastname,' ',u.firstname) LIKE '%" . $keyword . "%' OR u.username LIKE '%" . $keyword . "%' OR u.official_code LIKE '%" . $keyword . "%' OR u.email LIKE '%" . $keyword . "%' )";
$sql .= " WHERE (u.firstname LIKE '%$keyword%' OR
u.lastname LIKE '%$keyword%' OR
concat(u.firstname,' ',u.lastname) LIKE '%$keyword%' OR
concat(u.lastname,' ',u.firstname) LIKE '%$keyword%' OR
u.username LIKE '%$keyword%' OR
u.official_code LIKE '%$keyword%'
OR u.email LIKE '%$keyword%' )";
}
if (!in_array($direction, array('ASC', 'DESC'))) {
$direction = 'ASC';
@ -203,7 +228,6 @@ function get_user_data($from, $number_of_items, $column, $direction)
$res = Database::query($sql);
$users = array();
$t = time();
while ($user = Database::fetch_row($res)) {
$image_path = UserManager::get_user_picture_path_by_id($user[0], 'web', false, true);
$user_profile = UserManager::get_picture_user($user[0], $image_path['file'], 22, USER_IMAGE_SIZE_SMALL, ' width="22" height="22" ');
@ -254,15 +278,21 @@ if (isset($_POST['report'])) {
$tool = $_POST['tool'];
$course_info = api_get_course_info_by_id($course_id);
$user_id = $_POST['user_id_request'];
$sql = "SELECT u.username , CONCAT(u.lastname, ' ', u.firstname) AS fullname, DATE_SUB(access.access_date,INTERVAL 5 HOUR) AS access_date, c.title AS curso, access_tool AS herramienta
$sql = "SELECT
u.username , CONCAT(u.lastname, ' ', u.firstname) AS fullname,
DATE_SUB(access.access_date,INTERVAL 5 HOUR) AS access_date,
c.title AS course, access_tool AS tool
FROM " . Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ACCESS) . " access
LEFT JOIN " . Database::get_main_table(TABLE_MAIN_USER) . " u ON access.access_user_id = u.user_id
LEFT JOIN " . Database::get_main_table(TABLE_MAIN_COURSE) . " c ON access.access_cours_code = c.CODE
WHERE access.access_cours_code = '" . $course_info['code'] . "' AND u.user_id = '$user_id' ";
if ($tool != '')
if ($tool != '') {
$sql.="AND access.access_tool = '$tool' ";
}
$start_date = $_POST['keyword_start_date_start'];
$end_date = $_POST['keyword_start_date_end'];
if ($start_date != '' || $end_date != '') {
$sql .= " HAVING ";
if ($start_date != '')
@ -276,11 +306,17 @@ if (isset($_POST['report'])) {
$table_result = new SortableTable();
$table_result->set_header(0, get_lang('User'), false);
$table_result->set_header(1, get_lang('Fullname'), false);
$table_result->set_header(2, get_lang('Fecha'), false);
$table_result->set_header(3, get_lang('curso'), false);
$table_result->set_header(4, get_lang('Herramienta'), false);
$table_result->set_header(2, get_lang('Date'), false);
$table_result->set_header(3, get_lang('Course'), false);
$table_result->set_header(4, get_lang('Tool'), false);
while ($row = Database::fetch_assoc($result)) {
$row = array(0 => $row['username'], 1 => $row['fullname'], 2 => $row['access_date'], 3 => $row['curso'], 4 => get_lang($tools[$row['herramienta']]['name']));
$row = array(
$row['username'],
$row['fullname'],
$row['access_date'],
$row['course'],
get_lang($tools[$row['tool']]['name'])
);
$table_result->addRow($row);
}
$table_result->display();
@ -288,6 +324,4 @@ if (isset($_POST['report'])) {
show_form();
}
Display::display_footer();

@ -91,7 +91,6 @@ function add_image_form() {
id_elem1 = "filepath_"+counter_image;
id_elem1 = "\'"+id_elem1+"\'";
document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<a href=\"javascript:remove_image_form("+id_elem1+")\"><img src=\"' . api_get_path(WEB_CODE_PATH) . 'img/delete.gif\"></a>";
//document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<input type=\"text\" name=\"legend[]\" size=\"20\" />";
if (filepaths.childNodes.length == 6) {
var link_attach = document.getElementById("link-more-attach");
if (link_attach) {
@ -138,14 +137,26 @@ $htmlHeadXtra[] = '<script language="javascript">
$htmlHeadXtra[] = '<script src="' . api_get_path(WEB_LIBRARY_PATH) . 'javascript/tag/jquery.fcbkcomplete.js" type="text/javascript" language="javascript"></script>';
$htmlHeadXtra[] = '<link href="' . api_get_path(WEB_LIBRARY_PATH) . 'javascript/tag/style.css" rel="stylesheet" type="text/css" />';
/**
* @todo Delete this function, it already exists in report.php
* @param string $s
* @return string
*/
function js_str($s)
{
return '"' . addcslashes($s, "\0..\37\"\\") . '"';
}
/**
* This is a javascript helper to generate and array
* @param array $array
* @param string $name
* @param integer $key
* @return string
*/
function js_array($array, $name, $key)
{
$temp = array();
$return = "new Array(); ";
foreach ($array as $value) {
$return .= $name . "['" . $value['category_id'] . "'] ='" . $value[$key] . "'; ";
@ -153,6 +164,11 @@ function js_array($array, $name, $key)
return $return;
}
/**
*
* @global array $types
* @global object $plugin
*/
function show_form_send_ticket()
{
global $types, $plugin;
@ -227,9 +243,12 @@ function show_form_send_ticket()
</div>';
echo '</form></div>';
}
/**
* Save ticke function
*/
function save_ticket()
{
global $plugin;
$category_id = $_POST['category_id'];
$content = $_POST['content'];
if ($_POST['phone'] != "")
@ -242,7 +261,7 @@ function save_ticket()
$personal_email = $_POST['personal_email'];
$file_attachments = $_FILES;
if (TicketManager::insert_new_ticket($category_id, $course_id, $project_id, $other_area, $email, $subject, $content, $personal_email, $file_attachments)) {
header('location:' . api_get_path(WEB_PLUGIN_PATH) . PLUGIN_NAME . '/s/myticket.php?message=success');
header('location:' . api_get_path(WEB_PLUGIN_PATH) . PLUGIN_NAME . '/src/myticket.php?message=success');
} else {
Display::display_header(get_lang('ComposeMessage'));
Display::display_error_message($plugin->get_lang('ErrorRegisterMessage'));

@ -80,7 +80,10 @@ class TicketManager
* @return bool
*/
public static function insert_new_ticket(
$category_id, $course_id, $project_id, $other_area, $email, $subject, $content, $personalEmail = "", $file_attachments, $source = 'VRT', $priority = 'NRM', $status = '', $request_user = '', $assigned_user = 0
$category_id, $course_id, $project_id, $other_area, $email,
$subject, $content, $personalEmail = "", $file_attachments,
$source = 'VRT', $priority = 'NRM', $status = '',
$request_user = '', $assigned_user = 0
)
{
$table_support_tickets = Database::get_main_table(TABLE_TICKET_TICKET);
@ -130,14 +133,14 @@ class TicketManager
'$request_user',
'$personalEmail',
'$status',
'" . $now . "',
'$now',
$user_id,
'" . $now . "',
'$now',
'$user_id',
'" . $now . "',
'$now',
'$source'
)";
$result = Database::query($sql_insert_ticket);
Database::query($sql_insert_ticket);
$ticket_id = Database::insert_id();
if ($assigned_user != 0) {
self::assign_ticket_user($ticket_id, $assigned_user);
@ -147,11 +150,13 @@ class TicketManager
(int) $ticket_id, 11, "0", STR_PAD_LEFT
);
$sql_update_code = "UPDATE $table_support_tickets
SET ticket_code = '$ticket_code' WHERE ticket_id = '$ticket_id'";
SET ticket_code = '$ticket_code'
WHERE ticket_id = '$ticket_id'";
Database::query($sql_update_code);
$data_files = array();
$sql_update_total = "UPDATE $table_support_category
SET total_tickets = total_tickets +1 WHERE category_id = '$category_id';";
SET total_tickets = total_tickets +1
WHERE category_id = '$category_id';";
Database::query($sql_update_total);
if (self::insert_message($ticket_id, $subject, $content, $file_attachments, $request_user)) {
global $data_files;
@ -160,8 +165,7 @@ class TicketManager
$helpDeskMessage = '<table>
<tr>
<td width="100px"><b>' . get_lang('User') . '</b></td>
<td width="400px">' . $user['firstname']
. ' ' . $user['lastname'] . '</td>
<td width="400px">' . $user['firstname']. ' ' . $user['lastname'] . '</td>
</tr>
<tr>
<td width="100px"><b>' . get_lang('Username') . '</b></td>
@ -207,6 +211,7 @@ class TicketManager
*/
public static function assign_ticket_user($ticket_id, $user_id)
{
global $plugin;
$ticket_id = intval($ticket_id);
$user_id = intval($user_id);
$table_support_tickets = Database::get_main_table(TABLE_TICKET_TICKET);
@ -214,8 +219,8 @@ class TicketManager
$now = api_get_utc_datetime();
$sql_update = "UPDATE $table_support_tickets
SET assigned_last_user = '$user_id'
WHERE ticket_id = '$ticket_id'";
SET assigned_last_user = '$user_id'
WHERE ticket_id = '$ticket_id'";
Database::query($sql_update);
if (Database::affected_rows() > 0) {
$insert_id = api_get_user_id();
@ -235,12 +240,11 @@ class TicketManager
if ($insert_id != $user_id) {
$info = api_get_user_info($user_id);
$sender = api_get_user_info($insert_id);
$message = '<p>Estimado(a):</p><p>' . $info['firstname'] . " " . $info['lastname'] . "</p>
<p>Te asignaron el ticket $ticket_id " . '<a href="' . api_get_path(
WEB_PLUGIN_PATH
) . PLUGIN_NAME . '/src/ticket_details.php?ticket_id=' . $ticket_id . '">Ticket</a></p>';
$href = api_get_path(WEB_PLUGIN_PATH) . PLUGIN_NAME . '/src/ticket_details.php?ticket_id=' . $ticket_id;
$message = sprintf($plugin->get_lang('TicketAssignedMsg'), $info['complete_name'], $href, $ticket_id);
$mailTitle = sprintf($plugin->get_lang('TicketAssignX'), $ticket_id);
api_mail_html(
$info['firstname'] . " " . $info['lastname'], $info['mail'], "[TICKETS] Asignacion de Ticket #$ticket_id ", $message, null, // sender name
$info['complete_name'], $info['mail'], $mailTitle, $message, null, // sender name
null, // sender e-mail
array('cc' => $sender['email']) // should be support e-mail (platform admin) here
);
@ -276,18 +280,18 @@ class TicketManager
$table_support_message_attachments = Database::get_main_table(TABLE_TICKET_MESSAGE_ATTACHMENTS);
if ($sendConfirmation) {
$form = '<form action="ticket_details.php?ticket_id=' . $ticket_id . '" id="confirmticket" method="POST" >
<p>' . get_lang('TicketWasThisAnswerSatisfying') . '</p>
<input id="responseyes" type="submit" value="' . get_lang('Yes') . '" name="response" />
<input id="responseno" type="submit" value="' . get_lang('No') . '" name="response" />
</form>';
<p>' . get_lang('TicketWasThisAnswerSatisfying') . '</p>
<input id="responseyes" type="submit" value="' . get_lang('Yes') . '" name="response" />
<input id="responseno" type="submit" value="' . get_lang('No') . '" name="response" />
</form>';
$content .= $form;
Database::query(
"UPDATE $table_support_tickets SET status_id='XCF' WHERE ticket_id = '$ticket_id'"
);
}
$sql_message_id = "SELECT COUNT(*) as total_messages
FROM $table_support_messages
WHERE ticket_id ='$ticket_id'";
FROM $table_support_messages
WHERE ticket_id ='$ticket_id'";
$result = Database::query($sql_message_id);
$obj = Database::fetch_object($result);
$message_id = $obj->total_messages + 1;
@ -318,18 +322,18 @@ class TicketManager
)";
Database::query($sql_insert_message);
$sql_update_total_message = "UPDATE $table_support_tickets
SET sys_lastedit_user_id ='$user_id',
sys_lastedit_datetime ='$now',
total_messages = (
SELECT COUNT(*) as total_messages
FROM $table_support_messages
WHERE ticket_id ='$ticket_id'
) WHERE ticket_id ='$ticket_id' ";
SET sys_lastedit_user_id ='$user_id',
sys_lastedit_datetime ='$now',
total_messages = (
SELECT COUNT(*) as total_messages
FROM $table_support_messages
WHERE ticket_id ='$ticket_id'
) WHERE ticket_id ='$ticket_id' ";
Database::query($sql_update_total_message);
$sql_message_att_id = "SELECT COUNT(*) as total_attach
FROM $table_support_message_attachments
WHERE ticket_id ='$ticket_id' AND message_id = '$message_id'";
FROM $table_support_message_attachments
WHERE ticket_id ='$ticket_id' AND message_id = '$message_id'";
$result = Database::query($sql_message_att_id);
$obj = Database::fetch_object($result);
@ -473,8 +477,8 @@ class TicketManager
$table_support_category cat,
$table_support_priority priority,
$table_support_status status,
" . Database::get_main_table(TABLE_MAIN_USER) . " user,
tck_message msg
$table_main_user user,
$table_support_messages msg
WHERE cat.category_id = ticket.category_id
AND ticket.priority_id = priority.priority_id
AND ticket.status_id = status.status_id
@ -536,7 +540,13 @@ class TicketManager
$sql .= " AND ticket.category_id = '$keyword_category' ";
}
if ($keyword_request_user != '') {
$sql .= " AND (ticket.request_user = '$keyword_request_user' OR user.firstname LIKE '%" . $keyword_request_user . "%' OR user.official_code LIKE '%" . $keyword_request_user . "%' OR user.lastname LIKE '%" . $keyword_request_user . "%' OR concat(user.firstname,' ',user.lastname) LIKE '%" . $keyword_request_user . "%' OR concat(user.lastname,' ',user.firstname) LIKE '%" . $keyword_request_user . "%' OR user.username LIKE '%" . $keyword_request_user . "%') ";
$sql .= " AND (ticket.request_user = '$keyword_request_user'
OR user.firstname LIKE '%$keyword_request_user%'
OR user.official_code LIKE '%$keyword_request_user%'
OR user.lastname LIKE '%$keyword_request_user%'
OR concat(user.firstname,' ',user.lastname) LIKE '%$keyword_request_user%'
OR concat(user.lastname,' ',user.firstname) LIKE '%$keyword_request_user%'
OR user.username LIKE '%$keyword_request_user%') ";
}
if ($keyword_admin != '') {
$sql .= " AND ticket.assigned_last_user = '$keyword_admin' ";
@ -549,7 +559,7 @@ class TicketManager
}
if ($keyword_range == '1' && $keyword_start_date_start != '' && $keyword_start_date_end != '') {
$sql .= " AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') >= '$keyword_start_date_start'
AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') <= '$keyword_start_date_end'";
AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') <= '$keyword_start_date_end'";
}
if ($keyword_priority != '') {
$sql .= " AND ticket.priority_id = '$keyword_priority' ";
@ -564,7 +574,7 @@ class TicketManager
$course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
$sql .= " AND ticket.course_id IN ( ";
$sql .= "SELECT id FROM $course_table
WHERE (title LIKE '%$keyword_course%'
WHERE (title LIKE '%$keyword_course%'
OR code LIKE '%$keyword_course%'
OR visual_code LIKE '%$keyword_course%'
)
@ -604,34 +614,35 @@ class TicketManager
$tickets = array();
while ($row = Database::fetch_assoc($result)) {
$sql_unread = "SELECT COUNT(DISTINCT message.message_id) AS unread FROM " . $table_support_tickets . " ticket, " . $table_support_messages . " message, " . $table_main_user . " user
WHERE ticket.ticket_id = message.ticket_id AND ticket.ticket_id= '" . $row['col0'] . "' AND message.status='NOL' AND message.sys_insert_user_id = user.user_id ";
$sql_unread = "SELECT
COUNT(DISTINCT message.message_id) AS unread
FROM $table_support_tickets ticket,
$table_support_messages message,
$table_main_user user
WHERE ticket.ticket_id = message.ticket_id
AND ticket.ticket_id = '{$row['col0']}'
AND message.status = 'NOL'
AND message.sys_insert_user_id = user.user_id ";
if ($isAdmin) {
$sql_unread .= " AND user.user_id NOT IN (SELECT user_id FROM $table_main_admin) AND ticket.status_id != 'REE' ";
$sql_unread .= " AND user.user_id
NOT IN (SELECT user_id FROM $table_main_admin)
AND ticket.status_id != 'REE' ";
} else {
$sql_unread .= " AND user.user_id IN (SELECT user_id FROM $table_main_admin) ";
$sql_unread .= " AND user.user_id
IN (SELECT user_id FROM $table_main_admin) ";
}
$result_unread = Database::query($sql_unread);
$unread = Database::fetch_object($result_unread)->unread;
$userInfo = UserManager::get_user_info_by_id($row['user_id']);
$name = '<a href="' . api_get_path(
WEB_PATH
) . 'main/admin/user_information.php?user_id=' . $row['user_id'] . '">' . api_get_person_name(
$userInfo['firstname'], $userInfo['lastname']
) . '</a>';
$hrefUser = api_get_path(WEB_PATH) . 'main/admin/user_information.php?user_id=' . $row['user_id'];
$name = "<a href='$hrefUser'> {$userInfo['complete_name']} </a>";
$actions = "";
/* if($row['status_id']!='CLS' && $row['status_id']!='REE'){
if( $row['responsable'] != 0 && $row['responsable'] == $user_id ){
$actions = '<a href="myticket.php?ticket_id='.$row['ticket_id'].'&amp;action=unassign" title="desasignarme"><img src="../../../main/img/admin_star.png" border="0" /></a>';
}else{
$actions = '<a href="myticket.php?ticket_id='.$row['ticket_id'].'&amp;action=assign" title="asignarme"><img src="../../../main/img/admin_star_na.png" border="0" /></a>';
}
} */
if ($row['responsable'] != 0) {
$hrefResp = api_get_path(WEB_PATH) . 'main/admin/user_information.php?user_id=' . $row['responsable']['user_id'];
$completRespName = api_get_person_name($row['responsable']['firstname'], $row['responsable']['lastname']);
$row['responsable'] = api_get_user_info($row['responsable']);
$row['responsable'] = '<a href="' . api_get_path(
WEB_PATH
) . 'main/admin/user_information.php?user_id=' . $row['responsable']['user_id'] . '">' . $row['responsable']['firstname'] . ' ' . $row['responsable']['lastname'] . '</a>';
$row['responsable'] = "<a href='$hrefResp'> {$completRespName} </a>";
} else {
if ($row['status_id'] != 'REE') {
$row['responsable'] = '<span style="color:#ff0000;">' . get_lang('ToBeAssigned') . '</span>';
@ -711,8 +722,7 @@ class TicketManager
);
}
if ($unread > 0) {
$ticket['0'] = $ticket['0'] . '&nbsp;&nbsp;(' . $unread . ')<a href="ticket_details.php?ticket_id=' . $row['ticket_id'] . '"><img src="../../../main/img/message_new.png" border="0" title="' . $unread . ' Nuevo(s) Mensajes"/></a>';
$ticket['0'] = $ticket['0'] . '&nbsp;&nbsp;(' . $unread . ')<a href="ticket_details.php?ticket_id=' . $row['ticket_id'] . '"><img src="../../../main/img/message_new.png" border="0" title="' . $unread . ' ' . get_lang('Messages') . '"/></a>';
}
if ($isAdmin) {
$ticket['0'] .= '&nbsp;&nbsp;<a href="javascript:void(0)" onclick="load_history_ticket(\'div_' . $row['ticket_id'] . '\',' . $row['ticket_id'] . ')">
@ -751,10 +761,16 @@ class TicketManager
if (is_null($user_id) || $user_id == 0) {
$user_id = api_get_user_id();
}
$sql = "SELECT COUNT(ticket.ticket_id) AS total FROM " . $table_support_tickets . " ticket ," . $table_support_category . " cat , " . $table_support_priority . " priority, " . $table_support_status . " status , " . Database::get_main_table(
TABLE_MAIN_USER
) . " user
WHERE cat.category_id = ticket.category_id AND ticket.priority_id = priority.priority_id AND ticket.status_id = status.status_id AND user.user_id = ticket.request_user ";
$sql = "SELECT COUNT(ticket.ticket_id) AS total
FROM $table_support_tickets ticket ,
$table_support_category cat ,
$table_support_priority priority,
$table_support_status status ,
$table_main_user user
WHERE cat.category_id = ticket.category_id
AND ticket.priority_id = priority.priority_id
AND ticket.status_id = status.status_id
AND user.user_id = ticket.request_user ";
if (!api_is_platform_admin()) {
$sql .= " AND request_user = '$user_id' ";
}
@ -763,7 +779,12 @@ class TicketManager
if (isset($_GET['submit_simple'])) {
if ($_GET['keyword'] != '') {
$keyword = Database::escape_string(trim($_GET['keyword']));
$sql .= " AND (ticket.ticket_code = '" . $keyword . "' OR user.firstname LIKE '%" . $keyword . "%' OR user.lastname LIKE '%" . $keyword . "%' OR concat(user.firstname,' ',user.lastname) LIKE '%" . $keyword . "%' OR concat(user.lastname,' ',user.firstname) LIKE '%" . $keyword . "%' OR user.username LIKE '%" . $keyword . "%') ";
$sql .= " AND (ticket.ticket_code = '$keyword'
OR user.firstname LIKE '%$keyword%'
OR user.lastname LIKE '%$keyword%'
OR concat(user.firstname,' ',user.lastname) LIKE '%$keyword%'
OR concat(user.lastname,' ',user.firstname) LIKE '%$keyword%'
OR user.username LIKE '%$keyword%') ";
}
}
$keyword_unread = Database::escape_string(
@ -806,7 +827,13 @@ class TicketManager
$sql .= " AND ticket.category_id = '$keyword_category' ";
}
if ($keyword_request_user != '') {
$sql .= " AND (ticket.request_user = '$keyword_request_user' OR user.firstname LIKE '%" . $keyword_request_user . "%' OR user.official_code LIKE '%" . $keyword_request_user . "%' OR user.lastname LIKE '%" . $keyword_request_user . "%' OR concat(user.firstname,' ',user.lastname) LIKE '%" . $keyword_request_user . "%' OR concat(user.lastname,' ',user.firstname) LIKE '%" . $keyword_request_user . "%' OR user.username LIKE '%" . $keyword_request_user . "%') ";
$sql .= " AND (ticket.request_user = '$keyword_request_user'
OR user.firstname LIKE '%$keyword_request_user%'
OR user.official_code LIKE '%$keyword_request_user%'
OR user.lastname LIKE '%$keyword_request_user%'
OR concat(user.firstname,' ',user.lastname) LIKE '%$keyword_request_user%'
OR concat(user.lastname,' ',user.firstname) LIKE '%$keyword_request_user%'
OR user.username LIKE '%$keyword_request_user%') ";
}
if ($keyword_admin != '') {
$sql .= " AND ticket.assigned_last_user = '$keyword_admin' ";
@ -818,7 +845,8 @@ class TicketManager
$sql .= " AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') = '$keyword_start_date_start' ";
}
if ($keyword_range == '1' && $keyword_start_date_start != '' && $keyword_start_date_end != '') {
$sql .= " AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') >= '$keyword_start_date_start' AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') <= '$keyword_start_date_end'";
$sql .= " AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') >= '$keyword_start_date_start'
AND DATE_FORMAT( ticket.start_date,'%d/%m/%Y') <= '$keyword_start_date_end'";
}
if ($keyword_priority != '') {
$sql .= " AND ticket.priority_id = '$keyword_priority' ";
@ -832,14 +860,39 @@ class TicketManager
if ($keyword_course != '') {
$course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
$sql .= " AND ticket.course_id IN ( ";
$sql .= "SELECT id FROM $course_table WHERE (title LIKE '%" . $keyword_course . "%' OR code LIKE '%" . $keyword_course . "%' OR visual_code LIKE '%" . $keyword_course . "%' )) ";
$sql .= "SELECT id
FROM $course_table
WHERE (title LIKE '%$keyword_course%'
OR code LIKE '%$keyword_course%'
OR visual_code LIKE '%$keyword_course%' )) ";
}
}
if ($keyword_unread == 'yes') {
$sql .= " AND ticket.ticket_id IN (SELECT ticket.ticket_id FROM $table_support_tickets ticket, $table_support_messages message, $table_main_user user WHERE ticket.ticket_id = message.ticket_id AND message.status = 'NOL' AND message.sys_insert_user_id = user.user_id AND user.user_id NOT IN (SELECT user_id FROM $table_main_admin) AND ticket.status_id != 'REE' GROUP BY ticket.ticket_id)";
$sql .= " AND ticket.ticket_id IN ( ";
$sql .= "SELECT ticket.ticket_id
FROM $table_support_tickets ticket,
$table_support_messages message,
$table_main_user user
WHERE ticket.ticket_id = message.ticket_id
AND message.status = 'NOL'
AND message.sys_insert_user_id = user.user_id
AND user.user_id NOT IN (
SELECT user_id FROM $table_main_admin
) AND ticket.status_id != 'REE'
GROUP BY ticket.ticket_id)";
} else {
if ($keyword_unread == 'no') {
$sql .= " AND ticket.ticket_id NOT IN (SELECT ticket.ticket_id FROM $table_support_tickets ticket, $table_support_messages message, $table_main_user user WHERE ticket.ticket_id = message.ticket_id AND message.status = 'NOL' AND message.sys_insert_user_id = user.user_id AND user.user_id NOT IN (SELECT user_id FROM $table_main_admin) AND ticket.status_id != 'REE' GROUP BY ticket.ticket_id)";
$sql .= " AND ticket.ticket_id NOT IN ( ";
$sql .= " SELECT ticket.ticket_id
FROM $table_support_tickets ticket,
$table_support_messages message,
$table_main_user user
WHERE ticket.ticket_id = message.ticket_id
AND message.status = 'NOL'
AND message.sys_insert_user_id = user.user_id
AND user.user_id NOT IN (SELECT user_id FROM $table_main_admin)
AND ticket.status_id != 'REE'
GROUP BY ticket.ticket_id)";
}
}
$res = Database::query($sql);
@ -869,9 +922,19 @@ class TicketManager
$table_support_message_attachments = Database::get_main_table(
TABLE_TICKET_MESSAGE_ATTACHMENTS
);
$table_main_user = Database::get_main_table(TABLE_MAIN_USER);
$sql = "SELECT ticket.* ,cat.name , status.name as status, priority.priority FROM " . $table_support_tickets . " ticket, " . $table_support_category . " cat ," . $table_support_priority . " priority , " . $table_support_status . " status
WHERE ticket.ticket_id = '$ticket_id' AND cat.category_id = ticket.category_id AND priority.priority_id = ticket.priority_id AND status.status_id = ticket.status_id ";
$sql = "SELECT
ticket.* ,cat.name ,
status.name as status, priority.priority
FROM $table_support_tickets ticket,
$table_support_category cat ,
$table_support_priority priority ,
$table_support_status status
WHERE ticket.ticket_id = '$ticket_id'
AND cat.category_id = ticket.category_id
AND priority.priority_id = ticket.priority_id
AND status.status_id = ticket.status_id ";
if (!UserManager::is_admin($user_id)) {
$sql .= "AND ticket.request_user = '$user_id'";
}
@ -905,32 +968,37 @@ class TicketManager
$ticket['usuario'] = $userInfo;
$ticket['ticket'] = $row;
}
$sql = "SELECT * FROM " . $table_support_messages . " message, " . Database::get_main_table(
TABLE_MAIN_USER
) . " user WHERE message.ticket_id = '$ticket_id' AND message.sys_insert_user_id = user.user_id ";
$sql = "SELECT * FROM $table_support_messages message,
$table_main_user user
WHERE message.ticket_id = '$ticket_id'
AND message.sys_insert_user_id = user.user_id ";
$result = Database::query($sql);
$ticket['messages'] = array();
$attach_icon = Display::return_icon('attachment.gif', '');
$admin_table = Database::get_main_table(TABLE_MAIN_ADMIN);
while ($row = Database::fetch_assoc($result)) {
$message = $row;
$completeName = api_get_person_name($row['firstname'], $row['lastname']);
$href = api_get_path(WEB_PATH) . 'main/admin/user_information.php?user_id=' . $row['user_id'];
//Check if user is an admin
$sql_admin = "SELECT user_id FROM $admin_table
WHERE user_id = '" . intval($message['user_id']) . "' LIMIT 1";
WHERE user_id = '" . intval($message['user_id']) . "'
LIMIT 1";
$result_admin = Database::query($sql_admin);
$message['admin'] = false;
if (Database::num_rows($result_admin) > 0) {
$message['admin'] = true;
}
$message['user_created'] = '<a href="' . api_get_path(
WEB_PATH
) . 'main/admin/user_information.php?user_id=' . $row['user_id'] . '">' . $row['firstname'] . ' ' . $row['lastname'] . '</a>';
$sql_atachment = "SELECT * FROM " . TABLE_TICKET_MESSAGE_ATTACHMENTS . " WHERE message_id = " . $row['message_id'] . " AND ticket_id= '$ticket_id' ";
$message['user_created'] = "<a href='$href'> $completeName </a>";
$sql_atachment = "SELECT * FROM $table_support_message_attachments
WHERE message_id = " . $row['message_id'] . "
AND ticket_id= '$ticket_id' ";
$result_attach = Database::query($sql_atachment);
while ($row2 = Database::fetch_assoc($result_attach)) {
$archiveURL = $archiveURL = api_get_path(
WEB_PLUGIN_PATH
) . PLUGIN_NAME . '/s/download.php?ticket_id=' . $ticket_id . '&file=';
) . PLUGIN_NAME . '/src/download.php?ticket_id=' . $ticket_id . '&file=';
$row2['attachment_link'] = $attach_icon . '&nbsp;<a href="' . $archiveURL . $row2['path'] . '&title=' . $row2['filename'] . '">' . $row2['filename'] . '</a>&nbsp;(' . $row2['size'] . ')';
$message['atachments'][] = $row2;
}
@ -951,9 +1019,12 @@ class TicketManager
$table_support_messages = Database::get_main_table(
TABLE_TICKET_MESSAGE
);
$table_support_tickets = Database::get_main_table(TABLE_TICKET_TICKET);
$now = api_get_utc_datetime();
$sql = "UPDATE " . $table_support_messages . " SET status = 'LEI' , sys_lastedit_user_id ='" . api_get_user_id(
) . "' ,sys_lastedit_datetime ='" . $now . "' WHERE ticket_id ='$ticket_id' ";
$sql = "UPDATE " . $table_support_messages . "
SET status = 'LEI', sys_lastedit_user_id ='" . api_get_user_id() . "',
sys_lastedit_datetime ='" . $now . "'
WHERE ticket_id ='$ticket_id' ";
if (api_is_platform_admin()) {
$sql .= " AND sys_insert_user_id = '$user_id'";
@ -964,7 +1035,8 @@ class TicketManager
Database::query($sql);
if (Database::affected_rows() > 0) {
Database::query(
"UPDATE " . Database::get_main_table(TABLE_TICKET_TICKET) . " SET status_id = 'PND' WHERE ticket_id ='$ticket_id' AND status_id = 'NAT'"
"UPDATE $table_support_tickets SET status_id = 'PND'
WHERE ticket_id ='$ticket_id' AND status_id = 'NAT'"
);
return true;
} else {
@ -987,7 +1059,10 @@ class TicketManager
TABLE_TICKET_MESSAGE
);
$now = api_get_utc_datetime();
$sql = "UPDATE " . $table_support_tickets . " SET status_id = '$status_id' , sys_lastedit_user_id ='$user_id' ,sys_lastedit_datetime ='" . $now . "' WHERE ticket_id ='$ticket_id'";
$sql = "UPDATE " . $table_support_tickets . "
SET status_id = '$status_id', sys_lastedit_user_id ='$user_id',
sys_lastedit_datetime ='" . $now . "'
WHERE ticket_id ='$ticket_id'";
Database::query($sql);
if (Database::affected_rows() > 0) {
return true;
@ -1009,11 +1084,19 @@ class TicketManager
$table_main_admin = Database::get_main_table(TABLE_MAIN_ADMIN);
$user_info = api_get_user_info();
$user_id = $user_info['user_id'];
$sql = "SELECT COUNT( DISTINCT ticket.ticket_id) AS unread FROM " . $table_support_tickets . " ticket, " . $table_support_messages . " message , " . $table_main_user . " user WHERE ticket.ticket_id = message.ticket_id AND message.status = 'NOL' AND user.user_id = message.sys_insert_user_id ";
$sql = "SELECT COUNT( DISTINCT ticket.ticket_id) AS unread
FROM $table_support_tickets ticket,
$table_support_messages message ,
$table_main_user user
WHERE ticket.ticket_id = message.ticket_id
AND message.status = 'NOL'
AND user.user_id = message.sys_insert_user_id ";
if (!api_is_platform_admin()) {
$sql .= " AND ticket.request_user = '$user_id' AND user_id IN (SELECT user_id FROM $table_main_admin) ";
$sql .= " AND ticket.request_user = '$user_id'
AND user_id IN (SELECT user_id FROM $table_main_admin) ";
} else {
$sql .= " AND user_id NOT IN (SELECT user_id FROM $table_main_admin) AND ticket.status_id != 'REE'";
$sql .= " AND user_id NOT IN (SELECT user_id FROM $table_main_admin)
AND ticket.status_id != 'REE'";
}
$sql .= " AND ticket.project_id != '' ";
$res = Database::query($sql);
@ -1029,7 +1112,10 @@ class TicketManager
{
$table_support_tickets = Database::get_main_table(TABLE_TICKET_TICKET);
$now = api_get_utc_datetime();
$sql = "UPDATE " . $table_support_tickets . " SET priority_id = 'ALT', sys_lastedit_user_id ='$user_id' ,sys_lastedit_datetime ='" . $now . "' WHERE ticket_id = '$ticket_id'";
$sql = "UPDATE $table_support_tickets
SET priority_id = 'ALT', sys_lastedit_user_id ='$user_id',
sys_lastedit_datetime ='$now'
WHERE ticket_id = '$ticket_id'";
Database::query($sql);
}
@ -1041,7 +1127,10 @@ class TicketManager
{
$table_support_tickets = Database::get_main_table(TABLE_TICKET_TICKET);
$now = api_get_utc_datetime();
$sql = "UPDATE " . $table_support_tickets . " SET status_id = 'CLS' , sys_lastedit_user_id ='$user_id' ,sys_lastedit_datetime ='" . $now . "' ,end_date ='" . $now . "' WHERE ticket_id ='$ticket_id'";
$sql = "UPDATE $table_support_tickets
SET status_id = 'CLS', sys_lastedit_user_id ='$user_id',
sys_lastedit_datetime ='" . $now . "', end_date ='$now'
WHERE ticket_id ='$ticket_id'";
Database::query($sql);
}

Loading…
Cancel
Save