diff --git a/calendar/event.php b/calendar/event.php
index 540fdae92e3..b7c78d64ab9 100644
--- a/calendar/event.php
+++ b/calendar/event.php
@@ -484,15 +484,17 @@
echo '
';
if($eventtype == 'select') {
- $defaultcourse = $SESSION->cal_course_referer;
- if(isteacheredit($defaultcourse, $USER->id)) {
- $defaultgroup = $groupid = 0;
+ $courseid = optional_param('courseid', $SESSION->cal_course_referer, PARAM_INT);
+ if (!$course = get_record('course', 'id', $courseid)) {
+ error('Incorrect course ID');
}
- else {
- $defaultgroup = user_group($defaultcourse, $USER->id);
- $groupid = optional_param('groupid', $defaultgroup->id, PARAM_INT);
+ if ($groupmode = groupmode($course)) { // Groups are being used
+ $changegroup = optional_param('group', -1, PARAM_INT);
+ $groupid = get_and_set_current_group($course, $groupmode, $changegroup);
+ } else {
+ $groupid = 0;
}
- $courseid = optional_param('courseid', $defaultcourse, PARAM_INT);
+
echo ''.get_string('eventkind', 'calendar').':
';
echo '';
include('event_select.html');
diff --git a/lib/moodlelib.php b/lib/moodlelib.php
index 739a3fd3fe9..b823c5d8095 100644
--- a/lib/moodlelib.php
+++ b/lib/moodlelib.php
@@ -3646,11 +3646,7 @@ function setup_and_print_groups($course, $groupmode, $urlroot) {
global $USER, $SESSION; //needs his id, need to hack his groups in session
- if (isset($_GET['group'])) {
- $changegroup = $_GET['group']; /// 0 or higher
- } else {
- $changegroup = -1; /// This means no group change was specified
- }
+ $changegroup = optional_param('group', -1, PARAM_INT);
$currentgroup = get_and_set_current_group($course, $groupmode, $changegroup);
if ($currentgroup === false) {
diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php
index af9008cf30d..20f30925391 100644
--- a/mod/assignment/lib.php
+++ b/mod/assignment/lib.php
@@ -274,7 +274,7 @@ class assignment_base {
$submitted = '';
if (isteacher($this->course->id)) {
- if (!isteacheredit($this->course->id) and user_group($this->course->id, $USER->id)) {
+ if (!isteacheredit($this->course->id) and (groupmode($this->course, $this->cm) == SEPARATEGROUPS)) {
$count = $this->count_real_submissions($this->currentgroup); // Only their group
} else {
$count = $this->count_real_submissions(); // Everyone
@@ -1362,10 +1362,14 @@ class assignment_base {
$user = get_record('user', 'id', $submission->userid);
if (groupmode($this->course, $this->cm) == SEPARATEGROUPS) { // Separate groups are being used
- if (!$group = user_group($this->course->id, $user->id)) { // Try to find a group
- $group->id = 0; // Not in a group, never mind
+ if ($groups = user_group($this->course->id, $user->id)) { // Try to find groups
+ $teachers = array();
+ foreach ($groups as $group) {
+ $teachers = array_merge($teachers, get_group_teachers($this->course->id, $group->id));
+ }
+ } else {
+ $teachers = get_group_teachers($this->course->id, 0); // Works even if not in group
}
- $teachers = get_group_teachers($this->course->id, $group->id); // Works even if not in group
} else {
$teachers = get_course_teachers($this->course->id);
}
diff --git a/mod/choice/report.php b/mod/choice/report.php
index 4923e4c57df..8061e13842e 100644
--- a/mod/choice/report.php
+++ b/mod/choice/report.php
@@ -115,9 +115,8 @@
$studentid=(!empty($user->idnumber) ? $user->idnumber : " ");
$myxls->write_string($row,2,$studentid);
$ug2 = '';
- $usergrp = user_group($course->id, $user->id);
- if (!empty($usergrp)) {
- foreach ($usergrp as $ug) {
+ if ($usergrps = user_group($course->id, $user->id)) {
+ foreach ($usergrps as $ug) {
$ug2 = $ug2. $ug->name;
}
}
@@ -170,9 +169,8 @@
}
echo "\t". $studentid."\t";
$ug2 = '';
- $usergrp = user_group($course->id, $user->id);
- if (!empty($usergrp)) {
- foreach ($usergrp as $ug) {
+ if ($usergrps = user_group($course->id, $user->id)) {
+ foreach ($usergrps as $ug) {
$ug2 = $ug2. $ug->name;
}
}
diff --git a/mod/data/lib.php b/mod/data/lib.php
index 6f8be542c0c..7a1edde224e 100755
--- a/mod/data/lib.php
+++ b/mod/data/lib.php
@@ -1175,8 +1175,8 @@ function data_print_comment($data, $comment, $page=0) {
echo '
';
echo '';
- if ($group = user_group($data->course, $comment->userid)) {
- print_group_picture($group, $data->course, false, false, true);
+ if ($groups = user_group($data->course, $comment->userid)) {
+ print_group_picture($groups, $data->course, false, false, true);
} else {
echo ' ';
}
|