}
$data->tabhead[] = get_string('lastname');
$data->tabhead[] = get_string('firstname');
- if (!empty($cm->groupmode)) {
+ $groupmode = groups_get_activity_groupmode($cm, $course);
+ if (!empty($groupmode)) {
$data->tabhead[] = get_string('groups');
}
}
$data->table[$i][] = $user->lastname;
$data->table[$i][] = $user->firstname;
- if (!empty($cm->groupmode)) {
+ if (!empty($groupmode)) {
$grouptext = '';
$groupsraw = groups_get_all_groups($course->id, $user->id, 0, 'g.name');
$groups = array();
$mform->addElement('header', 'general', get_string('export', 'quiz'));
- $groupmode=groups_get_activity_groupmode($cm);
+ $groupmode=groups_get_activity_groupmode($cm, $course);
$groups = groups_get_activity_allowed_groups($cm, $USER->id);
if ($groupmode == VISIBLEGROUPS or has_capability('moodle/site:accessallgroups', $modcontext)) {
$grouplist[0] = get_string('allparticipants');
public function get_group_mode() {
if (is_null($this->groupmode)) {
- $this->groupmode = groups_get_activity_groupmode($this->cm);
+ $this->groupmode = groups_get_activity_groupmode($this->cm, $this->course);
}
return $this->groupmode;
}
global $DB;
if (!array_key_exists($userid, $this->userstatusesstat)) {
- if (!empty($this->cm->groupmode)) {
+ if (!empty($this->groupmode)) {
$qry = "SELECT al.statusid, count(al.statusid) AS stcnt
FROM {attendance_log} al
JOIN {attendance_sessions} ats ON al.sessionid = ats.id
} else {
$where = "ats.attendanceid = :aid AND ats.sessdate >= :csdate";
}
- if (!empty($this->cm->groupmode)) {
+ if (!empty($this->groupmode)) {
$sql = "SELECT ats.id, ats.sessdate, ats.groupid, al.statusid, al.remarks
FROM {attendance_sessions} ats
JOIN {attendance_log} al ON ats.id = al.sessionid AND al.studentid = :uid
// If the array's index is a number it will not merge entries.
// It would be better as a UNION query butunfortunatly MS SQL does not seem to support doing a DISTINCT on a the description field.
$id = $DB->sql_concat(':value', 'ats.id');
- if (!empty($this->cm->groupmode)) {
+ if (!empty($this->groupmode)) {
$sql = "SELECT $id, ats.id, ats.groupid, ats.sessdate, ats.duration, ats.description, al.statusid, al.remarks
FROM {attendance_sessions} ats
RIGHT JOIN {attendance_log} al
}
function att_get_user_taken_sessions_count($attid, $coursestartdate, $userid, $coursemodule) {
- global $DB;
- if (!empty($coursemodule->groupmode)) {
+ global $DB, $COURSE;
+ $groupmode = groups_get_activity_groupmode($coursemodule, $COURSE);
+ if (!empty($groupmode)) {
$qry = "SELECT count(*) as cnt
FROM {attendance_log} al
JOIN {attendance_sessions} ats ON al.sessionid = ats.id
}
function att_get_user_statuses_stat($attid, $coursestartdate, $userid, $coursemodule) {
- global $DB;
-
+ global $DB, $COURSE;
+ $groupmode = groups_get_activity_groupmode($coursemodule, $COURSE);
if (!empty($coursemodule->groupmode)) {
$qry = "SELECT al.statusid, count(al.statusid) AS stcnt
FROM {attendance_log} al