'../exercise.php?'.api_get_cidreq(), 'name' => get_lang('Exercises')]; $confirmYourChoice = addslashes(get_lang('ConfirmYourChoice')); $htmlHeadXtra[] = " "; // Get exercise list for this course $exerciseList = ExerciseLib::get_all_exercises_for_course_id( $courseInfo, $sessionId, $courseId, false ); $exerciseSelectList = []; $exerciseSelectList = [0 => get_lang('All')]; 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, 'exerciseId' => $exerciseId, 'exercise_id_changed' => $exerciseIdChanged, ] ); // Form $form = new FormValidator('export_all_results_form', 'GET', $url); $form->addHeader(get_lang('ExportExerciseAllResults')); $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('exercise_id_changed', '0'); $form->addButtonExport(get_lang('Export'), 'name'); if ($form->validate()) { $values = $form->getSubmitValues(); $exerciseId = (int) $values['exerciseId']; $filterDates = [ 'start_date' => (!empty($values['start_date']) ? $values['start_date'] : ''), 'end_date' => (!empty($values['end_date']) ? $values['end_date'] : ''), ]; if ($exerciseId === 0) { ExerciseLib::exportAllExercisesResultsZip($sessionId, $courseId, $filterDates); } else { ExerciseLib::exportExerciseAllResultsZip($sessionId, $courseId, $exerciseId, $filterDates); } } Display::display_header(get_lang('ExportExerciseAllResults')); echo $form->display(); Display::display_footer();