parent
71e13b33c7
commit
5641796a73
@ -0,0 +1,156 @@ |
|||||||
|
<?php |
||||||
|
/* For licensing terms, see /license.txt */ |
||||||
|
|
||||||
|
/** |
||||||
|
* This script is the Tickets plugin main entry point |
||||||
|
* @package chamilo.plugin.ticket |
||||||
|
*/ |
||||||
|
|
||||||
|
$cidReset = true; |
||||||
|
// needed in order to load the plugin lang variables |
||||||
|
$course_plugin = 'ticket'; |
||||||
|
require_once __DIR__.'/../inc/global.inc.php'; |
||||||
|
|
||||||
|
api_protect_admin_script(true); |
||||||
|
|
||||||
|
$toolName = get_lang('Project'); |
||||||
|
|
||||||
|
$libPath = api_get_path(LIBRARY_PATH); |
||||||
|
$webLibPath = api_get_path(WEB_LIBRARY_PATH); |
||||||
|
|
||||||
|
$this_section = 'tickets'; |
||||||
|
unset($_SESSION['this_section']); |
||||||
|
|
||||||
|
$table = new SortableTable( |
||||||
|
'TicketProject', |
||||||
|
array('TicketManager', 'getProjectsCount'), |
||||||
|
array('TicketManager', 'getProjects'), |
||||||
|
1 |
||||||
|
); |
||||||
|
|
||||||
|
if ($table->per_page == 0) { |
||||||
|
$table->per_page = 20; |
||||||
|
} |
||||||
|
|
||||||
|
$formToString = ''; |
||||||
|
$id = isset($_GET['id']) ? intval($_GET['id']) : 0; |
||||||
|
|
||||||
|
$interbreadcrumb[] = array( |
||||||
|
'url' => api_get_path(WEB_CODE_PATH).'ticket/myticket.php', |
||||||
|
'name' => get_lang('MyTickets') |
||||||
|
); |
||||||
|
|
||||||
|
if (isset($_GET['action'])) { |
||||||
|
global $table; |
||||||
|
$action = $_GET['action']; |
||||||
|
switch ($action) { |
||||||
|
case 'delete': |
||||||
|
TicketManager::deleteProject($id); |
||||||
|
Display::addFlash(Display::return_message(get_lang('Deleted'))); |
||||||
|
header("Location: ".api_get_self()); |
||||||
|
break; |
||||||
|
case 'add': |
||||||
|
$toolName = get_lang('Add'); |
||||||
|
$interbreadcrumb[] = array( |
||||||
|
'url' => api_get_path(WEB_CODE_PATH).'ticket/categories.php', |
||||||
|
'name' => get_lang('Categories') |
||||||
|
); |
||||||
|
$url = api_get_self().'?action=add'; |
||||||
|
$form = TicketManager::getProjectForm($url); |
||||||
|
$formToString = $form->returnForm(); |
||||||
|
if ($form->validate()) { |
||||||
|
$values =$form->getSubmitValues(); |
||||||
|
|
||||||
|
$params = [ |
||||||
|
'name' => $values['name'], |
||||||
|
'description' => $values['description'], |
||||||
|
'total_tickets' => 0, |
||||||
|
'sys_insert_user_id' => api_get_user_id(), |
||||||
|
'sys_insert_datetime' => api_get_utc_datetime(), |
||||||
|
'course_required' => '' |
||||||
|
]; |
||||||
|
TicketManager::addProject($params); |
||||||
|
|
||||||
|
Display::addFlash(Display::return_message(get_lang('Added'))); |
||||||
|
|
||||||
|
header("Location: ".api_get_self()); |
||||||
|
exit; |
||||||
|
} |
||||||
|
break; |
||||||
|
case 'edit': |
||||||
|
$toolName = get_lang('Edit'); |
||||||
|
$interbreadcrumb[] = array( |
||||||
|
'url' => api_get_path(WEB_CODE_PATH).'ticket/categories.php', |
||||||
|
'name' => get_lang('Categories') |
||||||
|
); |
||||||
|
$url = api_get_self().'?action=edit&id='.$id; |
||||||
|
$form = TicketManager::getProjectForm($url); |
||||||
|
|
||||||
|
$cat = TicketManager::getProject($_GET['id']); |
||||||
|
$form->setDefaults($cat); |
||||||
|
$formToString = $form->returnForm(); |
||||||
|
if ($form->validate()) { |
||||||
|
$values =$form->getSubmitValues(); |
||||||
|
|
||||||
|
$params = [ |
||||||
|
'name' => $values['name'], |
||||||
|
'description' => $values['description'], |
||||||
|
'sys_lastedit_datetime' => api_get_utc_datetime(), |
||||||
|
'sys_lastedit_user_id' => api_get_user_id() |
||||||
|
]; |
||||||
|
$cat = TicketManager::updateProject($_GET['id'], $params); |
||||||
|
Display::addFlash(Display::return_message(get_lang('Updated'))); |
||||||
|
header("Location: ".api_get_self()); |
||||||
|
exit; |
||||||
|
} |
||||||
|
break; |
||||||
|
default: |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$user_id = api_get_user_id(); |
||||||
|
$isAdmin = api_is_platform_admin(); |
||||||
|
|
||||||
|
/** |
||||||
|
* Build the modify-column of the table |
||||||
|
* @param int The user id |
||||||
|
* @param string URL params to add to table links |
||||||
|
* @param array Row of elements to alter |
||||||
|
* @return string Some HTML-code with modify-buttons |
||||||
|
*/ |
||||||
|
function modify_filter($id, $params, $row) |
||||||
|
{ |
||||||
|
$result = Display::url( |
||||||
|
Display::return_icon('edit.png', get_lang('Edit')), |
||||||
|
"projects.php?action=edit&id={$row['id']}" |
||||||
|
); |
||||||
|
|
||||||
|
$result .= Display::url( |
||||||
|
Display::return_icon('delete.png', get_lang('Delete')), |
||||||
|
"projects.php?action=delete&id={$row['id']}" |
||||||
|
); |
||||||
|
|
||||||
|
return $result; |
||||||
|
} |
||||||
|
|
||||||
|
$table->set_header(0, '', false); |
||||||
|
$table->set_header(1, get_lang('Title'), false); |
||||||
|
$table->set_header(2, get_lang('Description'), true, array("style" => "width:200px")); |
||||||
|
$table->set_header(3, get_lang('Actions'), true); |
||||||
|
$table->set_column_filter(3, 'modify_filter'); |
||||||
|
|
||||||
|
Display::display_header($toolName); |
||||||
|
|
||||||
|
$items = [ |
||||||
|
[ |
||||||
|
'url' => 'projects.php?action=add', |
||||||
|
'content' => Display::return_icon('new_folder.png', null, null, ICON_SIZE_MEDIUM) |
||||||
|
] |
||||||
|
]; |
||||||
|
|
||||||
|
echo Display::actions($items); |
||||||
|
echo $formToString; |
||||||
|
echo $table->return_table(); |
||||||
|
|
||||||
|
Display::display_footer(); |
Loading…
Reference in new issue