mirror of
https://github.com/moodle/moodle.git
synced 2025-04-16 05:54:19 +02:00
Fixes Bug MDL-8200, "Group admin interface shows all groups sitewide!"
This commit is contained in:
parent
456f5e6e43
commit
163fab1a96
@ -167,14 +167,15 @@ function transfer_group_db() {
|
||||
///unset($group->password);
|
||||
///unset($group->courseid);
|
||||
$status = (bool)$newgroupid = groups_create_group($group->courseid, $group);
|
||||
debugging('Create group status: '.$status); //TODO: ?
|
||||
if ($members_r) {
|
||||
foreach ($members_r as $member) {
|
||||
if ($member->groupid == $group->id) {
|
||||
$status = groups_add_member($newgroupid, $member->userid);
|
||||
$status = (bool)$memberid = groups_add_member($newgroupid, $member->userid);
|
||||
}
|
||||
}
|
||||
}
|
||||
echo 'Status: '.$status;
|
||||
debugging('Add member status: '.$status);
|
||||
}
|
||||
///$status = drop_table($t_groups);
|
||||
///$status = drop_table(new XMLDBTable('groups_members_temp'));
|
||||
@ -222,4 +223,4 @@ function xmldb_group_upgrade($oldversion=0) {
|
||||
return $result;
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@ -90,29 +90,40 @@ function groups_get_groups_not_in_grouping($groupingid, $courseid) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a list of the groups not in any grouping, but in this course.
|
||||
* TODO: move to dbgroupinglib.php
|
||||
* @param $courseid If null or false, returns groupids 'not in a grouping sitewide'.
|
||||
* @return array An array of group IDs.
|
||||
*/
|
||||
function groups_get_groups_not_in_any_grouping($courseid) {
|
||||
global $CFG;
|
||||
/* SELECT g.id
|
||||
FROM headmdl_groups AS g
|
||||
WHERE g.id NOT IN
|
||||
(SELECT groupid FROM headmdl_groups_groupings_groups);
|
||||
*/
|
||||
$sql = "SELECT g.id
|
||||
FROM {$CFG->prefix}groups AS g
|
||||
/*Was: $sql = "SELECT g.id FROM {$CFG->prefix}groups AS g
|
||||
WHERE g.id NOT IN
|
||||
(SELECT groupid FROM {$CFG->prefix}groups_groupings_groups)";
|
||||
*/
|
||||
$join = '';
|
||||
$where= '';
|
||||
if ($courseid) {
|
||||
$join = "INNER JOIN {$CFG->prefix}groups_courses_groups AS cg ON g.id = cg.groupid";
|
||||
$where= "AND cg.courseid = '$courseid'";
|
||||
}
|
||||
$sql = "SELECT g.id
|
||||
FROM {$CFG->prefix}groups AS g
|
||||
$join
|
||||
WHERE g.id NOT IN
|
||||
(SELECT groupid FROM {$CFG->prefix}groups_groupings_groups)
|
||||
$where";
|
||||
|
||||
$records = get_records_sql($sql);
|
||||
$groupids = array();
|
||||
$groupids = groups_groups_to_groupids($records, $courseid);
|
||||
/*$groupids = array();
|
||||
if ($records) {
|
||||
foreach ($records as $r) {
|
||||
$groupids[] = $r->id;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}*/
|
||||
return $groupids;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user