Adding add/edit medias see #5714
parent
7d49277af9
commit
a3cb652bb6
@ -0,0 +1,108 @@ |
||||
<?php |
||||
|
||||
use \ChamiloSession as Session; |
||||
|
||||
$language_file = array('exercice','tracking'); |
||||
|
||||
// including the global library |
||||
require_once '../inc/global.inc.php'; |
||||
|
||||
// Access control |
||||
api_protect_course_script(true); |
||||
|
||||
$course_id = api_get_course_int_id(); |
||||
|
||||
//Add the JS needed to use the jqgrid |
||||
$htmlHeadXtra[] = api_get_jqgrid_js(); |
||||
|
||||
$interbreadcrumb[] = array("url" => "exercice.php", "name" => get_lang('Exercices')); |
||||
Display::display_header(get_lang('Media')); |
||||
|
||||
$action = isset($_GET['action']) ? $_GET['action'] : null; |
||||
|
||||
$page_url = "media.php?".api_get_cidreq(); |
||||
|
||||
switch ($action) { |
||||
case 'add': |
||||
$url = $page_url.'&action='.Security::remove_XSS($_GET['action']); |
||||
$objQuestion = Question::getInstance(MEDIA_QUESTION); |
||||
$form = new FormValidator('question_admin_form','post', $url); |
||||
// question form elements |
||||
$objQuestion->createForm($form); |
||||
$objQuestion->createAnswersForm($form); |
||||
if ($form->validate()) { |
||||
// question |
||||
$objQuestion->processCreation($form, null); |
||||
// answers |
||||
$objQuestion->processAnswersCreation($form, null); |
||||
} |
||||
$form->display(); |
||||
break; |
||||
case 'edit': |
||||
$url = $page_url.'&action='.Security::remove_XSS($_GET['action']).'&id='.intval($_GET['id']); |
||||
$objQuestion = Question::read($_GET['id']); |
||||
|
||||
$form = new FormValidator('question_admin_form','post', $url); |
||||
// question form elements |
||||
$objQuestion->createForm($form); |
||||
$objQuestion->createAnswersForm($form); |
||||
$form->addElement('hidden', 'id', intval($_GET['id'])); |
||||
$defaults = array(); |
||||
$defaults['questionName'] = $objQuestion->question; |
||||
$defaults['questionDescription'] = $objQuestion->description; |
||||
$defaults['questionLevel'] = $objQuestion->level; |
||||
$defaults['questionCategory'] = $objQuestion->category_list; |
||||
$defaults['parent_id'] = $objQuestion->parent_id; |
||||
$form->setDefaults($defaults); |
||||
$form->display(); |
||||
|
||||
if ($form->validate()) { |
||||
// question |
||||
$objQuestion->processCreation($form, null); |
||||
// answers |
||||
$objQuestion->processAnswersCreation($form, null); |
||||
} |
||||
break; |
||||
case 'delete': |
||||
$objQuestion = Question::read($_GET['id']); |
||||
$objQuestion->delete(); |
||||
break; |
||||
} |
||||
|
||||
//jqgrid will use this URL to do the selects |
||||
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_course_exercise_medias'; |
||||
|
||||
//The order is important you need to check the the $column variable in the model.ajax.php file |
||||
$columns = array(get_lang('Name'), get_lang('Actions')); |
||||
|
||||
//Column config |
||||
$column_model = array( |
||||
array('name'=>'name', 'index'=>'name', 'width'=>'80', 'align'=>'left'), |
||||
array('name'=>'actions', 'index'=>'actions', 'width'=>'100', 'align'=>'left','formatter'=>'action_formatter','sortable'=>'false') |
||||
); |
||||
//Autowidth |
||||
$extra_params['autowidth'] = 'true'; |
||||
//height auto |
||||
$extra_params['height'] = 'auto'; |
||||
|
||||
//With this function we can add actions to the jgrid (edit, delete, etc) |
||||
$action_links = 'function action_formatter(cellvalue, options, rowObject) { |
||||
return \'<a href="?action=edit&id=\'+options.rowId+\'">'.Display::return_icon('edit.png',get_lang('Edit'),'',ICON_SIZE_SMALL).'</a>'. |
||||
' <a onclick="javascript:if(!confirm('."\'".addslashes(api_htmlentities(get_lang("ConfirmYourChoice"),ENT_QUOTES))."\'".')) return false;" href="?sec_token='.$token.'&action=delete&id=\'+options.rowId+\'">'.Display::return_icon('delete.png',get_lang('Delete'),'',ICON_SIZE_SMALL).'</a>'. |
||||
'\'; |
||||
}'; |
||||
?> |
||||
<script> |
||||
$(function() { |
||||
<?php
|
||||
// grid definition see the $career->display() function |
||||
echo Display::grid_js('medias', $url, $columns, $column_model, $extra_params, array(), $action_links, true); |
||||
?> |
||||
}); |
||||
</script> |
||||
<?php |
||||
$items = array( |
||||
array('content' => Display::return_icon('add.png'), 'url' => $page_url.'&action=add') |
||||
); |
||||
echo Display::actions($items); |
||||
echo Display::grid_html('medias'); |
Loading…
Reference in new issue