]> git.mjollnir.org Git - moodle.git/commitdiff
Completed the module_check_backup_mods function (used in check.html)
authorstronk7 <stronk7>
Fri, 2 May 2003 00:54:51 +0000 (00:54 +0000)
committerstronk7 <stronk7>
Fri, 2 May 2003 00:54:51 +0000 (00:54 +0000)
backup/mod/assignment/backuplib.php
backup/mod/choice/backuplib.php
backup/mod/forum/backuplib.php

index ae33deb9c13493028c7afad0895da1e7be1d6eb7..e6767afbb6d6c8b835f7fb886ae6f19252874a6c 100644 (file)
@@ -4,7 +4,7 @@
 
     //This is the "graphical" structure of the assignment mod:
     //
-    //                   assignment
+    //                     assignment
     //                    (CL,pk->id)             
     //                        |
     //                        |
     //
     //-----------------------------------------------------------
 
-    function assignment_backup_mods() {
+    function assignment_backup_mods($course,$user_data=false) {
         print "hola";
     }
 
-    function assignment_check_backup_mods() {
-        print "hola";
+    //Return an array of info (name,value)
+    function assignment_check_backup_mods($course,$user_data=false) {
+        //First the course data
+        $info[0][0] = get_string("modulenameplural","assignment");
+        if ($ids = assignment_ids ($course)) {
+            $info[0][1] = count($ids);
+        } else {
+            $info[0][1] = 0;
+        }
+
+        //Now, if requested, the user_data
+        if ($user_data) {
+            $info[1][0] = get_string("submissions","assignment");
+            if ($ids = assignment_submission_ids_by_course ($course)) { 
+                $info[1][1] = count($ids);
+            } else {
+                $info[1][1] = 0;
+            }
+        }
+        return $info;
+    }
+
+
+
+
+
+
+    // INTERNAL FUNCTIONS. BASED IN THE MOD STRUCTURE
+
+    //Returns an array of assignments id 
+    function assignment_ids ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT a.id, a.course
+                                 FROM {$CFG->prefix}assignment a
+                                 WHERE a.course = '$course'");
+    }
+    
+    //Returns an array of assignment_submissions id
+    function assignment_submission_ids_by_course ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT s.id , s.assignment
+                                 FROM {$CFG->prefix}assignment_submissions s,
+                                      {$CFG->prefix}assignment a
+                                 WHERE a.course = '$course' AND
+                                       s.assignment = a.id");
     }
 ?>
index 1c9e9bdc4683f7123c2d068beee7ae7f14b8fdf5..7a41c9acee39325c9bedc1f8954da4d551ba23b9 100644 (file)
     //
     //-----------------------------------------------------------
 
-    function choice_backup_mods() {
+    function choice_backup_mods($course,$user_data=false) {
         print "hola";
     }
+   
+   ////Return an array of info (name,value)
+   function choice_check_backup_mods($course,$user_data=false) {
+        //First the course data
+        $info[0][0] = get_string("modulenameplural","choice");
+        if ($ids = choice_ids ($course)) {
+            $info[0][1] = count($ids);
+        } else {
+            $info[0][1] = 0;
+        }
+
+        //Now, if requested, the user_data
+        if ($user_data) {
+            $info[1][0] = get_string("responses","choice");
+            if ($ids = choice_answer_ids_by_course ($course)) {
+                $info[1][1] = count($ids);
+            } else {
+                $info[1][1] = 0;
+            }
+        }
+        return $info;
+    }
+
+
+
+
+
+
+    // INTERNAL FUNCTIONS. BASED IN THE MOD STRUCTURE
+
+    //Returns an array of choices id
+    function choice_ids ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT a.id, a.course
+                                 FROM {$CFG->prefix}choice a
+                                 WHERE a.course = '$course'");
+    }
+   
+    //Returns an array of choice_answers id
+    function choice_answer_ids_by_course ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT s.id , s.choice
+                                 FROM {$CFG->prefix}choice_answers s,
+                                      {$CFG->prefix}choice a
+                                 WHERE a.course = '$course' AND
+                                       s.choice = a.id");
+    }
 ?>
