$(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(); }); }); '; $htmlHeadXtra[] = ''; $attendance = new Attendance(); // get data for attendance input select $attendance_list = $attendance->get_attendances_list(); $attendance_select = []; $attendance_select[0] = get_lang('Select an attendance'); foreach ($attendance_list as $attendance_id => $attendance_data) { $attendance_select[$attendance_id] = $attendance_data['name']; } $token = Security::get_token(); $url_token = '&sec_token='.$token; $user_info = api_get_user_info(); $params = '&'.api_get_cidreq(); if (isset($_POST['action']) && 'thematic_delete_select' == $_POST['action']) { $action = 'thematic_delete_select'; } if (isset($_GET['isStudentView']) && 'true' == $_GET['isStudentView']) { $action = 'thematic_details'; } $interbreadcrumb[] = [ 'url' => $currentUrl, 'name' => get_lang('Thematic control'), ]; $actionLeft = ''; // instance thematic object for using like library here $thematicManager = new Thematic(); $thematicEntity = null; if (!empty($thematicId)) { $repo = Container::getThematicRepository(); // thematic data by id /** @var CThematic $thematicEntity */ $thematicEntity = $repo->find($thematicId); } $cleanThematicTitle = null !== $thematicEntity ? strip_tags($thematicEntity->getTitle()) : null; // get default thematic plan title $default_thematic_plan_title = $thematicManager->get_default_thematic_plan_title(); $tpl = new Template(get_lang('Thematic control')); // Dispatch actions to controller switch ($action) { case 'thematic_add': case 'thematic_edit': if (empty($thematicId)) { $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('New thematic section')]; } else { $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Edit thematic section')]; } if ('POST' === $requestMethod && '' !== trim($_POST['title']) && api_is_allowed_to_edit(null, true) ) { $title = trim($_POST['title']); $content = trim($_POST['content']); $session_id = api_get_session_id(); $thematicManager->set_thematic_attributes($thematicId, $title, $content, $session_id); $thematicManager->thematic_save(); Display::addFlash(Display::return_message(get_lang('Update successful'))); header('Location: '.$currentUrl); exit; break; } else { // Display form $form = new FormValidator('thematic_add', 'POST', 'index.php?action=thematic_add&'.api_get_cidreq()); if ('thematic_edit' === $action) { $form->addElement('header', '', get_lang('Edit thematic section')); } $form->addHidden('sec_token', $token); $form->addHidden('action', $action); if (!empty($thematicId)) { $form->addHidden('thematic_id', $thematicId); } if (api_get_configuration_value('save_titles_as_html')) { $form->addHtmlEditor( 'title', get_lang('Title'), true, false, ['ToolbarSet' => 'TitleAsHtml'] ); } else { $form->addText('title', get_lang('Title'), true, ['size' => '50']); } $form->addHtmlEditor( 'content', get_lang('Content'), false, false, ['ToolbarSet' => 'Basic', 'Height' => '150'] ); $form->addButtonSave(get_lang('Save')); if (!empty($thematicEntity)) { if (api_get_session_id()) { /*if ($thematic['session_id'] != api_get_session_id()) { $show_form = false; echo Display::return_message(get_lang('NotAllowedClickBack'), 'error', false); }*/ } // set default values $default['title'] = $thematicEntity->getTitle(); $default['content'] = $thematicEntity->getContent(); $form->setDefaults($default); } $content = $form->returnForm(); } break; case 'thematic_copy': // Copy a thematic to a session $thematicManager->copy($thematicId); header('Location: '.$currentUrl); exit; break; case 'thematic_delete_select': if ('POST' === $requestMethod && api_is_allowed_to_edit(null, true)) { $thematicManager->delete($_POST['id']); Display::addFlash(Display::return_message(get_lang('Deleted'))); } header('Location: '.$currentUrl); exit; break; case 'thematic_delete': // Delete a thematic if (!empty($thematicId) && api_is_allowed_to_edit(null, true)) { $thematicManager->delete($thematicId); Display::addFlash(Display::return_message(get_lang('Deleted'))); } header('Location: '.$currentUrl); exit; break; case 'thematic_import': $csv_import_array = Import::csv_reader($_FILES['file']['tmp_name'], false); if (isset($_POST['replace']) && $_POST['replace']) { // Remove current thematic. $list = $thematicManager->get_thematic_list(); foreach ($list as $id) { $thematicManager->delete($id); } } // Import the progress. $current_thematic = null; foreach ($csv_import_array as $key => $item) { if (!$key) { continue; } switch ($item[0]) { case 'title': $thematicManager->set_thematic_attributes( null, $item[1], $item[2], api_get_session_id() ); $current_thematic = $thematicManager->thematic_save(); $description_type = 1; break; case 'plan': $thematicManager->set_thematic_plan_attributes( $current_thematic, $item[1], $item[2], $description_type ); $thematicManager->thematic_plan_save(); $description_type++; break; case 'progress': $thematicManager->set_thematic_advance_attributes( null, $current_thematic, 0, $item[3], $item[1], $item[2] ); $thematicManager->thematic_advance_save(); break; } } Display::addFlash(Display::return_message(get_lang('Import'))); header('Location: '.$currentUrl); exit; break; case 'thematic_import_select': $actionLeft = ''; $actionLeft .= Display::return_icon( 'back.png', get_lang('Back to').' '.get_lang('Thematic view with details'), '', ICON_SIZE_MEDIUM ); $actionLeft .= ''; // Create form to upload csv file. $form = new FormValidator( 'thematic_import', 'POST', 'index.php?action=thematic_import&'.api_get_cidreq().$url_token ); $form->addElement('header', get_lang('Import course progress')); $form->addElement('file', 'file'); $form->addElement('checkbox', 'replace', null, get_lang('Delete all course progress')); $form->addButtonImport(get_lang('Import'), 'SubmitImport'); $content = $form->returnForm(); break; case 'moveup': if (!api_is_allowed_to_edit(null, true)) { api_not_allowed(); } $thematicManager->move_thematic('up', $thematicId); header('Location: '.$currentUrl); exit; break; case 'movedown': if (!api_is_allowed_to_edit(null, true)) { api_not_allowed(); } $thematicManager->move_thematic('down', $thematicId); header('Location: '.$currentUrl); exit; break; case 'thematic_export': $list = $thematicManager->get_thematic_list(); $csv = []; $csv[] = ['type', 'data1', 'data2', 'data3']; foreach ($list as $thematicEntity) { $csv[] = ['title', strip_tags($thematicEntity->getTitle()), strip_tags($thematicEntity->getContent())]; $data = $thematicEntity->getPlans(); if (!empty($data)) { foreach ($data as $plan) { if (empty($plan->getDescription())) { continue; } $csv[] = [ 'plan', strip_tags($plan->getTitle()), strip_tags($plan->getDescription()), ]; } } $data = $thematicEntity->getAdvances(); if (!empty($data)) { foreach ($data as $advance) { $csv[] = [ 'progress', strip_tags(api_get_local_time($advance->getStartDate())), strip_tags($advance->getDuration()), strip_tags($advance->getContent()), ]; } } } Export::arrayToCsv($csv); exit; break; case 'export_documents': case 'thematic_export_pdf': $pdfOrientation = api_get_configuration_value('thematic_pdf_orientation'); $view = new Template('', false, false, false, true, false, false); $list = $thematicManager->get_thematic_list(); $view->assign('data', $list); $template = $view->get_template('course_progress/pdf_general_thematic.tpl'); $format = 'portrait' !== $pdfOrientation ? 'A4-L' : 'A4-P'; $orientation = 'portrait' !== $pdfOrientation ? 'L' : 'P'; $fileName = get_lang('Thematic').'-'.api_get_local_time(); $title = get_lang('Thematic'); $signatures = ['Drh', 'Teacher', 'Date']; if ('export_documents' === $action) { $pdf = new PDF( $format, $orientation, [ 'filename' => $fileName, 'pdf_title' => $fileName, 'add_signatures' => $signatures, ] ); $pdf->exportFromHtmlToDocumentsArea($view->fetch($template), $fileName, $courseId); header('Location: '.$currentUrl); exit; } Export::export_html_to_pdf( $view->fetch($template), [ 'filename' => $fileName, 'pdf_title' => $title, 'add_signatures' => $signatures, 'format' => $format, 'orientation' => $orientation, ] ); break; case 'export_single_thematic': case 'export_single_documents': $view = new Template('', false, false, false, true, false, false); $view->assign('thematic', $thematicEntity); $template = $view->get_template('course_progress/pdf_single_thematic.tpl'); $pdfOrientation = api_get_configuration_value('thematic_pdf_orientation'); $format = 'portrait' !== $pdfOrientation ? 'A4-L' : 'A4-P'; $orientation = 'portrait' !== $pdfOrientation ? 'L' : 'P'; $title = get_lang('Thematic').'-'.$thematicEntity->getTitle(); $fileName = $title.'-'.api_get_local_time(); $signatures = ['Drh', 'Teacher', 'Date']; if ('export_single_documents' === $action) { $pdf = new PDF( $format, $orientation, [ 'filename' => $fileName, 'pdf_title' => $fileName, 'add_signatures' => $signatures, ] ); $pdf->exportFromHtmlToDocumentsArea( $view->fetch($template), $fileName, $courseId ); header('Location: '.$currentUrl); exit; } Export::export_html_to_pdf( $view->fetch($template), [ 'filename' => $fileName, 'pdf_title' => $title, 'add_signatures' => $signatures, 'format' => $format, 'orientation' => $orientation, ] ); break; case 'thematic_details': $actionLeft = ''. Display::return_icon( 'new_course_progress.png', get_lang('New thematic section'), '', ICON_SIZE_MEDIUM ).''; $actionLeft .= ''. Display::return_icon('import_csv.png', get_lang('Import course progress'), '', ICON_SIZE_MEDIUM).''; $actionLeft .= ''. Display::return_icon('export_csv.png', get_lang('Export course progress'), '', ICON_SIZE_MEDIUM).''; $actionLeft .= ''. Display::return_icon('pdf.png', get_lang('Export to PDF'), '', ICON_SIZE_MEDIUM).''; /*$actionLeft .= Display::url( Display::return_icon('export_to_documents.png', get_lang('Export latest version of this page to Documents'), [], ICON_SIZE_MEDIUM), api_get_self().'?'.api_get_cidreq().'&'.http_build_query(['action' => 'export_documents']).$url_token );*/ $total_average_of_advances = null; $tpl->assign('token', $url_token); $tpl->assign('is_allowed_to_edit', $isTeacher); $toolbar = null; if ($thematicEntity) { $thematic_data[$thematicId] = $thematicEntity; $data['total_average_of_advances'] = $thematicManager->get_average_of_advances_by_thematic($thematicId); } else { $thematic_data = $thematicManager->get_thematic_list(api_get_course_id(), api_get_session_id()); $max_thematic_item = $thematicManager->get_max_thematic_item(); $last_done_thematic_advance = $thematicManager->get_last_done_thematic_advance(); $total_average_of_advances = $thematicManager->get_total_average_of_thematic_advances(); } // Second column $thematic_plan_data = $thematicManager->get_thematic_plan_data(); // Third column $thematic_advance_data = $thematicManager->get_thematic_advance_list(null, null, true); if (!empty($message) && !empty($total_average_of_advances)) { $tpl->assign('message', $message); } $tpl->assign('score_progress', $total_average_of_advances); if (isset($last_id) && $last_id) { $link_to_thematic_plan = ''. Display::return_icon( 'lesson_plan.png', get_lang('Thematic plan'), ['style' => 'vertical-align:middle;float:none;'], ICON_SIZE_SMALL ).''; $link_to_thematic_advance = ''. Display::return_icon( 'lesson_plan_calendar.png', get_lang('Thematic advance'), ['style' => 'vertical-align:middle;float:none;'], ICON_SIZE_SMALL ).''; Display::addFlash( Display::return_message( get_lang('Thematic section has been created successfully').'
'.sprintf( get_lang('Now you should add thematic plan %s and thematic advance %s'), $link_to_thematic_plan, $link_to_thematic_advance ), 'confirmation', false ) ); } if (empty($thematicId)) { // display information $text = ''.get_lang('Information').': '; $text .= get_lang('Thematic view with details'); $message = Display::return_message($text, 'info', false); } $list = []; $listThematic = []; // Display thematic data if (!empty($thematic_data)) { /** @var CThematic $thematic */ foreach ($thematic_data as $thematic) { $id = $thematic->getIid(); //$list['id'] = $thematic->getIid(); //$list['id_course'] = $thematic['c_id']; //$list['id_session'] = $thematic['session_id']; //$list['title'] = Security::remove_XSS($thematic->getTitle(), STUDENT); //$list['content'] = Security::remove_XSS($thematic->getContent(), STUDENT); //$list['display_orden'] = $thematic->getDisplayOrder(); //$list['active'] = $thematic->getActive(); //$my_thematic_id = $thematic['id']; $session_star = ''; if (api_is_allowed_to_edit(null, true)) { if (api_get_session_id() == $thematic->getSessionId()) { $session_star = api_get_session_image(api_get_session_id(), $user_info['status']); } } //@todo add a validation in order to load or not course thematics in the session thematic $toolbarThematic = ''; if (api_is_allowed_to_edit(null, true)) { // Thematic title $toolbarThematic = Display::url( Display::return_icon( 'cd.png', get_lang('Copy'), null, ICON_SIZE_TINY ), 'index.php?'.api_get_cidreq().'&action=thematic_copy&thematic_id='.$id.$params.$url_token, ['class' => 'btn btn-default'] ); if (0 == api_get_session_id()) { if ($thematic->getDisplayOrder() > 1) { $toolbarThematic .= ' '. Display::return_icon('up.png', get_lang('Up'), '', ICON_SIZE_TINY).''; } else { $toolbarThematic .= '
'. Display::return_icon('up_na.png', ' ', '', ICON_SIZE_TINY).'
'; } //$thematic->getDisplayOrder() if ($thematic->getDisplayOrder() < $max_thematic_item) { $toolbarThematic .= ' '. Display::return_icon('down.png', get_lang('down'), '', ICON_SIZE_TINY).''; } else { $toolbarThematic .= '
'. Display::return_icon('down_na.png', ' ', '', ICON_SIZE_TINY).'
'; } } if (api_get_session_id() == $thematic->getSessionId()) { $toolbarThematic .= Display::url( Display::return_icon('pdf.png', get_lang('Export to PDF'), null, ICON_SIZE_TINY), api_get_self().'?'.api_get_cidreq()."$url_token&".http_build_query( [ 'action' => 'export_single_thematic', 'thematic_id' => $id, ] ), ['class' => 'btn btn-default'] ); $toolbarThematic .= Display::url( Display::return_icon( 'export_to_documents.png', get_lang('Export latest version of this page to Documents'), [], ICON_SIZE_TINY ), api_get_self().'?'.api_get_cidreq().$url_token.'&'.http_build_query( ['action' => 'export_single_documents', 'thematic_id' => $id] ), ['class' => 'btn btn-default'] ); $toolbarThematic .= '' .Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_TINY).''; $toolbarThematic .= '' .Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_TINY).''; } } $list['last_done'] = $last_done_thematic_advance; $list['toolbar'] = $toolbarThematic; $listThematic[] = $thematic; } } $tpl->assign('data', $listThematic); $thematicLayout = $tpl->get_template('course_progress/progress.html.twig'); $content = $tpl->fetch($thematicLayout); break; case 'thematic_list': $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Thematic control')]; $actionLeft = ''. Display::return_icon( 'new_course_progress.png', get_lang('New thematic section'), '', ICON_SIZE_MEDIUM ).''; $table = new SortableTable( 'thematic_list', ['Thematic', 'get_number_of_thematics'], ['Thematic', 'get_thematic_data'] ); $parameters['action'] = $action; $table->set_additional_parameters($parameters); $table->set_header(0, '', false, ['style' => 'width:20px;']); $table->set_header(1, get_lang('Title'), false); if (api_is_allowed_to_edit(null, true)) { $table->set_header( 2, get_lang('Detail'), false, ['style' => 'text-align:center;width:40%;'] ); $table->set_form_actions(['thematic_delete_select' => get_lang('Delete all thematics')]); } $content = $table->return_table(); break; case 'thematic_plan_add': case 'thematic_plan_edit': $interbreadcrumb[] = [ 'url' => 'index.php?'.api_get_cidreq().'&action=thematic_plan_list&thematic_id='.$thematicId, 'name' => get_lang('Thematic plan').' ('.$cleanThematicTitle.')', ]; if (!api_is_allowed_to_edit(null, true)) { api_not_allowed(); } if (isset($_POST['title'])) { $title_list = $_REQUEST['title']; $description_list = $_REQUEST['description']; $description_type = $_REQUEST['description_type']; for ($i = 1; $i < count($title_list) + 1; $i++) { $thematicManager->set_thematic_plan_attributes( $_REQUEST['thematic_id'], $title_list[$i], $description_list[$i], $description_type[$i] ); $thematicManager->thematic_plan_save(); } $saveRedirect = api_get_path(WEB_PATH).'main/course_progress/index.php?'; $saveRedirect .= api_get_cidreq().'&'; if (isset($_REQUEST['add_item'])) { $thematicManager->set_thematic_plan_attributes( $_REQUEST['thematic_id'], '', '', $i ); $thematicManager->thematic_plan_save(); Display::addFlash( Display::return_message(get_lang('Thematic section has been created successfully')) ); } header("Location: $saveRedirect"); exit; } if ($description_type >= ADD_THEMATIC_PLAN) { $header_form = get_lang('Other'); } else { $header_form = $default_thematic_plan_title[$description_type]; } if (!$error) { $token = md5(uniqid(rand(), true)); Session::write('thematic_plan_token', $token); } // display form $form = new FormValidator( 'thematic_plan_add', 'POST', 'index.php?action=thematic_plan_edit&thematic_id='.$thematicId.'&'.api_get_cidreq(), '', 'style="width: 100%;"' ); $form->addHidden('action', $action); $form->addHidden('thematic_plan_token', $token); if (!empty($thematicId)) { $form->addHidden('thematic_id', $thematicId); } if (!empty($description_type)) { $form->addHidden('description_type', $description_type); } $form->addText('title', get_lang('Title'), true, ['size' => '50']); $form->addHtmlEditor( 'description', get_lang('Description'), false, false, [ 'ToolbarStartExpanded' => 'false', 'ToolbarSet' => 'Basic', 'Width' => '80%', 'Height' => '150', ] ); $form->addButtonSave(get_lang('Save')); if ($description_type < ADD_THEMATIC_PLAN) { $default['title'] = $default_thematic_plan_title[$description_type]; } if (!empty($thematic_plan_data)) { // set default values $default['title'] = $thematic_plan_data[0]['title']; $default['description'] = $thematic_plan_data[0]['description']; } $form->setDefaults($default); if (isset($default_thematic_plan_question[$description_type])) { $message = ''.get_lang('Help').'
'; $message .= $default_thematic_plan_question[$description_type]; Display::addFlash(Display::return_message($message, 'normal', false)); } // error messages if ($error) { Display::addFlash( Display::return_message( get_lang('The form contains incorrect or incomplete data. Please check your input.'), 'error', false ) ); } $content = $form->returnForm(); break; case 'thematic_plan_delete': if (!api_is_allowed_to_edit(null, true)) { api_not_allowed(); } if (api_is_allowed_to_edit(null, true)) { $thematicManager->thematic_plan_destroy( $thematicId, $description_type ); } header('Location: '.$currentUrl); exit; break; case 'thematic_plan_list': if (!empty($thematicEntity)) { $interbreadcrumb[] = [ 'url' => '#', 'name' => get_lang('Thematic plan').' ('.$cleanThematicTitle.') ', ]; } /*$actionLeft = ''. Display::return_icon('new_course_progress.png', get_lang('New thematic section'), '', ICON_SIZE_MEDIUM).'';*/ $htmlHeadXtra[] = " "; $thematic_plan_data = $thematicManager->get_thematic_plan_data($thematicId); $description_type = isset($_GET['description_type']) ? (int) $_GET['description_type'] : null; if (!empty($thematicId) && !empty($description_type)) { $thematic_plan_data = $thematicManager->get_thematic_plan_data($thematicId, $description_type); } elseif (!empty($thematicId) && 'thematic_plan_list' === $action) { $thematic_plan_data = $thematicManager->get_thematic_plan_data($thematicId); } $default_thematic_plan_title = $thematicManager->get_default_thematic_plan_title(); $default_thematic_plan_icon = $thematicManager->get_default_thematic_plan_icon(); $next_description_type = $thematicManager->get_next_description_type($thematicId); $default_thematic_plan_question = $thematicManager->get_default_question(); //$thematic_data = $thematicManager->get_thematic_list($thematicId); //$tpl->assign('title_thematic', $thematic_data['title']); //$tpl->assign('content_thematic', $thematic_data['content']); //$tpl->assign('form_thematic', $formLayout); //$thematicLayout = $tpl->get_template('course_progress/thematic_plan.tpl'); //$content = $tpl->fetch($thematicLayout); // actions menu $new_thematic_plan_data = []; if (!empty($thematic_plan_data)) { /** @var CThematicPlan $thematic_item */ foreach ($thematic_plan_data as $thematic_item) { $thematic_simple_list[] = $thematic_item->getDescriptionType(); $new_thematic_plan_data[$thematic_item->getDescriptionType()] = $thematic_item; } } $new_id = ADD_THEMATIC_PLAN; if (!empty($thematic_simple_list)) { foreach ($thematic_simple_list as $item) { if ($item >= ADD_THEMATIC_PLAN) { $new_id = $item + 1; $default_thematic_plan_title[$item] = $new_thematic_plan_data[$item]->getTitle(); } } } $content = Display::tag('h2', $thematicEntity->getTitle()); $content .= $thematicEntity->getContent(); $token = Security::get_token(); Session::write('thematic_plan_token', $token); $form = new FormValidator( 'thematic_plan_add', 'POST', 'index.php?action=thematic_plan_list&thematic_id='.$thematicId.'&'.api_get_cidreq() ); $form->addHidden('action', 'thematic_plan_add'); $form->addHidden('thematic_plan_token', $token); $form->addHidden('thematic_id', $thematicId); foreach ($default_thematic_plan_title as $id => $title) { $btnDelete = Display::toolbarButton( get_lang('Delete'), '#', 'times', 'danger', ['role' => 'button', 'data-id' => $id, 'class' => 'btn-delete'] ); $form->addHidden('description_type['.$id.']', $id); $form->addText("title[$id]", [get_lang('Title'), null, $btnDelete], false); $form->addHtmlEditor( 'description['.$id.']', get_lang('Description'), false, false, [ 'ToolbarStartExpanded' => 'false', 'ToolbarSet' => 'Basic', 'Height' => '150', ] ); if (!empty($thematic_simple_list) && in_array($id, $thematic_simple_list)) { /** @var CThematicPlan $thematic_plan */ $thematic_plan = $new_thematic_plan_data[$id]; // set default values $default['title['.$id.']'] = $thematic_plan->getTitle(); $default['description['.$id.']'] = $thematic_plan->getDescription(); $thematic_plan = null; } else { $thematic_plan = null; $default['title['.$id.']'] = $title; $default['description['.$id.']'] = ''; } $form->setDefaults($default); } $form->addGroup( [ $form->addButton( 'add_item', get_lang('Save and add new item'), 'plus', 'info', 'default', null, [], true ), $form->addButtonSave(get_lang('Save'), 'submit', true), ] ); $content = $form->returnForm(); break; case 'thematic_advance_add': case 'thematic_advance_edit': if (!api_is_allowed_to_edit(null, true)) { api_not_allowed(); } /** @var CThematicAdvance $advance */ $advance = null; if (!empty($thematicEntity)) { $interbreadcrumb[] = [ 'url' => 'index.php?'.api_get_cidreq().'&action=thematic_advance_list&thematic_id='.$thematicId, 'name' => get_lang('Thematic advance').' ('.$cleanThematicTitle.')', ]; foreach ($thematicEntity->getAdvances() as $advanceItem) { if ($thematicAdvanceId === $advanceItem->getIid()) { $advance = $advanceItem; break; } } } else { $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('New thematic advance')]; } $header = get_lang('New thematic advance'); if ('thematic_advance_edit' === $action) { $header = get_lang('Edit thematic advance'); } // display form $form = new FormValidator( 'thematic_advance', 'POST', api_get_self().'?'.api_get_cidreq() ); $form->addHeader($header); //$form->addElement('hidden', 'thematic_advance_token',$token); $form->addHidden('action', $action); if ($advance) { $form->addHidden('thematic_advance_id', $advance->getIid()); } if (!empty($thematicId)) { $form->addHidden('thematic_id', $thematicId); } $radios = []; $radios[] = $form->createElement( 'radio', 'start_date_type', null, get_lang('Start date taken from an attendance date'), '1', [ 'onclick' => 'check_per_attendance(this)', 'id' => 'from_attendance', ] ); $radios[] = $form->createElement( 'radio', 'start_date_type', null, get_lang('Custom start date'), '2', [ 'onclick' => 'check_per_custom_date(this)', 'id' => 'custom_date', ] ); $form->addGroup($radios, null, get_lang('Start date options')); if (isset($thematic_advance_data['attendance_id']) && 0 == $thematic_advance_data['attendance_id']) { $form->addElement('html', '
'); } else { $form->addElement('html', ''); if (isset($thematic_advance_data['attendance_id']) && 0 == $thematic_advance_data['attendance_id'] ) { $form->addElement('html', '