api_get_path(WEB_CODE_PATH).'exercise/exercise.php?'.api_get_cidreq(), 'name' => get_lang('Tests'), ]; $is_allowedToEdit = api_is_allowed_to_edit(null, true); /** * This function displays the form to import the zip file with qti2. */ function displayForm() { $form = '
'; $form .= ''. Display::return_icon('back.png', get_lang('BackToTestsList'), '', ICON_SIZE_MEDIUM).''; $form .= '
'; $formValidator = new FormValidator( 'qti_upload', 'post', api_get_self().'?'.api_get_cidreq(), null, ['enctype' => 'multipart/form-data'] ); $formValidator->addHeader(get_lang('Import exercises Qti2')); $formValidator->addElement('file', 'userFile', get_lang('Download file')); $formValidator->addButtonImport(get_lang('Upload')); $form .= $formValidator->returnForm(); echo $form; } /** * This function will import the zip file with the respective qti2. * * @param array $array_file ($_FILES) * * @return string|array */ function importFile($array_file) { $unzip = 0; $process = process_uploaded_file($array_file, false); if (preg_match('/\.zip$/i', $array_file['name'])) { // if it's a zip, allow zip upload $unzip = 1; } if ($process && $unzip == 1) { $main_path = api_get_path(SYS_CODE_PATH); require_once $main_path.'exercise/export/exercise_import.inc.php'; require_once $main_path.'exercise/export/qti2/qti2_classes.php'; return import_exercise($array_file['name']); } return 'FileError'; } $message = null; // import file if (api_is_allowed_to_edit(null, true)) { if (isset($_POST['submit'])) { $imported = importFile($_FILES['userFile']); if (is_numeric($imported) && !empty($imported)) { header('Location: '.api_get_path(WEB_CODE_PATH).'exercise/admin.php?'.api_get_cidreq().'&exerciseId='.$imported); exit; } else { $message = Display::return_message(get_lang($imported)); } } } Display::display_header(get_lang('Import exercises Qti2'), 'Exercises'); echo $message; // display qti form displayForm(); Display::display_footer();