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 '
'; if (api_is_platform_admin()) { echo '' . '' . Display::return_icon('add.png', $plugin->get_lang('TckNew'), '', '32') . '' . '' . Display::return_icon('export_excel.png', get_lang('Export'), '', '32') . ''; if ($plugin->get('allow_category_edition')) { echo Display::url( Display::return_icon('document.png'), api_get_path(WEB_PLUGIN_PATH) . 'ticket/src/categories.php' ); } echo ''; } $form->display(); echo '
'; echo ''; } else { if ($plugin->get('allow_student_add') == 'true') { echo '
'; echo '' . '' . Display::return_icon('add.png', $plugin->get_lang('TckNew'), '', '32') . '' . ''; echo '' . ''; echo '
'; } } if ($isAdmin) { $table->set_header(0, $plugin->get_lang('TicketNum'), true); $table->set_header(1, $plugin->get_lang('Date'), true); $table->set_header(2, $plugin->get_lang('DateLastEdition'), true); $table->set_header(3, $plugin->get_lang('Category'), true); $table->set_header(4, $plugin->get_lang('User'), true); $table->set_header(5, $plugin->get_lang('Responsible'), true); $table->set_header(6, $plugin->get_lang('Status'), true); $table->set_header(7, $plugin->get_lang('Message'), true); $table->set_header(8, get_lang('Actions'), true); $table->set_header(9, get_lang('Description'), true, array("style" => "width:200px")); } else { echo '

' . $plugin->get_lang('MyTickets') . '

'; echo '

' . $plugin->get_lang('MsgWelcome') . '

'; if (isset($_GET['message'])) { Display::display_confirmation_message($plugin->get_lang('TckSuccessSave')); } $table->set_header(0, $plugin->get_lang('TicketNum'), true); $table->set_header(1, $plugin->get_lang('Date'), true); $table->set_header(2, $plugin->get_lang('DateLastEdition'), true); $table->set_header(3, $plugin->get_lang('Category')); $table->set_header(4, $plugin->get_lang('Status'), false); $table->set_header(5, get_lang('Actions'), false); } $table->display(); Display::display_footer();