wwwroot.'/group/index.php?id='.$courseid; if (!$course = get_record('course', 'id',$courseid)) { error('invalidcourse'); } // Make sure that the user has permissions to manage groups. require_login($course); $context = get_context_instance(CONTEXT_COURSE, $courseid); require_capability('moodle/course:managegroups', $context); $strgroups = get_string('groups'); $strparticipants = get_string('participants'); $stroverview = get_string('overview', 'group'); $strgrouping = get_string('grouping', 'group'); $strgroup = get_string('group', 'group'); $strnotingrouping = get_string('notingrouping', 'group'); $strfiltergroups = get_string('filtergroups', 'group'); $strnogroups = get_string('nogroups', 'group'); $strnogroupsassigned = get_string('nogroupsassigned', 'group'); // Print the page and form $navlinks = array(array('name'=>$strparticipants, 'link'=>$CFG->wwwroot.'/user/index.php?id='.$courseid, 'type'=>'misc'), array('name'=>$strgroups, 'link'=>'', 'type'=>'misc')); $navigation = build_navigation($navlinks); /// Print header print_header_simple($strgroups, ': '.$strgroups, $navigation, '', '', true, '', navmenu($course)); if (!empty($CFG->enablegroupings)) { // Add tabs $currenttab = 'overview'; require('tabs.php'); } $groupings= array(); // Get groupings and child group id's if (!empty($CFG->enablegroupings)) { $sql = "SELECT gs.id, gs.name, gg.groupid " . "FROM {$CFG->prefix}groupings gs " . "LEFT JOIN {$CFG->prefix}groupings_groups gg ON gs.id = gg.groupingid " . "WHERE gs.courseid = {$course->id} " . "ORDER BY gs.name, gs.id "; $rs = get_recordset_sql($sql); while ($row = rs_fetch_next_record($rs)) { $groupings[] = $row; } } // Get groups & group members $sql = "SELECT g.id AS groupid, g.name, u.id AS userid, u.firstname, u.lastname, u.idnumber, u.username " . "FROM {$CFG->prefix}groups g " . "LEFT JOIN {$CFG->prefix}groups_members gm ON g.id = gm.groupid " . "LEFT JOIN {$CFG->prefix}user u ON gm.userid = u.id " . "WHERE g.courseid = {$course->id} " . "ORDER BY g.name, g.id "; $rs = get_recordset_sql($sql); $groupsmembers = array(); // Build a hash of keyed on groupid and userid; while ($row = rs_fetch_next_record($rs)) { $groupsmembers[$row->groupid]->name = $row->name; $groupsmembers[$row->groupid]->groupid = $row->groupid; $groupsmembers[$row->groupid]->users[$row->userid] = $row; $groupsmembers[$row->groupid]->printed = false; } if (empty($groupsmembers)) { print_box($strnogroups); } else { /// Print overview filter form echo '
'; echo "id}\" />"; echo ""; echo ''; echo ""; echo ''; echo '
'; /// Print overview print_heading(format_string($course->shortname) .' '.$stroverview, 'center', 3); echo '
'; } echo "
  • $strgrouping: {$grouping->name}
  • '; } echo ''; // Print Groups not in a grouping if (empty($groupingid)) { $labelprinted = false; foreach($groupsmembers as $groupmembers) { if ($groupmembers->printed) { continue; } if (!empty($groupid) && $groupid != $groupmembers->groupid) { continue; } if ($labelprinted === false) { echo "'; } } echo '
    '; } print_footer($course); ?>