$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);
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;
}
+/**
+ * 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
} 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;
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
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;
$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)
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'";