]> git.mjollnir.org Git - moodle.git/commitdiff
Now metacourse in supported in manual and scheduled backups. It can be configured
authorstronk7 <stronk7>
Fri, 4 Feb 2005 14:33:51 +0000 (14:33 +0000)
committerstronk7 <stronk7>
Fri, 4 Feb 2005 14:33:51 +0000 (14:33 +0000)
in both backups. Please check if the used structure and exported data has sense!

backup/CHANGES_14_15.txt
backup/backup_check.html
backup/backup_execute.html
backup/backup_form.html
backup/backup_scheduled.php
backup/backuplib.php
backup/config.html

index 8fef95fa07812b0b11b38b5295bf1d8e68dab816..5f9f1d258beb32fd2288c188a5562dd96e7d972b 100644 (file)
@@ -36,10 +36,10 @@ Now I show the specific detailed status of every item in the process:
           mimic it.
 22. TODO: Review the wiki module fully (if possible, try to make binary
           uploaded contents to work).
-23. TODO: Add support for metacourses in backup and restore. Show a new option
+23. PROG: Add support for metacourses in backup and restore. Show a new option
           to decide what to do (ignore, process).
 24. DONE: Take out THEME from backup directory.
 25. TODO: Add support for forum_read table in backup and restore.
-26. TODO: chat_users->course and chat_users->lang.
+26. DONE: chat_users->course and chat_users->lang. No changes required!
 Eloy (stronk7)
 23-01-2004
index 32ecf8b5a9c4fb8afef5a13382a7e9ac9c2b3c6d..525585188f252b956fa8eed318b0f045ba194ba9 100644 (file)
     }
 
     //Check other parameters
+    if (!isset($backup_metacourse)) {
+        $backup_metacourse = 1;
+    }
+   
     if (!isset($backup_users)) {
         $backup_users = 1;
     }
             }
         }
         
+        //Write metacourse hidden field
+        echo "<input type=\"hidden\" name=\"backup_metacourse\" value=\"".$backup_metacourse."\">";
+
         if (empty($to)) {
             //Line
             echo "<tr><td colspan=\"2\"><hr noshade size=\"1\"></td></tr>";
-            
+
             //Now print the Users tr
             echo "<tr>";
             echo "<td colspan=\"2\"><p><b>";
index fad9a5c018409142d92ec114a0d76b93ba0eb6b4..41fb9a1d45733cf35296524e162868ea38a57b35 100644 (file)
     }
 
     //Check other parameters
+    if (!isset($backup_metacourse)) {
+        $backup_metacourse = 1;
+    }
+    $preferences->backup_metacourse = $backup_metacourse;
+   
     if (!isset($backup_users)) {
         $backup_users = 1;
     }
                 notify("An error occurred while backing up course start");
             }
         }
+        //Metacourse information
+        if ($status && $preferences->backup_metacourse) {
+            echo "<li>".get_string("metacourse");
+            if (!$status = backup_course_metacourse($backup_file,$preferences)) {
+                notify("An error occurred while backing up metacourse info");
+            }
+        }
         echo "<li>".get_string("blocks");
         //Blocks information
         if ($status) {
index 7c542858b8305bc129cd00a12cea1cef0f0b9b86..23b54cab253320e085abe4af2e925eb19d505f72 100644 (file)
     }
 
     //Check other parameters
+    if (!isset($backup_metacourse)) {
+        $backup_metacourse = 1;
+    }
+
     if (!isset($backup_users)) {
         $backup_users = 1;
     }
         //Line
         echo "<tr><td colspan=\"2\"><hr noshade size=\"1\"></td></tr>";
         
