id)) { if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) { if (empty($to)) { error("You need to be a teacher or admin user to use this page.", "$CFG->wwwroot/login/index.php"); } else { if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) { error("You need to be a teacher or admin user to use this page.", "$CFG->wwwroot/login/index.php"); } } } } else { if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM, SITEID))) { error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/index.php"); } } //Check site if (!$site = get_site()) { error("Site not found!"); } //Checks for the required files/functions to backup every mod //And check if there is data about it $count = 0; if ($allmods = get_records("modules") ) { foreach ($allmods as $mod) { $modname = $mod->name; $modfile = "$CFG->dirroot/mod/$modname/backuplib.php"; $modbackup = $modname."_backup_mods"; $modbackupone = $modname.'_backup_one_mod'; $modcheckbackup = $modname."_check_backup_mods"; if (file_exists($modfile)) { include_once($modfile); if (function_exists($modbackup) and function_exists($modcheckbackup)) { $var = "exists_".$modname; $$var = true; $count++; // check that there are instances and we can back them up individually if (count_records('course_modules','course',$course->id,'module',$mod->id) && function_exists($modbackupone)) { $var = 'exists_one_'.$modname; $$var = true; } } } //Check data //Check module info $var = "backup_".$modname; $$var = optional_param( $var,1); //Check include user info $var = "backup_user_info_".$modname; $$var = optional_param( $var,1); } } //Check other parameters $backup_metacourse = optional_param('backup_metacourse',1); $backup_users = optional_param('backup_users',1); $backup_logs = optional_param('backup_logs',0); $backup_user_files = optional_param('backup_user_files',1); $backup_course_files = optional_param('backup_course_files',1); $backup_messages = optional_param('backup_messages',1); if ($count == 0) { notice("No backupable modules are installed!"); } ?>
"; echo ""; echo ""; echo ""; echo ""; $currentrow = 0; foreach ($allmods as $mod) { $modname = $mod->name; $modbackup = $modname."_backup_mods"; //If exists the lib & function $var = "exists_".$modname; if (isset($$var) && $$var) { //Print the full tr echo ""; echo " \n"; // if we have the backup_one_mod function, loop here. $var = 'exists_one_'.$modname; if (!empty($$var)) { echo ''; } } } //Line echo "\n"; if (empty($to)) { //Now print the Metacourse tr echo ""; echo ""; } else { echo ''; } if (empty($to)) { //Now print the Users tr echo ""; echo ""; } else { echo ''; } if (empty($to)) { //Now print the Logs tr echo ""; echo ""; } else { echo ''; } if (empty($to)) { //Now print the User Files tr echo ""; echo ""; } else { echo ''; } //Now print the Course Files tr echo ""; echo ""; if (empty($to) && $course->id == SITEID) { //If we are in a SITEID backup print the Messages tr echo ""; echo ""; } else { echo ''; } } $backup_unique_code = time(); //Calculate the backup string //Calculate the backup word //Take off some characters in the filename !! $takeoff = array(" ", ":", "/", "\\", "|"); $backup_word = str_replace($takeoff,"_",moodle_strtolower(get_string("backupfilename"))); //If non-translated, use "backup" if (substr($backup_word,0,1) == "[") { $backup_word= "backup"; } //Calculate the date format string $backup_date_format = str_replace(" ","_",get_string("backupnameformat")); //If non-translated, use "%Y%m%d-%H%M" if (substr($backup_date_format,0,1) == "[") { $backup_date_format = "%%Y%%m%%d-%%H%%M"; } //Calculate the shortname $backup_shortname = clean_filename($course->shortname); if (empty($backup_shortname) or $backup_shortname == '_' ) { $backup_shortname = $course->id; } //Calculate the final backup filename //The backup word $backup_name = $backup_word."-"; //The shortname $backup_name .= moodle_strtolower($backup_shortname)."-"; //The date format $backup_name .= userdate(time(),$backup_date_format,99,false); //The extension $backup_name .= ".zip"; //And finally, clean everything $backup_name = clean_filename($backup_name); //Calculate the backup unique code to allow simultaneus backups (to define //the temp-directory name and records in backup temp tables ?>
"; echo ''.get_string("include").":"; echo ""; echo "". get_string("all")."/"; echo "". get_string("none").""; echo ""; echo ' '; echo ""; echo "". get_string("all")."/"; echo "". get_string("none").""; echo "

 "; echo "\n"; $backup_options[0] = get_string("no"); $backup_options[1] = get_string("yes"); $var = "backup_".$modname; //choose_from_menu($backup_options, $var, $$var, ""); //Print the checkbox print_checkbox($var, $$var, $$var, get_string("modulenameplural",$modname),'','selectItemInCheckboxByName(\'form1\',\'backup_'.$modname.'\',this.checked)'); echo " "; echo ""; $var = "backup_user_info_".$modname; if (empty($to)) { $backup_user_options[0] = get_string("withoutuserdata"); $backup_user_options[1] = get_string("withuserdata"); //choose_from_menu($backup_user_options, $var, $$var, ""); print_checkbox($var, $$var, $$var, get_string("userdata"),'','selectItemInCheckboxByName(\'form1\',\'backup_user_info_'.$modname.'\',this.checked)'); } else { echo ''; } echo "
'; $instances = get_all_instances_in_course($modname,$course); foreach ($instances as $instance) { echo ''; } echo '
'; $var = 'backup_'.$modname.'_instance_'.$instance->id; $$var = optional_param($var,1); print_checkbox($var,$$var,$$var,$instance->name,$instance->name,'this.form.elements[\'backup_'.$modname.'\'].checked=1;'); echo ' '; $var = 'backup_user_info_'.$modname.'_instance_'.$instance->id; $$var = optional_param($var,1); if (empty($to)) { print_checkbox($var,$$var,$$var,get_string('userdata'),'','this.form.elements[\'backup_user_info_'.$modname.'\'].checked=1;'); } else { echo ''; } echo '

"; echo get_string ("metacourse").":"; echo ""; $meta_options[0] = get_string("no"); $meta_options[1] = get_string("yes"); choose_from_menu($meta_options, "backup_metacourse", $backup_metacourse, ""); echo "
"; echo get_string("users").":"; echo ""; $user_options[0] = get_string("all"); $user_options[1] = get_string("course"); $user_options[2] = get_string("none"); choose_from_menu($user_options, "backup_users", $backup_users, ""); echo "
"; echo get_string("logs").":"; echo ""; $log_options[0] = get_string("no"); $log_options[1] = get_string("yes"); choose_from_menu($log_options, "backup_logs", $backup_logs, ""); echo "
"; echo get_string ("userfiles").":"; echo ""; $user_file_options[0] = get_string("no"); $user_file_options[1] = get_string("yes"); choose_from_menu($user_file_options, "backup_user_files", $backup_user_files, ""); echo "
"; echo get_string ("coursefiles").":"; echo ""; $course_file_options[0] = get_string("no"); $course_file_options[1] = get_string("yes"); choose_from_menu($course_file_options, "backup_course_files", $backup_course_files, ""); echo "
"; echo get_string ('messages','message').":"; echo ""; $mess_options[0] = get_string("no"); $mess_options[1] = get_string("yes"); choose_from_menu($mess_options, "backup_messages", $backup_messages, ""); echo "

" /> " />