index d21caf5939e8debbdd2466396a2330cabbbf15f6..023ae99296f4ca3cdd3b9756c5141f2694ced145 100644 (file)
     function forum_backup_mods() {
         print "hola";
     }
+
+   ////Return an array of info (name,value)
+   function forum_check_backup_mods($course,$user_data=false) {
+        //First the course data
+        $info[0][0] = get_string("modulenameplural","forum");
+        if ($ids = forum_ids ($course)) {
+            $info[0][1] = count($ids);
+        } else {
+            $info[0][1] = 0;
+        }
+
+        //Now, if requested, the user_data
+        if ($user_data) {
+            //Subscriptions
+            $info[1][0] = get_string("subscriptions","forum");
+            if ($ids = forum_subscription_ids_by_course ($course)) {
+                $info[1][1] = count($ids);
+            } else {
+                $info[1][1] = 0;
+            }
+            //Discussions
+            $info[2][0] = get_string("discussions","forum");
+            if ($ids = forum_discussion_ids_by_course ($course)) {
+                $info[2][1] = count($ids);
+            } else {
+                $info[2][1] = 0;
+            }
+            //Posts
+            $info[3][0] = get_string("posts","forum");
+            if ($ids = forum_post_ids_by_course ($course)) {
+                $info[3][1] = count($ids);
+            } else {
+                $info[3][1] = 0;
+            }
+            //Ratings
+            $info[4][0] = get_string("ratings","forum");
+            if ($ids = forum_rating_ids_by_course ($course)) {
+                $info[4][1] = count($ids);
+            } else {
+                $info[4][1] = 0;
+            }
+        }
+        return $info;
+    }
+
+
+
+
+
+
+    // INTERNAL FUNCTIONS. BASED IN THE MOD STRUCTURE
+
+    //Returns an array of forums id
+    function forum_ids ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT a.id, a.course
+                                 FROM {$CFG->prefix}forum a
+                                 WHERE a.course = '$course'");
+    }
+
+    //Returns an array of forum subscriptions id
+    function forum_subscription_ids_by_course ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT s.id , s.forum
+                                 FROM {$CFG->prefix}forum_subscriptions s,
+                                      {$CFG->prefix}forum a
+                                 WHERE a.course = '$course' AND
+                                       s.forum = a.id");
+    }
+
+    //Returns an array of forum discussions id
+    function forum_discussion_ids_by_course ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT s.id , s.forum      
+                                 FROM {$CFG->prefix}forum_discussions s,    
+                                      {$CFG->prefix}forum a 
+                                 WHERE a.course = '$course' AND
+                                       s.forum = a.id"); 
+    }
+
+    //Returns an array of forum posts id
+    function forum_post_ids_by_course ($course) {
+
+        global $CFG;
+
+        return get_records_sql ("SELECT p.id , p.discussion, s.forum
+                                 FROM {$CFG->prefix}forum_posts p,
+                                      {$CFG->prefix}forum_discussions s,
+                                      {$CFG->prefix}forum a
+                                 WHERE a.course = '$course' AND
+                                       s.forum = a.id AND
+                                       p.discussion = s.id");
+    }
+
+    //Returns an array of ratings posts id      
+    function forum_rating_ids_by_course ($course) {      
+
+        global $CFG;
+
+        return get_records_sql ("SELECT r.id, r.post, p.discussion, s.forum
+                                 FROM {$CFG->prefix}forum_ratings r,
+                                      {$CFG->prefix}forum_posts p,
+                                      {$CFG->prefix}forum_discussions s,
+                                      {$CFG->prefix}forum a    
+                                 WHERE a.course = '$course' AND
+                                       s.forum = a.id AND   
+                                       p.discussion = s.id AND
+                                       r.post = p.id");
+    }
 ?>