]> git.mjollnir.org Git - moodle.git/commitdiff
Fixes bug MDL-8234, "New groups code & AS keyword"
authornfreear <nfreear>
Tue, 23 Jan 2007 19:08:22 +0000 (19:08 +0000)
committernfreear <nfreear>
Tue, 23 Jan 2007 19:08:22 +0000 (19:08 +0000)
group/db/dbbasicgrouplib.php
group/db/dbgroupinglib.php
group/lib/basicgrouplib.php
group/lib/groupinglib.php

index 6be3ea8118269eabc83526bf81a39d8c5fa680b8..5bfade450de0fd2d95e3f397f383ef5e059b381c 100644 (file)
@@ -99,13 +99,13 @@ function groups_db_get_groups_for_user($userid, $courseid) {
         $groupids = false;
     } else {  
         global $CFG;
-        $sql = "SELECT g.id, userid 
-                FROM {$CFG->prefix}groups_members AS gm 
-                INNER JOIN {$CFG->prefix}groups AS g
+        $sql = "SELECT g.id, gm.userid 
+                FROM {$CFG->prefix}groups_members gm 
+                INNER JOIN {$CFG->prefix}groups g
                 ON gm.groupid = g.id
-                INNER JOIN {$CFG->prefix}groups_courses_groups AS cg
+                INNER JOIN {$CFG->prefix}groups_courses_groups cg
                 ON g.id = cg.groupid
-                WHERE cg.courseid  = $courseid AND gm.userid=$userid";
+                WHERE cg.courseid  = '$courseid' AND gm.userid = '$userid'";
                 
         $groups = get_records_sql($sql);
         $groupids = groups_groups_to_groupids($groups);
@@ -152,10 +152,10 @@ function groups_db_get_group_settings($groupid, $courseid=false, $alldata=false)
 function groups_db_users_in_common_group($userid1, $userid2) {
        global $CFG;
     $havecommongroup = false;
-       $sql = "SELECT gm1.groupid, 1 FROM {$CFG->prefix}groups_members AS gm1 " .
-                       "INNER JOIN {$CFG->prefix}groups_members AS gm2 " .
-                       "ON gm1.groupid =gm2.groupid" .
-                       "WHERE gm1.userid = $userid1 AND gm2.userid = $userid2";
+       $sql = "SELECT gm1.groupid, 1 FROM {$CFG->prefix}groups_membersgm1 " .
+                       "INNER JOIN {$CFG->prefix}groups_members gm2 " .
+                       "ON gm1.groupid = gm2.groupid" .
+                       "WHERE gm1.userid = '$userid1' AND gm2.userid = '$userid2'";
     $commongroups = get_record_sql($sql);
     if ($commongroups) {
        $havecommongroup = true;
@@ -188,6 +188,29 @@ function groups_db_group_exists($groupid) {
 }
 
 
+/**
+ * Determine if a course ID, group name and description match a group in the database.
+ *   For backup/restorelib.php
+ * @return mixed A group-like object with $group->id, or false.
+ */
+function groups_db_group_matches($courseid, $grp_name, $grp_description) {
+//$gro_db->id; $gro_db = get_record("groups","courseid",$restore->course_id,"name",$gro->name,"description",$gro->description);    
+    global $CFG;
+    $sql = "SELECT g.id, g.name, g.description
+        FROM {$CFG->prefix}groups g
+        INNER JOIN {$CFG->prefix}groups_courses_groups cg ON g.id = cg.groupid
+        WHERE g.name = '$grp_name'
+        AND g.description = '$grp_description'
+        AND cg.courseid = '$courseid'";
+    $records = get_records_sql($sql);
+    $group = false;
+    if ($records) {
+        $group = $records[0];
+    } 
+    return $group;
+}
+
+
 /**
  * Determines if a specified user is a member of a specified group
  * @param int $groupid The group about which the request has been made
index 98795d5bf746e9d19e02f2316b727db84762323b..aa06598334eb6d5d854215e95ecc9c30feb1fe48 100644 (file)
@@ -214,10 +214,10 @@ function groups_db_grouping_exists($groupingid) {
     } else {
         global $CFG;
         $sql = "SELECT gm.id
-        FROM {$CFG->prefix}groups_groupings_groups AS gg
-        INNER JOIN {$CFG->prefix}groups_members AS gm
+        FROM {$CFG->prefix}groups_groupings_groups gg
+        INNER JOIN {$CFG->prefix}groups_members gm
         ON gg.groupid = gm.groupid
-        WHERE gm.userid = $userid AND gg.groupingid = $groupingid";
+        WHERE gm.userid = '$userid' AND gg.groupingid = '$groupingid'";
         $belongstogroup = record_exists_sql($sql);
     }
     return $belongstogroup;
index b36ee8f1fc1e80e7a37fca4e9095a25d95999e25..8cb78c83930cc5ab15a0aedcfe6d692429af0927 100644 (file)
@@ -196,28 +196,17 @@ function groups_group_exists($groupid) {
        return groups_db_group_exists($groupid);
 }
 
+
 /**
  * Determine if a course ID, group name and description match a group in the database.
  *   For backup/restorelib.php
  * @return mixed A group-like object with $group->id, or false.
  */
 function groups_group_matches($courseid, $grp_name, $grp_description) {
-//$gro_db->id; $gro_db = get_record("groups","courseid",$restore->course_id,"name",$gro->name,"description",$gro->description);    
-    global $CFG;
-    $sql = "SELECT g.id, g.name, g.description
-        FROM {$CFG->prefix}groups AS g
-        INNER JOIN {$CFG->prefix}groups_courses_groups AS cg ON g.id = cg.groupid
-        WHERE g.name = '$grp_name'
-        AND g.description = '$grp_description'
-        AND cg.courseid = '$courseid'";
-    $records = get_records_sql($sql);
-    $group = false;
-    if ($records) {
-        $group = $records[0];
-    } 
-    return $group;
+    return groups_db_group_matches($courseid, $grp_name, $grp_description);
 }
 
+
 /**
  * Determines if a specified user is a member of a specified group
  * @param int $groupid The group about which the request has been made
index 515d90d1624123ce69d6d5c48207e8673ceee3e6..fc2bffd4ea13dd3be5642ea9199bee5ef0fe2412 100644 (file)
@@ -36,8 +36,8 @@ function groups_get_grouping_records($courseid) {
         return false;
     }
     $sql = "SELECT gg.*
-        FROM {$CFG->prefix}groups_groupings AS gg
-        INNER JOIN {$CFG->prefix}groups_courses_groupings AS cg ON gg.id = cg.groupingid
+        FROM {$CFG->prefix}groups_groupings gg
+        INNER JOIN {$CFG->prefix}groups_courses_groupings cg ON gg.id = cg.groupingid
         WHERE cg.courseid = '$courseid'";
     $groupings = get_records_sql($sql);
     return $groupings;
@@ -130,11 +130,11 @@ function groups_get_groups_not_in_any_grouping($courseid) {
     $join = '';
     $where= '';
     if ($courseid) {
-        $join = "INNER JOIN {$CFG->prefix}groups_courses_groups AS cg ON g.id = cg.groupid";
+        $join = "INNER JOIN {$CFG->prefix}groups_courses_groups cg ON g.id = cg.groupid";
         $where= "AND cg.courseid = '$courseid'";
     }
     $sql = "SELECT g.id
-        FROM {$CFG->prefix}groups AS g
+        FROM {$CFG->prefix}groups g
         $join
         WHERE g.id NOT IN 
         (SELECT groupid FROM {$CFG->prefix}groups_groupings_groups)
@@ -280,8 +280,8 @@ function groups_grouping_exists($groupingid) {
 function groups_grouping_matches($courseid, $gg_name, $gg_description) {
     global $CFG;
     $sql = "SELECT gg.id, gg.name, gg.description
-        FROM {$CFG->prefix}groups_groupings AS gg
-        INNER JOIN {$CFG->prefix}groups_courses_groupings AS cg ON gg.id = cg.groupingid
+        FROM {$CFG->prefix}groups_groupings gg
+        INNER JOIN {$CFG->prefix}groups_courses_groupings cg ON gg.id = cg.groupingid
         WHERE gg.name = '$gg_name'
         AND gg.description = '$gg_description'
         AND cg.courseid = '$courseid'";