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 '
'.get_string('newevent', 'calendar').$header.'
'; 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 ' '; }