]> git.mjollnir.org Git - moodle.git/commitdiff
New feature implemented allowing none-user course backups.
authorstronk7 <stronk7>
Thu, 20 May 2004 18:36:59 +0000 (18:36 +0000)
committerstronk7 <stronk7>
Thu, 20 May 2004 18:36:59 +0000 (18:36 +0000)
See bug 1420.
(http://moodle.org/bugs/bug.php?op=show&bugid=1420)

backup/backup_check.html
backup/backup_form.html
backup/backuplib.php
backup/restore_form.html

index 956f7c6662cd41f17af0f2471c4ece6dbe663540..226bff97e7382457a714feb6352edd244b543749 100644 (file)
     //Now print the To Do list
     echo "<tr>";    
     echo "<td colspan=\"2\" align=\"center\"><P><B>";
+
+    //Here we check if backup_users = None. Then, we switch off every module
+    //user info, user_files, logs and exercises and workshop backups. A Warning is showed to
+    //inform the user.
+    if ($backup_users == 2) {
+        if ($allmods = get_records("modules") ) {
+            foreach ($allmods as $mod) {
+                $modname = $mod->name;
+                $var = "backup_user_info_".$modname;
+                if (isset($$var)) {
+                    $$var = 0;
+                }
+                $var = "backup_".$modname;
+                if (isset($$var)) {
+                    if ($modname == "exercise" || $modname == "workshop") {
+                        $$var = 0;
+                    }
+                }
+            }
+        $backup_user_files = 0;
+        $backup_logs = 0;
+        }
+        print_simple_box("<font color=\"red\">".get_string("backupnoneusersinfo")."</font>","center", "70%", "$THEME->cellheading", "20", "noticebox");
+        echo "<hr noshade size=\"1\">";
+    }
+
     echo get_string("backupdetails").":";
     echo "</td></tr>";
 
         echo "<td colspan=\"2\"><P><B>";
         $user_options[0] = get_string("includeallusers");
         $user_options[1] = get_string("includecourseusers");
+        $user_options[2] = get_string("includenoneusers");
         echo "<li>".$user_options[$backup_users]."<P>";
         //Add as hidden name
         echo "<input type=\"hidden\" name=\"backup_users\" value=\"".$backup_users."\">";
index 379b5bf49a5c3784c469dd3105ce3b8661fb00dd..b93d490380e0f2eaf1fccd0e87fef5513842e290 100644 (file)
@@ -14,7 +14,6 @@
         }
     }
 
