]> git.mjollnir.org Git - moodle.git/commitdiff
Finished the check phase.
authorstronk7 <stronk7>
Thu, 22 May 2003 22:11:17 +0000 (22:11 +0000)
committerstronk7 <stronk7>
Thu, 22 May 2003 22:11:17 +0000 (22:11 +0000)
Tomorrow I'll start recovering course info !!

backup/restore.php
backup/restore_check.html

index 55e1cc0a622aae2ffd533753f00a1f0d24dc863b..dde24dd42c26cf46e4b78b4c3ca89bb3fbe4da10 100644 (file)
@@ -66,8 +66,7 @@
     //Print header
     print_header("$site->shortname: $strcourserestore", $site->fullname,
                  "<A HREF=\"$moodle_home/$CFG->admin/index.php\">$stradministration</A> ->
-                  <A HREF=\"restore.php?file=".$file."\">$strcourserestore</A> -> ".basename($file));
-
+                  $strcourserestore -> ".basename($file));
     //Print form
     print_heading("$strcourserestore: ".basename($file));
     print_simple_box_start("center", "", "$THEME->cellheading");
@@ -80,7 +79,7 @@
     } else if ($launch == "check") {
         include_once("restore_check.html");
     } else if ($launch == "execute") {
-        include_once("backup_execute.html");
+        include_once("restore_check.html");
     }
     print_simple_box_end();
 
index 7f0c15e998838203af60a504907b62e56cf90c91..c5a0310df05f7b5a2e02ba25b0ffabf3f3f706ec 100644 (file)
@@ -9,15 +9,16 @@
     if ($SESSION) {
         $info = $SESSION->info;
         $course_header = $SESSION->course_header;
+        $restore = $SESSION->restore;
     }
 
-    //Check that we have all we need
-
-    //backup_unique_code
-    require_variable($backup_unique_code);
+    //If restore session info exists, but we are posting parameters
+    //manually, this has prioriry
+    if ($restore and isset($restore_restoreto)) {
+        unset($restore);
+    }
 
-    //file
-    require_variable($file);
+    //Check required objects from session
 
     //info
     require_variable($info);
     //course_header
     require_variable($course_header);
 
