'index.php', 'name' => get_lang('PlatformAdmin')]; $confirmYourChoice = addslashes(get_lang('ConfirmYourChoice')); $htmlHeadXtra[] = " "; $sessionSelectList = [0 => get_lang('Select')]; foreach ($sessionList as $item) { $sessionSelectList[$item['session_id']] = $item['session_name']; } $courseSelectList = [0 => get_lang('Select')]; foreach ($courseList as $item) { $courseItemId = $item['real_id']; $courseInfo = api_get_course_info_by_id($courseItemId); $courseSelectList[$courseItemId] = ''; if ($courseItemId == $courseId) { $courseSelectList[$courseItemId] = '>    '; } $courseSelectList[$courseItemId] = $courseInfo['title']; } // If course has changed, reset the menu default if (!empty($courseSelectList) && !in_array($courseId, array_keys($courseSelectList))) { $courseId = 0; } $courseInfo = api_get_course_info_by_id($courseId); // Get exercise list for this course $exerciseList = ExerciseLib::get_all_exercises_for_course_id( $courseInfo, $sessionId, $courseId, false ); $exerciseSelectList = []; $exerciseSelectList = [0 => get_lang('Select')]; if (is_array($exerciseList)) { foreach ($exerciseList as $row) { $exerciseTitle = $row['title']; $exerciseSelectList[$row['iid']] = $exerciseTitle; } } $url = api_get_self().'?'.api_get_cidreq().'&'.http_build_query( [ 'session_id' => $sessionId, 'selected_course' => $courseId, 'exerciseId' => $exerciseId, 'course_id_changed' => $courseIdChanged, 'exercise_id_changed' => $exerciseIdChanged, ] ); // Form $form = new FormValidator('export_all_results_form', 'GET', $url); $form->addHeader(get_lang('ExportExerciseAllResults')); $form ->addSelect( 'session_id', get_lang('Session'), $sessionSelectList, ['onchange' => 'submit_form(this)', 'id' => 'session_id'] ) ->setSelected($sessionId); $form ->addSelect( 'selected_course', get_lang('Course'), $courseSelectList, ['onchange' => 'mark_course_id_changed(); submit_form(this);', 'id' => 'selected_course'] ) ->setSelected($courseId); $form ->addSelect( 'exerciseId', get_lang('Exercise'), $exerciseSelectList ) ->setSelected($exerciseId); $form->addDateTimePicker('start_date', get_lang('StartDate')); $form->addDateTimePicker('end_date', get_lang('EndDate')); $form->addRule('start_date', get_lang('InvalidDate'), 'datetime'); $form->addRule('end_date', get_lang('InvalidDate'), 'datetime'); $form->addRule( ['start_date', 'end_date'], get_lang('StartDateShouldBeBeforeEndDate'), 'date_compare', 'lte' ); $form->addHidden('course_id_changed', '0'); $form->addHidden('exercise_id_changed', '0'); $form->addButtonExport(get_lang('Export'), 'name'); if ($form->validate()) { $values = $form->getSubmitValues(); if (!empty($values['exerciseId']) && !empty($values['selected_course'])) { $sessionId = (int) $values['session_id']; $courseId = (int) $values['selected_course']; $exerciseId = (int) $values['exerciseId']; $filterDates = [ 'start_date' => (!empty($values['start_date']) ? $values['start_date'] : ''), 'end_date' => (!empty($values['end_date']) ? $values['end_date'] : ''), ]; ExerciseLib::exportExerciseAllResultsZip($sessionId, $courseId, $exerciseId, $filterDates); } } Display::display_header(get_lang('ExportExerciseAllResults')); echo Display::return_message( get_lang('PleaseWaitThisCouldTakeAWhile'), 'normal', false ); $form->display(); Display::display_footer();