api_get_path(WEB_CODE_PATH).'course_info/maintenance.php?'.api_get_cidreq(), 'name' => get_lang('Maintenance'), ]; $form = new FormValidator('cc_import', 'post', api_get_self().'?'.api_get_cidreq()); $form->addFile('cc_file', get_lang('IMSCCFile')); $form->addButtonImport(get_lang('Import')); if ($form->validate()) { $file = $_FILES['cc_file']; if (empty($file['tmp_name'])) { $errorMessage = get_lang('UplUploadFailed'); echo Display::return_message($errorMessage, 'error', false); } else { $allowedFileMimetype = ['imscc']; $extImportFile = substr($file['name'], (strrpos($file['name'], '.') + 1)); if (!in_array($extImportFile, $allowedFileMimetype)) { echo Display::return_message(get_lang('YouMustImportAFileAccordingToSelectedOption'), 'error'); } else { // Unzip the whole archive into app/cache/imsccImport/, which is a *temporary* directory $baseDir = api_get_path(SYS_ARCHIVE_PATH); $uploadPath = 'imsccImport/'; $errors = []; if (!is_dir($baseDir.$uploadPath)) { @mkdir($baseDir.$uploadPath); } $filepath = $baseDir.$uploadPath; if (!Imscc13Import::unzip($file['tmp_name'], $filepath)) { return false; } // We detect if it is cc v1.3 $detected = Imscc13Import::detectFormat($filepath); if ($detected) { $importObject = new Imscc13Import(); $importObject->execute($filepath); Display::addFlash(Display::return_message(get_lang('IMSCCFileImported'), 'normal', false)); } } } } $template = new Template(get_lang('ImportCcVersion13')); Display::addFlash(Display::return_message(get_lang('IMSCCImportInstructions'), 'normal', false)); $template->assign('form', $form->returnForm()); $templateName = $template->get_template('common_cartridge/import_cc.tpl'); $content = $template->fetch($templateName); $template->assign('header', get_lang('ImportCcVersion13')); $template->assign('content', $content); $template->display_one_col_template();