$error_message = ''; if (isset($_POST['formSent']) && $_POST['formSent'] and $_FILES['import_file']['size'] !== 0) { $file_type = 'csv'; Security::clear_token(); $tok = Security::get_token(); $allowed_file_mimetype = array('csv', 'xml'); $error_kind_file = false; $uploadInfo = pathinfo($_FILES['import_file']['name']); $ext_import_file = $uploadInfo['extension']; if (in_array($ext_import_file, $allowed_file_mimetype)) { if (strcmp($file_type, 'csv') === 0 && $ext_import_file == $allowed_file_mimetype[0]) { $users = parse_csv_data($_FILES['import_file']['tmp_name']); $errors = validate_data($users); $error_kind_file = false; } elseif (strcmp($file_type, 'xml') === 0 && $ext_import_file == $allowed_file_mimetype[1]) { $users = parse_xml_data($_FILES['import_file']['tmp_name']); $errors = validate_data($users); $error_kind_file = false; } else { $error_kind_file = true; } } else { $error_kind_file = true; } // List user id with error. $users_to_insert = $user_id_error = array(); if (is_array($errors)) { foreach ($errors as $my_errors) { $user_id_error[] = $my_errors['UserName']; } }
if (isset($_GET['import'])) { $interbreadcrumb[] = array('url' => 'gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&' . api_get_cidreq(), 'name' => get_lang('ViewResult')); $import_result_form = new DataForm(DataForm::TYPE_IMPORT, 'import_result_form', null, api_get_self() . '?import=&selecteval=' . Security::remove_XSS($_GET['selecteval']), '_blank', ''); if (!$import_result_form->validate()) { Display::display_header(get_lang('Import')); } $eval[0]->check_lock_permissions(); if ($_POST['formSent']) { if (!empty($_FILES['import_file']['name'])) { $values = $import_result_form->exportValues(); $file_type = $_POST['file_type']; $file_name = $_FILES['import_file']['tmp_name']; if ($file_type == 'csv') { $results = Import::csvToArray($file_name); } else { $results = parse_xml_data($file_name); } $nr_results_added = 0; foreach ($results as $index => $importedresult) { //check username & score $importedresult['user_id'] = UserManager::get_user_id_from_username($importedresult['username']); $added = '0'; foreach ($allresults as $allresult) { if ($importedresult['user_id'] == $allresult->get_user_id()) { if ($importedresult['score'] != $allresult->get_score()) { if (!isset($values['overwrite'])) { header('Location: gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&import_score_error=' . $importedresult['user_id']); exit; break; } else { GradebookUtils::overwritescore($allresult->get_id(), $importedresult['score'], $eval[0]->get_max());