+        if (empty($to)) {
+            //Now print the Metacourse tr
+            echo "<tr>";
+            echo "<td align=\"right\"><P><B>";
+            echo get_string ("metacourse").":";
+            echo "</td><td>";
+            $meta_options[0] = get_string("no"); 
+            $meta_options[1] = get_string("yes"); 
+            choose_from_menu($meta_options, "backup_metacourse", $backup_metacourse, "");
+            echo "</td></tr>";
+        }
+        else {
+            echo '<input type="hidden" name="backup_metacourse" value="0" />';
+        }
+
         if (empty($to)) {
             //Now print the Users tr
             echo "<tr>";
index 5df076233780b6775e6d8dc6e493134afb9f2927..3dfd083186b8b50a80bc2d111e91a4a779271fd9 100644 (file)
@@ -307,6 +307,9 @@ function schedule_backup_course_configure($course,$starttime = 0) {
         if (!isset($backup_config->backup_sche_withuserdata)) {
             $backup_config->backup_sche_withuserdata = 1;
         }
+        if (!isset($backup_config->backup_sche_metacourse)) {
+            $backup_config->backup_sche_metacourse = 1;
+        }
         if (!isset($backup_config->backup_sche_users)) {
             $backup_config->backup_sche_users = 1;
         }
@@ -381,6 +384,7 @@ function schedule_backup_course_configure($course,$starttime = 0) {
     
     //Convert other parameters
     if ($status) {
+        $preferences->backup_metacourse = $backup_config->backup_sche_metacourse;
         $preferences->backup_users = $backup_config->backup_sche_users;
         $preferences->backup_logs = $backup_config->backup_sche_logs;
         $preferences->backup_user_files = $backup_config->backup_sche_userfiles;
@@ -558,6 +562,12 @@ function schedule_backup_course_execute($preferences,$starttime = 0) {
             $status = backup_course_start($backup_file,$preferences);
         }
 
+        //Metacourse information
+        if ($status && $preferences->backup_metacourse) {
+            schedule_backup_log($starttime,$preferences->backup_course,"      metacourse info");
+            $status = backup_course_metacourse($backup_file,$preferences);
+        }
+
         //Block info
         if ($status) {
             schedule_backup_log($starttime,$preferences->backup_course,"      blocks info");
index 7187f65dd301898758442f613e12f9d2c39c235a..b1026a79586522ffc13f25cdab4908d8c743c7c3 100644 (file)
             //Print the end
             fwrite ($bf,end_tag("MOD",3,true));
         }
+        //The metacourse in backup
+        if ($preferences->backup_metacourse == 1) {
+            fwrite ($bf,full_tag("METACOURSE",3,false,"true"));
+        } else {
+            fwrite ($bf,full_tag("METACOURSE",3,false,"false"));
+        }
         //The user in backup
         if ($preferences->backup_users == 1) {
             fwrite ($bf,full_tag("USERS",3,false,"course"));
             fwrite ($bf,full_tag("VISIBLE",3,false,$course->visible));
             fwrite ($bf,full_tag("HIDDENSECTIONS",3,false,$course->hiddensections));
             fwrite ($bf,full_tag("TIMECREATED",3,false,$course->timecreated));
-            $status = fwrite ($bf,full_tag("TIMEMODIFIED",3,false,$course->timemodified));
+            fwrite ($bf,full_tag("TIMEMODIFIED",3,false,$course->timemodified));
+            //If not selected, force metacourse to 0
+            if (!$preferences->backup_metacourse) {
+                $status = fwrite ($bf,full_tag("METACOURSE",3,false,'0'));
+            //else, export the field as is in DB
+            } else {
+                $status = fwrite ($bf,full_tag("METACOURSE",3,false,$course->metacourse));
+            }
             //Print header end
             fwrite ($bf,end_tag("HEADER",2,true));
         } else { 
 
     }
 
-    //Prints course's sections info (table block_instance)
+    //Prints course's metacourse info (table course_meta)
+    function backup_course_metacourse ($bf,$preferences) {
+
+        global $CFG;
+
+        $status = true;
+
+        //Get info from meta
+        $parents = get_records_sql ("SELECT m.*, c.idnumber, c.shortname
+                                     FROM {$CFG->prefix}course_meta m,
+                                          {$CFG->prefix}course c
+                                          WHERE m.child_course = '$preferences->backup_course' AND
+                                                m.parent_course = c.id");
+        $childs =  get_records_sql ("SELECT m.*, c.idnumber, c.shortname
+                                     FROM {$CFG->prefix}course_meta m,
+                                          {$CFG->prefix}course c
+                                          WHERE m.parent_course = '$preferences->backup_course' AND
+                                                m.child_course = c.id");
+
+        if ($parents || $childs) {
+            //metacourse open tag
+            fwrite ($bf,start_tag("METACOURSE",2,true));
+            if ($parents) {
+                fwrite($bf, start_tag("PARENTS",3,true));
+                //Iterate over every parent    
+                foreach ($parents as $parent) {
+                    //Begin parent
+                    fwrite ($bf,start_tag("PARENT",4,true));
+                    fwrite ($bf,full_tag("ID",5,false,$parent->parent_course));
+                    fwrite ($bf,full_tag("IDNUMBER",5,false,$parent->idnumber));
+                    fwrite ($bf,full_tag("SHORTNAME",5,false,$parent->shortname));
+                    //End parent
+                    fwrite ($bf,end_tag("PARENT",4,true));
+                }
+                fwrite ($bf,end_tag("PARENTS",3,true));
+            }
+            if ($childs) {
+                fwrite($bf, start_tag("CHILDS",3,true));
+                //Iterate over every child    
+                foreach ($childs as $child) {
+                    //Begin parent
+                    fwrite ($bf,start_tag("CHILD",4,true));
+                    fwrite ($bf,full_tag("ID",5,false,$child->child_course));
+                    fwrite ($bf,full_tag("IDNUMBER",5,false,$child->idnumber));
+                    fwrite ($bf,full_tag("SHORTNAME",5,false,$child->shortname));
+                    //End parent
+                    fwrite ($bf,end_tag("CHILD",4,true));
+                }
+                fwrite ($bf,end_tag("CHILDS",3,true));
+            }
+            //metacourse close tag
+            $status = fwrite ($bf,end_tag("METACOURSE",3,true));
+        }
+
+        return $status;
+
+    }
+
+
+    //Prints course's blocks info (table block_instance)
     function backup_course_blocks ($bf,$preferences) {
 
         global $CFG;
index 5bf164a91e48a1bb1ba09ee4fe73745fc6b1803c..3ce9151d4403be1e0e7c2daa20a255c4fe287fc8 100644 (file)
@@ -20,6 +20,9 @@
     if (!isset($backup_config->backup_sche_withuserdata)) {
         $backup_config->backup_sche_withuserdata = 1;
     }
+    if (!isset($backup_config->backup_sche_metacourse)) {
+        $backup_config->backup_sche_metacourse = 1;
+    }
     if (!isset($backup_config->backup_sche_users)) {
         $backup_config->backup_sche_users = 1;
     }
     <?php print_string("backupincludemoduleshelp") ?>
     </td>
 </tr>
+<tr valign="top">
+    <td align="right"><p><?php print_string("metacourse") ?>:</td>
+    <td>
+    <?php choose_from_menu($yesno_array, "backup_sche_metacourse", $backup_config->backup_sche_metacourse, "") ?>
+    </td>
+    <td>
+    <?php print_string("backupmetacoursehelp") ?>  
+    </td>
+</tr>
 <tr valign="top">
     <td align="right"><p><?php print_string("users") ?>:</td>
     <td>