From: stronk7 Date: Fri, 2 May 2003 00:54:51 +0000 (+0000) Subject: Completed the module_check_backup_mods function (used in check.html) X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=d67257815d8bdc8790a956ba4cd4957e9c419b0a;p=moodle.git Completed the module_check_backup_mods function (used in check.html) --- diff --git a/backup/mod/assignment/backuplib.php b/backup/mod/assignment/backuplib.php index ae33deb9c1..e6767afbb6 100644 --- a/backup/mod/assignment/backuplib.php +++ b/backup/mod/assignment/backuplib.php @@ -4,7 +4,7 @@ //This is the "graphical" structure of the assignment mod: // - // assignment + // assignment // (CL,pk->id) // | // | @@ -21,11 +21,58 @@ // //----------------------------------------------------------- - 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"); } ?> diff --git a/backup/mod/choice/backuplib.php b/backup/mod/choice/backuplib.php index 1c9e9bdc46..7a41c9acee 100644 --- a/backup/mod/choice/backuplib.php +++ b/backup/mod/choice/backuplib.php @@ -21,7 +21,58 @@ // //----------------------------------------------------------- - 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"); + } ?> diff --git a/backup/mod/forum/backuplib.php b/backup/mod/forum/backuplib.php index d21caf5939..023ae99296 100644 --- a/backup/mod/forum/backuplib.php +++ b/backup/mod/forum/backuplib.php @@ -34,4 +34,119 @@ 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"); + } ?>