} else { if (isset($_POST['action']) && $_POST['action'] == 'course_select_form') { $recycle_type = 'select_items'; } } $cr = new CourseRecycler($course); $cr->recycle($recycle_type); Display::display_confirmation_message(get_lang('RecycleFinished')); } elseif (Security::check_token('post') && (isset($_POST['recycle_option']) && $_POST['recycle_option'] == 'select_items')) { // Clear token Security::clear_token(); $cb = new CourseBuilder(); $course = $cb->build(); // Add token to Course select form $hiddenFields['sec_token'] = Security::get_token(); CourseSelectForm::display_form($course, $hiddenFields); } else { $cb = new CourseBuilder(); $course = $cb->build(); if (!$course->has_resources()) { echo get_lang('NoResourcesToRecycle'); } else { Display::display_warning_message(get_lang('RecycleWarning'), false); $form = new FormValidator('recycle_course', 'post', api_get_self() . '?' . api_get_cidreq()); $form->addElement('header', get_lang('SelectOptionForBackup')); $form->addElement('radio', 'recycle_option', null, get_lang('FullRecycle'), 'full_backup'); $form->addElement('radio', 'recycle_option', null, get_lang('LetMeSelectItems'), 'select_items'); $form->addButtonSave(get_lang('RecycleCourse')); $form->setDefaults(array('recycle_option' => 'select_items')); // Add Security token $token = Security::get_token();
} CourseArchiver::clean_backup_dir(); // @todo fix fatal error due a file upload header('Location: ' . api_get_path(WEB_COURSE_PATH) . api_get_course_path() . '/index.php'); exit; } elseif (isset($_POST['import_option']) && $_POST['import_option'] == 'select_items') { if ($_POST['backup_type'] == 'server') { $filename = $_POST['backup_server']; $delete_file = false; } else { $filename = CourseArchiver::import_uploaded_file($_FILES['backup']['tmp_name']); $delete_file = true; } $course = CourseArchiver::read_course($filename, $delete_file); if ($course->has_resources() && $filename !== false) { CourseSelectForm::display_form($course, array('same_file_name_option' => $_POST['same_file_name_option'])); } elseif ($filename === false) { Display::display_error_message(get_lang('ArchivesDirectoryNotWriteableContactAdmin')); echo '<a class="btn" href="import_backup.php?' . api_get_cidreq() . '">' . get_lang('TryAgain') . '</a>'; } else { Display::display_warning_message(get_lang('NoResourcesInBackupFile')); echo '<a class="btn" href="import_backup.php?' . api_get_cidreq() . '">' . get_lang('TryAgain') . '</a>'; } } else { $user = api_get_user_info(); $user = $is_platformAdmin ? null : $user['user_id']; $backups = CourseArchiver::get_available_backups($user); $backups_available = count($backups) > 0; $form = new FormValidator('import_backup_form', 'post', api_get_path(WEB_PUBLIC_PATH) . 'main/coursecopy/import_backup.php', '', 'multipart/form-data'); $form->addElement('header', get_lang('SelectBackupFile')); $renderer = $form->defaultRenderer();
} $recycle_type = ""; if (isset($_POST['recycle_option']) && $_POST['recycle_option'] == 'full_backup') { $recycle_type = 'full_backup'; } else { if (isset($_POST['action']) && $_POST['action'] == 'course_select_form') { $recycle_type = 'select_items'; } } $cr = new CourseRecycler($course); $cr->recycle($recycle_type); Display::display_confirmation_message(get_lang('RecycleFinished')); } elseif (isset($_POST['recycle_option']) && $_POST['recycle_option'] == 'select_items') { $cb = new CourseBuilder(); $course = $cb->build(); CourseSelectForm::display_form($course); } else { $cb = new CourseBuilder(); $course = $cb->build(); if (!$course->has_resources()) { echo get_lang('NoResourcesToRecycle'); } else { Display::display_warning_message(get_lang('RecycleWarning'), false); $form = new FormValidator('recycle_course', 'post', 'recycle_course.php?' . api_get_cidreq()); $form->addElement('header', get_lang('SelectOptionForBackup')); $form->addElement('radio', 'recycle_option', null, get_lang('FullRecycle'), 'full_backup'); $form->addElement('radio', 'recycle_option', null, get_lang('LetMeSelectItems'), 'select_items'); $form->addElement('style_submit_button', 'submit', get_lang('RecycleCourse'), 'class="save"'); $form->setDefaults(array('recycle_option' => 'select_items')); $form->display(); }
$course = CourseSelectForm::get_posted_course('copy_course'); } else { $cb = new CourseBuilder(); $course = $cb->build(); } $cr = new CourseRestorer($course); $cr->set_file_option($_POST['same_file_name_option']); $cr->restore($_POST['destination_course']); Display::display_normal_message(get_lang('CopyFinished') . ': <a href="' . api_get_course_url($_POST['destination_course']) . '">' . $_POST['destination_course'] . '</a>', false); } elseif (isset($_POST['copy_option']) && $_POST['copy_option'] == 'select_items') { $cb = new CourseBuilder(); $course = $cb->build(); $hidden_fields = array(); $hidden_fields['same_file_name_option'] = $_POST['same_file_name_option']; $hidden_fields['destination_course'] = $_POST['destination_course']; CourseSelectForm::display_form($course, $hidden_fields, true); } else { $table_c = Database::get_main_table(TABLE_MAIN_COURSE); $table_cu = Database::get_main_table(TABLE_MAIN_COURSE_USER); $user_info = api_get_user_info(); $course_info = api_get_course_info(); $sql = 'SELECT * FROM ' . $table_c . ' c, ' . $table_cu . ' cu WHERE cu.c_id = c.id'; if (!api_is_platform_admin()) { $sql .= ' AND cu.status=1 '; } $sql .= ' AND target_course_code IS NULL AND cu.user_id = ' . $user_info['user_id'] . ' AND c.code != ' . "'" . $course_info['sysCode'] . "'" . ' ORDER BY title ASC'; $res = Database::query($sql); if (Database::num_rows($res) == 0) { Display::display_normal_message(get_lang('NoDestinationCoursesAvailable')); } else { $options = array();