-    //Checks for the required restoremod parameters
-    if ($allmods = get_records("modules")) {
-        foreach ($allmods as $mod) {
-            $modname = $mod->name;
-            echo $modname;
-            $var = "restore_".$modname;
-            echo $var;
-            require_variable($$var); 
-            $var = "restore_user_info_".$modname;
-            echo $var."<br>";
-            require_variable($$var);
+    //If the restore object doesn't exist, we are going
+    //to check every variable individually and create it
+
+    if (!$restore) {
+        //Check that we have all we need
+        //backup_unique_code
+        require_variable($backup_unique_code);
+        //file
+        require_variable($file);
+        //Checks for the required restoremod parameters
+        if ($allmods = get_records("modules")) {
+            foreach ($allmods as $mod) {
+                $modname = $mod->name;
+                $var = "restore_".$modname;
+                require_variable($$var); 
+                $var = "restore_user_info_".$modname;
+                require_variable($$var);
+            }
+        }
+        //restoreto
+        require_variable($restore_restoreto);
+        //restore_users
+        require_variable($restore_users);
+        //restore_logs
+        require_variable($restore_logs);
+        //restore_user_files
+        require_variable($restore_user_files);
+        //restore_course_files
+        require_variable($restore_course_files);
+        //restore_course_files
+        require_variable($restore_course_files);
+
+        //Check we've selected a course
+        if (!isset($course_id)) {
+            $course_id = 0;
+        }
+        //We are here, having all we need !!
+        //Create the restore object and put it in the session
+        $restore->backup_unique_code = $backup_unique_code;
+        $restore->file = $file;
+        if ($allmods = get_records("modules")) {
+            foreach ($allmods as $mod) {
+                $modname = $mod->name;
+                $var = "restore_".$modname;
+                $restore->mods[$modname]->restore=$$var;
+                $var = "restore_user_info_".$modname;
+                $restore->mods[$modname]->userinfo=$$var;
+            }
+        }
+        $restore->restoreto=$restore_restoreto;
+        $restore->users=$restore_users;
+        $restore->logs=$restore_logs;
+        $restore->user_files=$restore_user_files;
+        $restore->course_files=$restore_course_files;
+        $restore->course_id=$course_id;
+    } else {
+        //We have the object, so check if we have a new course_id
+        //passed as parammeter
+        if ($course_id) {
+            $restore->course_id=$course_id;
         }
     }
+    //We have the object with data, put it in the session
+    $SESSION->restore = $restore;
+
+    //From here to the wnd of the script, only use the $restore object
 
     //Check login
     require_login();
     //Check site
     if (!$site = get_site()) {
         error("Site not found!");
-    } 
-
-    //Check other parameters
-    if (!isset($restore_users)) {
-        $restore_users = 1;
-    }
-   
-    if (!isset($restore_logs)) {
-        $restore_logs = 1;
-    }
-
-    if (!isset($restore_user_files)) {
-        $restore_user_files = 1;
-    }
-
-    if (!isset($restore_course_files)) {
-        $restore_course_files = 1;
-    }
-
-    if (!isset($restore_restoreto)) {
-        $restore_restoreto = 1;
-    }
-
-    if ($count == 0) {
-        notice("No restorable modules are installed!");
     }
-
-?>
-
-<form name="form" method="post" <?=$onsubmit ?> action="<?=$ME ?>">
-<table cellpadding=5>
-<?
-
-    //First, course destination
-    //Print the full tr
-    echo "<tr>";
-    echo "<td align=\"right\"><P><b>";
-    echo get_string("restoreto").":</b>";
-    echo "</td><td>";
-    $restore_restoreto_options[0] = get_string("existingcourse");
-    $restore_restoreto_options[1] = get_string("newcourse"); 
-    choose_from_menu($restore_restoreto_options, "restore_restoreto", $restore_restoreto, "");
-    echo "</td></tr>";
-    //Line
-    echo "<tr><td colspan=\"2\"><hr noshade size=\"1\"></td></tr>";
-    //Now, check modules and info and show posibilities
-    if ($allmods = get_records("modules") ) {
-        foreach ($allmods as $mod) {
-            $modname = $mod->name;
-            $modrestore = $modname."_restore_mods";
-            //If exists the lib & function
-            $exist = "exists_".$modname;
-            $var = "restore_".$modname;
-            if ($$exist) {
-                //Now check that we have that module info in the backup file
-                if ($info->mods[$modname]->backup == "true") {
-                    //Print the full tr
-                    echo "<tr>";
-                    echo "<td align=\"right\"><P><B>";
-                    echo get_string("include")." ". get_string("modulenameplural",$modname).":";
-                    echo "</td><td>";
-                    $restore_options[0] = get_string("no"); 
-                    $restore_options[1] = get_string("yes");
-                    choose_from_menu($restore_options, $var, $$var, "");
-                    $var = "restore_user_info_".$modname;
-                    //If backup contains user data, then show menu, else fix it to
-                    //without user data
-                    if ($info->mods[$modname]->userinfo == "true") {
-                        $restore_user_options[0] = get_string("withoutuserdata"); 
-                        $restore_user_options[1] = get_string("withuserdata");
-                        choose_from_menu($restore_user_options, $var, $$var, "");
-                    } else {
-                        //Module haven't userdata
-                        echo get_string("withoutuserdata");
-                        echo "<input type=\"hidden\" name=\"$var\" value=\"0\">";
-                    }
-                    echo "</td></tr>";
-                } else {
-                    //Module isn't restorable
-                    echo "<input type=\"hidden\" name=\"$var\" value=\"0\">";
-                }
-            } else {
-                //Module isn't restorable
-                echo "<input type=\"hidden\" name=\"$var\" value=\"0\">";
+    //Depending the selected restoreto:
+    //    0-Existing course: Select the destination course and launch the check again.
+    //    1-New course: Create the restore object (checking everything) and launch the execute.
+
+    //Select course
+    if (($restore->restoreto == 0) and ($restore->course_id == 0)) {
+        if ($courses = get_courses()) {
+            print_heading(get_string("choosecourse"));
+            print_simple_box_start("CENTER");
+            foreach ($courses as $course) {
+            echo "<A HREF=\"restore.php?course_id=$course->id&launch=check&file=$file\">$course->fullname ($course->shortname)</A><BR>";
             }
-        }
-        //Line
-        echo "<tr><td colspan=\"2\"><hr noshade size=\"1\"></td></tr>";
-
-        //Now print the Users tr
-        echo "<tr>";
-        echo "<td align=\"right\"><P><B>";
-        echo get_string("users").":";
-        echo "</td><td>";
-        //If all users are in the backup file
-        if ($info->backup_users == "all") {
-            $user_options[0] = get_string("all");
-        }
-        $user_options[1] = get_string("course");
-        $user_options[2] = get_string("none");
-        //$user_options[2] = get_string("needed");-->NOT IMPLEMENTED
-        choose_from_menu($user_options, "restore_users", $restore_users, "");
-        echo "</td></tr>";
-
-        //Now print the Logs tr
-        echo "<tr>";
-        echo "<td align=\"right\"><P><B>";
-        echo get_string("logs").":";                                               
-        echo "</td><td>";
-        //If logs are in the backup file, show menu, else fixed to no
-        if ($info->backup_logs == "true") {
-            $log_options[0] = get_string("no");
-            $log_options[1] = get_string("yes"); 
-            choose_from_menu($log_options, "restore_logs", $restore_logs, ""); 
+            print_simple_box_end();
         } else {
-            echo get_string("no");
-            echo "<input type=\"hidden\" name=\"restore_logs\" value=\"0\">";
+            print_heading(get_string("nocoursesyet"));
+            print_continue("$moodle_home/$CFG->admin/index.php");
         }
-        echo "</td></tr>";
-
-        //Now print the User Files tr
-        echo "<tr>";
-        echo "<td align=\"right\"><P><B>";
-        echo get_string ("userfiles").":";
-        echo "</td><td>";
-        //If user files are in the backup file, show menu, else fixed to no
-        if ($info->backup_user_files == "true") {
-            $user_file_options[0] = get_string("no"); 
-            $user_file_options[1] = get_string("yes"); 
-            choose_from_menu($user_file_options, "restore_user_files", $restore_user_files, "");
-        } else {
-            echo get_string("no");
-            echo "<input type=\"hidden\" name=\"restore_user_files\" value=\"0\">";
+    //Checks everything and execute restore
+    } else if ((($restore->restoreto == 0) and ($restore->course_id != 0)) or ($restore->restoreto == 1)) {
+        $show_continue_button = true;
+        //Check if we've selected any mod's user info and restore->users 
+        //is set to none. Change it to course and inform.
+        if ($restore->users == 2) {
+            $changed = false;
+            $mods = $restore->mods;
+            foreach ($mods as $mod) {
+                if ($mod->userinfo) {
+                    $changed = true;
+                }
+            }
+            if ($changed) {
+                echo get_string ("noteuserschangednonetocourse");
+                echo "<hr noshade size=\"1\">";
+                $restore->users = 1;
+            }
         }
-        echo "</td></tr>";
-
-        //Now print the Course Files tr
-        echo "<tr>";
-        echo "<td align=\"right\"><P><B>";
-        echo get_string ("coursefiles").":";
-        echo "</td><td>";
-        //If course files are in the backup file, show menu, else fixed to no
-        if ($info->backup_course_files == "true") {
-            $course_file_options[0] = get_string("no");
-            $course_file_options[1] = get_string("yes");
-            choose_from_menu($course_file_options, "restore_course_files", $restore_course_files, "");
+        //Save the restore session object
+        $SESSION->restore = $restore;
+        if ($show_continue_button) {
+            //Print the continue button to execute the restore NOW !!!!
+            //All is prepared !!!
+            echo "<CENTER>";
+            echo get_string("presscontinuetolaunchrestore");
+            echo "<br>";
+            $hidden["launch"]             = "execute";
+            $hidden["file"]               =  $file;
+            print_single_button("restore.php", $hidden, get_string("continue"),"post");
+            echo "</CENTER>";
         } else {
-            echo get_string("no");
-            echo "<input type=\"hidden\" name=\"restore_course_files\" value=\"0\">";
-        }
-        echo "</td></tr>";
-        echo "<input type=\"hidden\" name=\"backup_unique_code\" value=\"$backup_unique_code\">";
-        echo "<input type=\"hidden\" name=\"file\" value=\"$file\">";
+            //Show error
+            error ("Something was wrong checking restore preferences");
+        } 
+
+    //If we are here. Something must be wrong. Debug !!!
+    } else {
+        print_object($restore);
+        print_object($info);
+        print_object($course_header);
+        error ("Something must be wrong");
     }
+
 ?>
-</table>
-<BR>
-<CENTER>
-<input type="hidden" name=id     value="<? p($id) ?>">
-<input type="hidden" name=launch value="form">
-<input type="submit" value="<? print_string("continue") ?>">
-<input type="submit" name=cancel value="<? print_string("cancel") ?>">
-</CENTER>
-</FORM>