-
     //Check site
     if (!$site = get_site()) {
         error("Site not found!");
         echo "</td><td>";
         $user_options[0] = get_string("all");
         $user_options[1] = get_string("course");
-        //$user_options[2] = get_string("needed");-->NOT IMPLEMENTED
+        $user_options[2] = get_string("none");
         choose_from_menu($user_options, "backup_users", $backup_users, "");
         echo "</td></tr>";
 
index 0b2e7b23744d662e551d20b67f06009746b8bc26..93e2d1b9f1dd7d368e2736ca6f5338d38ee19470 100644 (file)
     function user_check_backup($course,$backup_unique_code,$backup_users) {
         //$backup_users=0-->all
         //              1-->course (needed + enrolled)
+        //              2-->none
 
         global $CFG;
         global $db;
 
         $count_users = 0;
+
+        //If we've selected none, simply return 0
+        if ($backup_users == 0 or $backup_users == 1) {
         
-        //Calculate needed users (calling every xxxx_get_participants function + scales users)
-        $needed_users = backup_get_needed_users($course);
+            //Calculate needed users (calling every xxxx_get_participants function + scales users)
+            $needed_users = backup_get_needed_users($course);
 
-        //Calculate enrolled users (students + teachers)
-        $enrolled_users = backup_get_enrolled_users($course);
+            //Calculate enrolled users (students + teachers)
+            $enrolled_users = backup_get_enrolled_users($course);
 
-        //Calculate all users (every record in users table)
-        $all_users = backup_get_all_users();
+            //Calculate all users (every record in users table)
+            $all_users = backup_get_all_users();
 
-        //Calculate course users (needed + enrolled)
-        //First, needed
-        $course_users = $needed_users;
+            //Calculate course users (needed + enrolled)
+            //First, needed
+            $course_users = $needed_users;
         
-        //Now, enrolled
-        if ($enrolled_users) {
-            foreach ($enrolled_users as $enrolled_user) {
-                $course_users[$enrolled_user->id]->id = $enrolled_user->id; 
+            //Now, enrolled
+            if ($enrolled_users) {
+                foreach ($enrolled_users as $enrolled_user) {
+                    $course_users[$enrolled_user->id]->id = $enrolled_user->id; 
+                }
             }
-        }
        
-        //Now, depending of parameters, create $backupable_users
-        if ($backup_users == 0) {
-            $backupable_users = $all_users;
-        } else {
-            $backupable_users = $course_users;
-        }
+            //Now, depending of parameters, create $backupable_users
+            if ($backup_users == 0) {
+                $backupable_users = $all_users;
+            } else {
+                $backupable_users = $course_users;
+            }
 
-        //If we have backupable users
-        if ($backupable_users) {
-            //Iterate over users putting their roles
-            foreach ($backupable_users as $backupable_user) {
-                $backupable_user->info = "";
-                //Is Admin in tables (not is_admin()) !!
-                if (record_exists("user_admins","userid",$backupable_user->id)) {
-                    $backupable_user->info .= "admin";
-                }
-                //Is Course Creator in tables (not is_coursecreator()) !!
-                if (record_exists("user_coursecreators","userid",$backupable_user->id)) {
-                    $backupable_user->info .= "coursecreator";
-                }
-                //Is Teacher in tables (not is_teacher()) !!
-                if (record_exists("user_teachers","course",$course,"userid",$backupable_user->id)) {
-                    $backupable_user->info .= "teacher";
-                }
-                //Is Student in tables (not is_student()) !!
-                if (record_exists("user_students","course",$course,"userid",$backupable_user->id)) {
-                    $backupable_user->info .= "student";
-                }
-                //Is needed user (exists in needed_users) 
-                if (isset($needed_users[$backupable_user->id])) {
-                    $backupable_user->info .= "needed";
+            //If we have backupable users
+            if ($backupable_users) {
+                //Iterate over users putting their roles
+                foreach ($backupable_users as $backupable_user) {
+                    $backupable_user->info = "";
+                    //Is Admin in tables (not is_admin()) !!
+                    if (record_exists("user_admins","userid",$backupable_user->id)) {
+                        $backupable_user->info .= "admin";
+                    }
+                    //Is Course Creator in tables (not is_coursecreator()) !!
+                    if (record_exists("user_coursecreators","userid",$backupable_user->id)) {
+                        $backupable_user->info .= "coursecreator";
+                    }
+                    //Is Teacher in tables (not is_teacher()) !!
+                    if (record_exists("user_teachers","course",$course,"userid",$backupable_user->id)) {
+                        $backupable_user->info .= "teacher";
+                    }
+                    //Is Student in tables (not is_student()) !!
+                    if (record_exists("user_students","course",$course,"userid",$backupable_user->id)) {
+                        $backupable_user->info .= "student";
+                    }
+                    //Is needed user (exists in needed_users) 
+                    if (isset($needed_users[$backupable_user->id])) {
+                        $backupable_user->info .= "needed";
+                    }
+                    //Now create the backup_id record
+                    $backupids_rec->backup_code = $backup_unique_code;
+                    $backupids_rec->table_name = "user";
+                    $backupids_rec->old_id = $backupable_user->id;
+                    $backupids_rec->info = $backupable_user->info;
+        
+                    //Insert the record id. backup_users decide it.
+                    //When all users
+                    $status = insert_record("backup_ids",$backupids_rec,false,"backup_code");
+                    $count_users++;
                 }
-                //Now create the backup_id record
-                $backupids_rec->backup_code = $backup_unique_code;
-                $backupids_rec->table_name = "user";
-                $backupids_rec->old_id = $backupable_user->id;
-                $backupids_rec->info = $backupable_user->info;
-    
-                //Insert the record id. backup_users decide it.
-                //When all users
-                $status = insert_record("backup_ids",$backupids_rec,false,"backup_code");
-                $count_users++;
+                //Do some output     
+                backup_flush(30);
             }
-            //Do some output     
-            backup_flush(30);
         }
-            
+
         //Prepare Info
         //Gets the user data
         $info[0][0] = get_string("users");
         //The user in backup
         if ($preferences->backup_users == 1) {
             fwrite ($bf,full_tag("USERS",3,false,"course"));
-        } else {
+        } else if ($preferences->backup_users == 0) {
             fwrite ($bf,full_tag("USERS",3,false,"all"));
+        } else {
+            fwrite ($bf,full_tag("USERS",3,false,"none"));
         }
         //The logs in backup
         if ($preferences->backup_logs == 1) {
index 0e1b4d9d9ed896c8402cccfc48716887e96e9ece..8bc28236517c47a61295c42db98efd0d193b53d0 100644 (file)
@@ -203,14 +203,20 @@ function selectItemInMenuByName(formId, menuName, selectIndex ) {
         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");
+        //If some user is present in the backup file
+        if ($info->backup_users == "all" or $info->backup_users == "course") {
+            //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");
+            choose_from_menu($user_options, "restore_users", $restore_users, "");
+        } else {
+            echo get_string("none");
+            echo "<input type=\"hidden\" name=\"restore_users\" value=\"2\">";
+
         }
-        $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