exportCompleteReportCSV($documentPath, $hotpotatoes_path); exit; } else { api_not_allowed(true); } } $actions = null; if ($is_allowedToEdit && $origin != 'learnpath') { // the form if (api_is_platform_admin() || api_is_course_admin() || api_is_course_tutor() || api_is_session_general_coach()) { $actions .= ''. Display::return_icon('save.png', get_lang('Export'), '', ICON_SIZE_MEDIUM).''; } } else { $actions .= ''. Display::return_icon('back.png', get_lang('GoBackToQuestionList'), '', ICON_SIZE_MEDIUM).''; } if ($is_allowedToEdit) { $action = isset($_GET['action']) ? $_GET['action'] : null; switch ($action) { case 'delete': $fileToDelete = isset($_GET['id']) ? $_GET['id'] : null; deleteAttempt($fileToDelete); Display::addFlash(Display::return_message(get_lang('ItemDeleted'))); $url = api_get_self().'?'.api_get_cidreq().'&path='.$hotpotatoes_path; header("Location: $url"); exit; break; } } $nameTools = get_lang('Results'); if ($is_allowedToEdit || $is_tutor) { $nameTools = get_lang('StudentScore'); $interbreadcrumb[] = ["url" => "exercise.php", "name" => get_lang('Exercises')]; $objExerciseTmp = new Exercise(); /*if ($objExerciseTmp->read($exercise_id)) { $interbreadcrumb[] = array("url" => "admin.php?exerciseId=".$exercise_id, "name" => $objExerciseTmp->name); }*/ } else { $interbreadcrumb[] = ["url" => "exercise.php", "name" => get_lang('Exercises')]; $objExerciseTmp = new Exercise(); /*if ($objExerciseTmp->read($exercise_id)) { $nameTools = get_lang('Results').': '.$objExerciseTmp->name; }*/ } Display :: display_header($nameTools); $actions = Display::div($actions, ['class'=> 'actions']); $extra = ''; $extra .= '
'; $form = new FormValidator('report', 'post', null, null, ['class' => 'form-vertical']); $form->addElement('radio', 'export_format', null, get_lang('ExportAsCSV'), 'csv', ['id' => 'export_format_csv_label']); //$form->addElement('radio', 'export_format', null, get_lang('ExportAsXLS'), 'xls', array('id' => 'export_format_xls_label')); //$form->addElement('checkbox', 'load_extra_data', null, get_lang('LoadExtraData'), '0', array('id' => 'export_format_xls_label')); $form->setDefaults(['export_format' => 'csv']); $extra .= $form->returnForm(); $extra .= '
'; if ($is_allowedToEdit) { echo $extra; } echo $actions; $url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_hotpotatoes_exercise_results&path='.$hotpotatoes_path.'&filter_by_user='.$filter_user; $action_links = ''; // Generating group list $group_list = GroupManager::get_group_list(); $group_parameters = ['group_all:'.get_lang('All'), 'group_none:'.get_lang('None')]; foreach ($group_list as $group) { $group_parameters[] = $group['id'].':'.$group['name']; } if (!empty($group_parameters)) { $group_parameters = implode(';', $group_parameters); } if ($is_allowedToEdit || $is_tutor) { // The order is important you need to check the the $column variable in the model.ajax.php file $columns = [ get_lang('FirstName'), get_lang('LastName'), get_lang('LoginName'), get_lang('Group'), get_lang('StartDate'), get_lang('Score'), get_lang('Actions') ]; // Column config // @todo fix search firstname/lastname that doesn't work. rmove search for the moment $column_model = [ ['name' => 'firstname', 'index' => 'firstname', 'width' => '50', 'align' => 'left', 'search' => 'false'], [ 'name' => 'lastname', 'index' => 'lastname', 'width' => '50', 'align' => 'left', 'formatter' => 'action_formatter', 'search' => 'false', ], [ 'name' => 'login', 'hidden' => 'true', 'index' => 'username', 'width' => '40', 'align' => 'left', 'search' => 'false', ], ['name' => 'group_name', 'index' => 'group_id', 'width' => '40', 'align' => 'left', 'search' => 'false'], ['name' => 'exe_date', 'index' => 'exe_date', 'width' => '60', 'align' => 'left', 'search' => 'false'], ['name' => 'score', 'index' => 'exe_result', 'width' => '50', 'align' => 'left', 'search' => 'false'], ['name' => 'actions', 'index' => 'actions', 'width' => '60', 'align' => 'left', 'search' => 'false'], ]; $action_links = ' // add username as title in lastname filed - ref 4226 function action_formatter(cellvalue, options, rowObject) { // rowObject is firstname,lastname,login,... get the third word var loginx = "'.api_htmlentities(sprintf(get_lang("LoginX"), ":::"), ENT_QUOTES).'"; var tabLoginx = loginx.split(/:::/); // tabLoginx[0] is before and tabLoginx[1] is after ::: // may be empty string but is defined return ""+cellvalue+""; }'; } else { //The order is important you need to check the the $column variable in the model.ajax.php file $columns = [ get_lang('StartDate'), get_lang('Score'), get_lang('Actions') ]; //Column config // @todo fix search firstname/lastname that doesn't work. rmove search for the moment $column_model = [ ['name' => 'exe_date', 'index' => 'exe_date', 'width' => '60', 'align' => 'left', 'search' => 'false'], ['name' => 'score', 'index' => 'exe_result', 'width' => '50', 'align' => 'left', 'search' => 'false'], ['name' => 'actions', 'index' => 'actions', 'width' => '60', 'align' => 'left', 'search' => 'false'], ]; } //Autowidth $extra_params['autowidth'] = 'true'; //height auto $extra_params['height'] = 'auto'; ?>