123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- <?php
- /* For licensing terms, see /license.txt */
- use ChamiloSession as Session;
- /**
- * Template (front controller in MVC pattern) used for distpaching to the controllers depend on the current action.
- *
- * @author Christian Fasanando <christian1827@gmail.com>
- * @author Julio Montoya <gugli100@gmail.com> Bugfixes session support
- *
- * @package chamilo.course_progress
- */
- // including files
- require_once __DIR__.'/../inc/global.inc.php';
- require_once 'thematic_controller.php';
- // current section
- $this_section = SECTION_COURSES;
- $current_course_tool = TOOL_COURSE_PROGRESS;
- // protect a course script
- api_protect_course_script(true);
- // get actions
- $actions = [
- 'thematic_details',
- 'thematic_list',
- 'thematic_add',
- 'thematic_edit',
- 'thematic_copy',
- 'thematic_delete',
- 'moveup',
- 'movedown',
- 'thematic_import_select',
- 'thematic_import',
- 'thematic_export',
- 'thematic_export_pdf',
- 'export_documents',
- 'thematic_plan_list',
- 'thematic_plan_add',
- 'thematic_plan_edit',
- 'thematic_plan_delete',
- 'thematic_advance_list',
- 'thematic_advance_add',
- 'thematic_advance_edit',
- 'thematic_advance_delete',
- 'export_single_thematic',
- 'export_single_documents',
- ];
- $action = 'thematic_details';
- if (isset($_REQUEST['action']) && in_array($_REQUEST['action'], $actions)) {
- $action = $_REQUEST['action'];
- }
- if (isset($_POST['action']) && $_POST['action'] == 'thematic_delete_select') {
- $action = 'thematic_delete_select';
- }
- if (isset($_GET['isStudentView']) && $_GET['isStudentView'] == 'true') {
- $action = 'thematic_details';
- }
- if ($action == 'thematic_details' || $action == 'thematic_list') {
- Session::write('thematic_control', $action);
- }
- // get thematic id
- $thematic_id = isset($_GET['thematic_id']) ? (int) $_GET['thematic_id'] : 0;
- // instance thematic object for using like library here
- $thematic = new Thematic();
- // thematic controller object
- $thematic_controller = new ThematicController();
- $thematic_data = [];
- if (!empty($thematic_id)) {
- // thematic data by id
- $thematic_data = $thematic->get_thematic_list($thematic_id);
- }
- $cleanThematicTitle = isset($thematic_data['title']) ? strip_tags($thematic_data['title']) : null;
- // get default thematic plan title
- $default_thematic_plan_title = $thematic->get_default_thematic_plan_title();
- // Only when I see the 3 columns. Avoids double or triple click binding for onclick event
- $htmlHeadXtra[] = '<script>
- $(function() {
- $(".thematic_advance_actions, .thematic_tools ").hide();
- $(".thematic_content").mouseover(function() {
- var id = parseInt(this.id.split("_")[3]);
- $("#thematic_id_content_"+id ).show();
- });
- $(".thematic_content").mouseleave(function() {
- var id = parseInt(this.id.split("_")[3]);
- $("#thematic_id_content_"+id ).hide();
- });
- $(".thematic_advance_content").mouseover(function() {
- var id = parseInt(this.id.split("_")[4]);
- $("#thematic_advance_tools_"+id ).show();
- });
- $(".thematic_advance_content").mouseleave(function() {
- var id = parseInt(this.id.split("_")[4]);
- $("#thematic_advance_tools_"+id ).hide();
- });
- });
- </script>';
- $htmlHeadXtra[] = '<script>
- function datetime_by_attendance(attendance_id, thematic_advance_id) {
- $.ajax({
- contentType: "application/x-www-form-urlencoded",
- beforeSend: function(myObject) {},
- type: "GET",
- url: "'.api_get_path(WEB_AJAX_PATH).'thematic.ajax.php?a=get_datetime_by_attendance",
- data: "attendance_id="+attendance_id+"&thematic_advance_id="+thematic_advance_id,
- success: function(data) {
- $("#div_datetime_attendance").html(data);
- if (thematic_advance_id == 0) {
- $("#start_date_select_calendar").val($("#start_date_select_calendar option:first").val());
- }
- }
- });
- }
- function update_done_thematic_advance(selected_value) {
- $.ajax({
- contentType: "application/x-www-form-urlencoded",
- beforeSend: function(myObject) {},
- type: "GET",
- url: "'.api_get_path(WEB_AJAX_PATH).'thematic.ajax.php?a=update_done_thematic_advance",
- data: "thematic_advance_id="+selected_value,
- success: function(data) {
- $("#div_result").html(data);
- }
- });
- // clean all radios
- for (var i=0; i< $(".done_thematic").length;i++) {
- var id_radio_thematic = $(".done_thematic").get(i).id;
- $("#td_"+id_radio_thematic).css({"background-color":"#FFF"});
- }
- // set background to previous radios
- for (var i=0; i < $(".done_thematic").length;i++) {
- var id_radio_thematic = $(".done_thematic").get(i).id;
- $("#td_"+id_radio_thematic).css({"background-color":"#E5EDF9"});
- if ($(".done_thematic").get(i).value == selected_value) {
- break;
- }
- }
- }
- function check_per_attendance(obj) {
- if (obj.checked) {
- $("#div_datetime_by_attendance").show();
- $("#div_custom_datetime").hide();
- } else {
- $("#div_datetime_by_attendance").hide();
- $("#div_custom_datetime").show();
- }
- }
- function check_per_custom_date(obj) {
- if (obj.checked) {
- $("#div_custom_datetime").show();
- $("#div_datetime_by_attendance").hide();
- } else {
- $("#div_custom_datetime").hide();
- $("#div_datetime_by_attendance").show();
- }
- }
- </script>';
- $thematicControl = Session::read('thematic_control');
- if ($action == 'thematic_list') {
- $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Thematic control')];
- }
- if ($action == 'thematic_add') {
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action='.$thematicControl,
- 'name' => get_lang('Thematic control'),
- ];
- $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('New thematic section')];
- }
- if ($action == 'thematic_edit') {
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action='.$thematicControl,
- 'name' => get_lang('Thematic control'),
- ];
- $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Edit thematic section')];
- }
- if ($action == 'thematic_details') {
- $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Thematic control')];
- }
- if ($action == 'thematic_plan_list' || $action == 'thematic_plan_delete') {
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action='.$thematicControl,
- 'name' => get_lang('Thematic control'),
- ];
- if (!empty($thematic_data)) {
- $interbreadcrumb[] = [
- 'url' => '#',
- 'name' => get_lang('Thematic plan').' ('.$cleanThematicTitle.') ',
- ];
- }
- }
- if ($action == 'thematic_plan_add' || $action == 'thematic_plan_edit') {
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action='.$thematicControl,
- 'name' => get_lang('Thematic control'),
- ];
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action=thematic_plan_list&thematic_id='.$thematic_id,
- 'name' => get_lang('Thematic plan').' ('.$cleanThematicTitle.')',
- ];
- }
- if ($action == 'thematic_advance_list' || $action == 'thematic_advance_delete') {
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action='.$thematicControl,
- 'name' => get_lang('Thematic control'),
- ];
- $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Thematic advance').' ('.$cleanThematicTitle.')'];
- }
- if ($action == 'thematic_advance_add' || $action == 'thematic_advance_edit') {
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action='.$thematicControl,
- 'name' => get_lang('Thematic control'),
- ];
- $interbreadcrumb[] = [
- 'url' => 'index.php?'.api_get_cidreq().'&action=thematic_advance_list&thematic_id='.$thematic_id,
- 'name' => get_lang('Thematic advance').' ('.$cleanThematicTitle.')',
- ];
- $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('NewThematic advance')];
- }
- if ($action == 'thematic_plan_list') {
- $htmlHeadXtra[] = "
- <script>
- $(function () {
- $('.btn-delete').on('click', function (e) {
- e.preventDefault();
-
- var id = $(this).data('id') || 0;
-
- if (!id) {
- return;
- }
-
- //$('[name=\"title[' + id + ']\"]').val('');
- CKEDITOR.instances['description[' + id + ']'].setData('');
- });
- });
- </script>
- ";
- }
- // Dispatch actions to controller
- switch ($action) {
- case 'thematic_add':
- case 'thematic_edit':
- case 'thematic_delete':
- case 'thematic_delete_select':
- case 'thematic_copy':
- case 'thematic_import_select':
- case 'thematic_import':
- case 'moveup':
- case 'movedown':
- if (!api_is_allowed_to_edit(null, true)) {
- api_not_allowed();
- }
- //no break
- case 'thematic_list':
- case 'thematic_export':
- case 'thematic_export_pdf':
- case 'thematic_details':
- case 'export_single_thematic':
- case 'export_documents':
- case 'export_single_documents':
- $thematic_controller->thematic($action);
- break;
- case 'thematic_plan_add':
- case 'thematic_plan_edit':
- case 'thematic_plan_delete':
- if (!api_is_allowed_to_edit(null, true)) {
- api_not_allowed();
- }
- //no break
- case 'thematic_plan_list':
- $thematic_controller->thematic_plan($action);
- break;
- case 'thematic_advance_add':
- case 'thematic_advance_edit':
- case 'thematic_advance_delete':
- if (!api_is_allowed_to_edit(null, true)) {
- api_not_allowed();
- }
- //no break
- case 'thematic_advance_list':
- $thematic_controller->thematic_advance($action);
- break;
- }
|