]> git.mjollnir.org Git - moodle.git/commitdiff
Initial version. Form to select where and what to restore.
authorstronk7 <stronk7>
Sun, 18 May 2003 21:41:08 +0000 (21:41 +0000)
committerstronk7 <stronk7>
Sun, 18 May 2003 21:41:08 +0000 (21:41 +0000)
backup/restore_form.html [new file with mode: 0644]

diff --git a/backup/restore_form.html b/backup/restore_form.html
new file mode 100644 (file)
index 0000000..d284829
--- /dev/null
@@ -0,0 +1,185 @@
+<?PHP //$Id$
+    //This page prints the restore form to select everything yo want
+    //to restore. Form is dinamically buid, depending of "info" object
+    //that contains the backup contents and depending of every mod
+    //capabilities.
+
+    //Get objects from session
+    $info = $SESSION->info;
+    $course_header = $SESSION->course_header;
+
+    //Check that we have all we need
+    //backup_unique_code
+    require_variable($backup_unique_code);
+    //file
+    require_variable($file);
+    //info
+    require_variable($info);
+    //course_header
+    require_variable($course_header);
+
+    //Check login
+    require_login();
+
+    //Check admin
+    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!");
+    } 
+
+   //Checks for the required files/functions to restore 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 = "$mods_home/$modname/restorelib.php";
+            $modrestore = $modname."_restore_mods";
+            $modcheckrestore = $modname."_check_restore_mods";
+            if (file_exists($modfile)) {
+               include_once($modfile);
+               if (function_exists($modrestore) and function_exists($modcheckrestore)) {
+                   $var = "exists_".$modname;
+                   $$var = true;
+                   $count++;
+               }
+            }
+            //Check data
+            //Check module info
+            $var = "restore_".$modname;
+            if (!isset($$var)) {
+                $$var = 1;
+            }
+            //Check include user info
+            $var = "restore_user_info_".$modname;
+            if (!isset($$var)) {
+                $$var = 1;
+            }
+        }
+    }
+
+    //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
+            $var = "exists_".$modname;
+            if ($$var) {
+                //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");
+                $var = "restore_".$modname;
+                choose_from_menu($restore_options, $var, $$var, "");
+                $restore_user_options[0] = get_string("withoutuserdata"); 
+                $restore_user_options[1] = get_string("withuserdata");
+                $var = "restore_user_info_".$modname;
+                choose_from_menu($restore_user_options, $var, $$var, "");
+                echo "</td></tr>";
+            }
+        }
+        //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>";
+        $user_options[0] = get_string("all");
+        $user_options[1] = get_string("course");
+        //$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>";
+        $log_options[0] = get_string("no");
+        $log_options[1] = get_string("yes"); 
+        choose_from_menu($log_options, "restore_logs", $restore_logs, ""); 
+        echo "</td></tr>";
+
+        //Now print the User Files tr
+        echo "<tr>";
+        echo "<td align=\"right\"><P><B>";
+        echo get_string ("userfiles").":";
+        echo "</td><td>";
+        $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, "");
+        echo "</td></tr>";
+
+        //Now print the Course Files tr
+        echo "<tr>";
+        echo "<td align=\"right\"><P><B>";
+        echo get_string ("coursefiles").":";
+        echo "</td><td>";
+        $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, "");
+        echo "</td></tr>";
+    }
+?>
+</table>
+<BR>
+<CENTER>
+<input type="hidden" name=id     value="<? p($id) ?>">
+<input type="hidden" name=launch value="check">
+<input type="submit" value="<? print_string("continue") ?>">
+<input type="submit" name=cancel value="<? print_string("cancel") ?>">
+</CENTER>
+</FORM>