For the group functions, a group 0 means everyone

This commit is contained in:
moodler
2004-02-19 17:56:52 +00:00
parent 1d9fc41755
commit eb6147a8bb
+23 -4
View File
@@ -1142,7 +1142,7 @@ function get_current_group($courseid, $full=false) {
*
* @param type description
*/
function get_and_set_current_group($course, $groupmode, $groupid=0) {
function get_and_set_current_group($course, $groupmode, $groupid=-1) {
if (!$groupmode) { // Groups don't even apply
return false;
@@ -1150,7 +1150,11 @@ function get_and_set_current_group($course, $groupmode, $groupid=0) {
$currentgroupid = get_current_group($course->id);
if ($groupid) { // Try to change the current group
if ($groupid < 0) { // No change was specified
return $currentgroupid;
}
if ($groupid) { // Try to change the current group to this groupid
if ($group = get_record('groups', 'id', $groupid, 'courseid', $course->id)) { // Exists
if (isteacheredit($course->id)) { // Sets current default group
$currentgroupid = set_current_group($course->id, $group->id);
@@ -1159,6 +1163,13 @@ function get_and_set_current_group($course, $groupmode, $groupid=0) {
$currentgroupid = $group->id;
}
}
} else { // When groupid = 0 it means show ALL groups
if (isteacheredit($course->id)) { // Sets current default group
$currentgroupid = set_current_group($course->id, 0);
} else if ($groupmode == VISIBLEGROUPS) { // All groups are visible
$currentgroupid = 0;
}
}
return $currentgroupid;
@@ -1177,9 +1188,15 @@ function get_and_set_current_group($course, $groupmode, $groupid=0) {
*/
function setup_and_print_groups($course, $groupmode, $urlroot) {
$currentgroup = get_and_set_current_group($course, $groupmode, $_GET['group']);
if (isset($_GET['group'])) {
$changegroup = $_GET['group']; /// 0 or higher
} else {
$changegroup = -1; /// This means no group change was specified
}
if ($currentgroup == false) {
$currentgroup = get_and_set_current_group($course, $groupmode, $changegroup);
if ($currentgroup === false) {
return false;
}
@@ -1191,7 +1208,9 @@ function setup_and_print_groups($course, $groupmode, $urlroot) {
if ($groupmode == VISIBLEGROUPS or ($groupmode and isteacheredit($course->id))) {
if ($groups = get_records_menu("groups", "courseid", $course->id, "name ASC", "id,name")) {
echo '<div align="center">';
print_group_menu($groups, $groupmode, $currentgroup, $urlroot);
echo '</div>';
}
}