";
//Check for temp and backup and backup_unique_code directory
//Create them as needed
echo "".get_string("creatingtemporarystructures").'';
$status = check_and_create_backup_dir($preferences->backup_unique_code);
//Empty dir
if ($status) {
$status = clear_backup_dir($preferences->backup_unique_code);
}
//Delete old_entries from backup tables
echo "".get_string("deletingolddata").'';
$status = backup_delete_old_data();
if (!$status) {
error ("An error occurred deleting old backup data");
}
//Create the moodle.xml file
if ($status) {
echo "".get_string("creatingxmlfile");
//Begin a new list to xml contents
echo "";
echo "- ".get_string("writingheader").'
';
//Obtain the xml file (create and open) and print prolog information
$backup_file = backup_open_xml($preferences->backup_unique_code);
echo "- ".get_string("writinggeneralinfo").'
';
//Prints general info about backup to file
if ($backup_file) {
if (!$status = backup_general_info($backup_file,$preferences)) {
notify("An error occurred while backing up general info");
}
}
echo "- ".get_string("writingcoursedata");
//Start new ul (for course)
echo "
";
echo "- ".get_string("courseinfo").'
';
//Prints course start (tag and general info)
if ($status) {
if (!$status = backup_course_start($backup_file,$preferences)) {
notify("An error occurred while backing up course start");
}
}
//Metacourse information
if ($status && $preferences->backup_metacourse) {
echo "- ".get_string("metacourse").'
';
if (!$status = backup_course_metacourse($backup_file,$preferences)) {
notify("An error occurred while backing up metacourse info");
}
}
echo "- ".get_string("blocks").'
';
//Blocks information
if ($status) {
if (!$status = backup_course_blocks($backup_file,$preferences)) {
notify("An error occurred while backing up course blocks");
}
}
echo "- ".get_string("sections").'
';
//Section info
if ($status) {
if (!$status = backup_course_sections($backup_file,$preferences)) {
notify("An error occurred while backing up course sections");
}
}
//End course contents (close ul)
echo " ";
//User info
if ($status) {
echo "- ".get_string("writinguserinfo").'
';
if (!$status = backup_user_info($backup_file,$preferences)) {
notify("An error occurred while backing up user info");
}
}
//If we have selected to backup messages and we are
//doing a SITE backup, let's do it
if ($status && $preferences->backup_messages && $preferences->backup_course == SITEID) {
echo "- ".get_string("writingmessagesinfo").'
';
if (!$status = backup_messages($backup_file,$preferences)) {
notify("An error occurred while backing up messages");
}
}
//If we have selected to backup quizzes, backup categories and
//questions structure (step 1). See notes on mod/quiz/backuplib.php
if ($status and !empty($preferences->mods['quiz']->backup)) {
echo "- ".get_string("writingcategoriesandquestions").'
';
require_once($CFG->dirroot.'/mod/quiz/backuplib.php');
if (!$status = backup_question_categories($backup_file,$preferences)) {
notify("An error occurred while backing up quiz categories");
}
}
//Print logs if selected
if ($status) {
if ($preferences->backup_logs) {
echo "- ".get_string("writingloginfo").'
';
if (!$status = backup_log_info($backup_file,$preferences)) {
notify("An error occurred while backing up log info");
}
}
}
//Print scales info
if ($status) {
echo "- ".get_string("writingscalesinfo").'
';
if (!$status = backup_scales_info($backup_file,$preferences)) {
notify("An error occurred while backing up scales");
}
}
//Print groups info
if ($status) {
echo "- ".get_string("writinggroupsinfo").'
';
if (!$status = backup_groups_info($backup_file,$preferences)) {
notify("An error occurred while backing up groups");
}
}
//Print events info
if ($status) {
echo "- ".get_string("writingeventsinfo").'
';
if (!$status = backup_events_info($backup_file,$preferences)) {
notify("An error occurred while backing up events");
}
}
//Print gradebook info
if ($status) {
echo "- ".get_string("writinggradebookinfo").'
';
if (!$status = backup_gradebook_info($backup_file,$preferences)) {
notify("An error occurred while backing up gradebook");
}
}
//Module info, this unique function makes all the work!!
//db export and module fileis copy
if ($status) {
$mods_to_backup = false;
//Check if we have any mod to backup
foreach ($preferences->mods as $module) {
if ($module->backup) {
$mods_to_backup = true;
}
}
//If we have to backup some module
if ($mods_to_backup) {
echo "- ".get_string("writingmoduleinfo");
//Start modules tag
if (!$status = backup_modules_start ($backup_file,$preferences)) {
notify("An error occurred while backing up module info");
}
//Open ul for module list
echo "
";
//Iterate over modules and call backup
foreach ($preferences->mods as $module) {
if ($module->backup and $status) {
echo "- ".get_string("modulenameplural",$module->name).'
';
if (!$status = backup_module($backup_file,$preferences,$module->name)) {
notify("An error occurred while backing up '$module->name'");
}
}
}
//Close ul for module list
echo " ";
//Close modules tag
if (!$status = backup_modules_end ($backup_file,$preferences)) {
notify("An error occurred while finishing the module backups");
}
}
}
//Prints course end
if ($status) {
if (!$status = backup_course_end($backup_file,$preferences)) {
notify("An error occurred while closing the course backup");
}
}
//Close the xml file and xml data
if ($backup_file) {
backup_close_xml($backup_file);
}
//End xml contents (close ul)
echo " ";
}
//Now, if selected, copy user files
if ($status) {
if ($preferences->backup_user_files) {
echo "".get_string("copyinguserfiles").'';
if (!$status = backup_copy_user_files ($preferences)) {
notify("An error occurred while copying user files");
}
}
}
//Now, if selected, copy course files
if ($status) {
if ($preferences->backup_course_files) {
echo "".get_string("copyingcoursefiles").'';
if (!$status = backup_copy_course_files_2 ($preferences)) {
notify("An error occurred while copying course files");
}
}
}
//Now, zip all the backup directory contents
if ($status) {
echo "".get_string("zippingbackup").'';
if (!$status = backup_zip ($preferences)) {
notify("An error occurred while zipping the backup");
}
}
//Now, copy the zip file to course directory
if ($status) {
echo "".get_string("copyingzipfile").'';
if (!$status = copy_zip_to_course_dir ($preferences)) {
notify("An error occurred while copying the zip file to the course directory");
}
}
//Now, clean temporary data (db and filesystem)
if ($status) {
echo "".get_string("cleaningtempdata").'';
if (!$status = clean_temp_data ($preferences)) {
notify("An error occurred while cleaning up temporary data");
}
}
//Ends th main ul
echo "";
//End the main tr, where all the backup is done
echo " |
";
//End the main table
echo "