get_lang('LastEdit'); api_block_anonymous_users(); $libPath = api_get_path(LIBRARY_PATH); $webLibPath = api_get_path(WEB_LIBRARY_PATH); $htmlHeadXtra[] = ' '; $this_section = 'tickets'; unset($_SESSION['this_section']); $table = new SortableTable( 'Tickets', array('TicketManager', 'get_total_tickets_by_user_id'), array('TicketManager', 'get_tickets_by_user_id'), 2, 20, 'DESC' ); if ($table->per_page == 0) { $table->per_page = 20; } if (isset($_GET['action'])) { global $table; $action = $_GET['action']; switch ($action) { case 'assign': if ($isAdmin && isset($_GET['ticket_id'])) TicketManager::assign_ticket_user($_GET['ticket_id'], $user_id); break; case 'unassign': if ($isAdmin && isset($_GET['ticket_id'])) TicketManager::assign_ticket_user($_GET['ticket_id'], 0); break; case 'alert': if (!$isAdmin && isset($_GET['ticket_id'])) TicketManager::send_alert($_GET['ticket_id'], $user_id); break; case 'export': $data = array( array( $plugin->get_lang('TicketNum'), $plugin->get_lang('Date'), $plugin->get_lang('DateLastEdition'), $plugin->get_lang('Category'), $plugin->get_lang('User'), $plugin->get_lang('Program'), $plugin->get_lang('Responsible'), $plugin->get_lang('Status'), $plugin->get_lang('Description') ) ); $datos = $table->get_clean_html(); foreach ($datos as $ticket) { $ticket[0] = substr(strip_tags($ticket[0]), 0, 12); $ticket_rem = array( utf8_decode(strip_tags($ticket[0])), utf8_decode(api_html_entity_decode($ticket[1])), utf8_decode(strip_tags($ticket[2])), utf8_decode(strip_tags($ticket[3])), utf8_decode(strip_tags($ticket[4])), utf8_decode(strip_tags($ticket[5])), utf8_decode(strip_tags($ticket[6])), utf8_decode(strip_tags($ticket[7])), utf8_decode(strip_tags(str_replace(' ', ' ', $ticket[9]))) ); $data[] = $ticket_rem; } Export::arrayToXls($data, $plugin->get_lang('Tickets')); exit; break; case 'close_tickets': TicketManager::close_old_tickets(); break; default: break; } } // $nameTools = api_xml_http_response_encode($plugin->get_lang('MyTickets')); $user_id = api_get_user_id(); $isAdmin = api_is_platform_admin(); Display::display_header($plugin->get_lang('MyTickets')); if ($isAdmin) { $getParameters = [ 'keyword', 'keyword_status', 'keyword_category', 'keyword_request_user', 'keyword_admin', 'keyword_start_date', 'keyword_unread', 'Tickets_per_page', 'Tickets_column' ]; $get_parameter = ''; foreach ($getParameters as $getParameter) { if (isset($_GET[$getParameter])) { $get_parameter .= "&$getParameter=".Security::remove_XSS($_GET[$getParameter]); } } $getParameters = [ 'Tickets_per_page', 'Tickets_column' ]; $get_parameter2 = ''; foreach ($getParameters as $getParameter) { if (isset($_GET[$getParameter])) { $get_parameter2 .= "&$getParameter=".Security::remove_XSS($_GET[$getParameter]); } } if (isset($_GET['submit_advanced'])) { $get_parameter .= "&submit_advanced="; } if (isset($_GET['submit_simple'])) { $get_parameter .= "&submit_simple="; } //select categories $select_types = '"; //select admins $select_admins = '"; //select status $select_status = '"; //select priority $select_priority = '"; //select unread $select_unread = '"; // Create a search-box $form = new FormValidator('search_simple', 'get', '', '', null, false); $renderer = & $form->defaultRenderer(); $renderer->setCustomElementTemplate('{element} '); $form->addElement('text', 'keyword', get_lang('Keyword'), 'size="25"'); $form->addButtonSearch(get_lang('Search'), 'submit_simple'); $form->addElement('static', 'search_advanced_link', null, '' . ' ' . Display::return_icon('div_show.gif', get_lang('Show')) . ' ' . get_lang('AdvancedSearch') . ''); echo '
' . $plugin->get_lang('MsgWelcome') . '