wwwroot/login/index.php");
}
} else {
if (!isadmin()) {
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!");
}
//Prepend dataroot to variable to have the absolute path
$file = $CFG->dataroot."/".$file;
//Start the main table
echo "
";
echo "";
//Start the mail ul
echo "";
//Check the file exists
if (!is_file($file)) {
error ("File not exists ($file)");
}
//Check the file name ends with .zip
if (!substr($file,-4) == ".zip") {
error ("File has an incorrect extension");
}
//Now calculate the unique_code for this restore
$backup_unique_code = time();
//Now check and create the backup dir (if it doesn't exist)
$status = check_and_create_backup_dir($backup_unique_code);
//Empty dir
if ($status) {
echo "- ".get_string("creatingtemporarystructures");
$status = clear_backup_dir($backup_unique_code);
}
//Now delete old data and directories under dataroot/temp/backup
if ($status) {
echo "
- ".get_string("deletingolddata");
$status = backup_delete_old_data();
}
//Now copy he zip file to dataroot/temp/backup/backup_unique_code
if ($status) {
echo "
- ".get_string("copyingzipfile");
$status = backup_copy_file($file,$CFG->dataroot."/temp/backup/".$backup_unique_code."/".basename($file));
}
//Now unzip the file
if ($status) {
echo "
- ".get_string("unzippingbackup");
$status = restore_unzip ($CFG->dataroot."/temp/backup/".$backup_unique_code."/".basename($file));
}
//Now check for the moodle.xml file
if ($status) {
$xml_file = $CFG->dataroot."/temp/backup/".$backup_unique_code."/moodle.xml";
echo "
- ".get_string("checkingbackup");
$status = restore_check_moodle_file ($xml_file);
}
$info = "";
$course_header = "";
//Now read the info tag (all)
if ($status) {
echo "
- ".get_string("readinginfofrombackup");
//Reading info from file
$info = restore_read_xml_info ($xml_file);
//Reading course_header from file
$course_header = restore_read_xml_course_header ($xml_file);
}
//End the main ul
echo "
";
//End the main table
echo " |
";
echo "
";
//Now we print in other table, the backup and the course it contains info
if ($info and $course_header and $status) {
//First, the course info
$status = restore_print_course_header($course_header);
//Now, the backup info
if ($status) {
$status = restore_print_info($info);
}
}
//Save course header and info into php session
if ($status) {
$SESSION->info = $info;
$SESSION->course_header = $course_header;
}
//Finally, a little form to continue
//with some hidden fields
if ($status) {
echo "
";
$hidden["backup_unique_code"] = $backup_unique_code;
$hidden["launch"] = "form";
$hidden["file"] = $file;
$hidden["id"] = $id;
print_single_button("restore.php", $hidden, get_string("continue"),"post");
echo "";
}
if (!$status) {
error ("An error has ocurred");
}
?>