From: skodak Date: Sat, 8 Sep 2007 20:53:05 +0000 (+0000) Subject: MDL-7380 converted various places to use new groups API X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=ffc536af8e068a6e8e3c46432bca0473b289ed35;p=moodle.git MDL-7380 converted various places to use new groups API --- diff --git a/blocks/blog_tags/block_blog_tags.php b/blocks/blog_tags/block_blog_tags.php index fd012bd547..c92a863e6b 100644 --- a/blocks/blog_tags/block_blog_tags.php +++ b/blocks/blog_tags/block_blog_tags.php @@ -134,7 +134,7 @@ class block_blog_tags extends block_base { case BLOG_GROUP_LEVEL: $filtertype = 'group'; - $filterselect = get_and_set_current_group($COURSE, groupmode($COURSE)); + $filterselect = groups_get_course_group($COURSE); break; case BLOG_COURSE_LEVEL: diff --git a/blocks/online_users/block_online_users.php b/blocks/online_users/block_online_users.php index 8029c2c541..06bec16b73 100644 --- a/blocks/online_users/block_online_users.php +++ b/blocks/online_users/block_online_users.php @@ -43,7 +43,7 @@ class block_online_users extends block_base { && !has_capability('moodle/site:accessallgroups', $context)); //Get the user current group - $currentgroup = $isseparategroups ? get_and_set_current_group($COURSE, groupmode($COURSE)) : NULL; + $currentgroup = $isseparategroups ? groups_get_course_group($COURSE) : NULL; $groupmembers = ""; $groupselect = ""; diff --git a/blog/index.php b/blog/index.php index 946e8b7a24..2e977f4717 100755 --- a/blog/index.php +++ b/blog/index.php @@ -98,7 +98,7 @@ switch ($filtertype) { if (!has_capability('moodle/blog:view', $coursecontext)) { error('You do not have the required permissions to view blogs in this course/group'); } - if (groupmode($course) == SEPARATEGROUPS + if (groups_get_course_groupmode($course) == SEPARATEGROUPS and !has_capability('moodle/site:accessallgroups', $coursecontext)) { if (!groups_is_member($filterselect)) { error ('You are not a member of this course group'); diff --git a/blog/lib.php b/blog/lib.php index 25dd3aa718..6069f429f3 100755 --- a/blog/lib.php +++ b/blog/lib.php @@ -451,9 +451,10 @@ $usercourses = array_keys(get_my_courses($targetuserid)); $shared = array_intersect($mycourses, $usercourses); foreach ($shared as $courseid) { + $course = get_record('course', 'id', $courseid); $coursecontext = get_context_instance(CONTEXT_COURSE, $courseid); if (has_capability('moodle/site:accessallgroups', $coursecontext) - or groupmode($courseid) != SEPARATEGROUPS) { + or groups_get_course_groupmode($course) != SEPARATEGROUPS) { return true; } else { if ($usergroups = groups_get_all_groups($courseid, $targetuserid)) { diff --git a/calendar/event.php b/calendar/event.php index bf995650cb..7d9aab24ad 100644 --- a/calendar/event.php +++ b/calendar/event.php @@ -505,12 +505,8 @@ if (!$course = get_record('course', 'id', $courseid)) { error('Incorrect course ID'); } - 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; - } + + $groupid = groups_get_course_group($course); echo '

'.get_string('eventkind', 'calendar').':

'; echo '
'; diff --git a/course/lib.php b/course/lib.php index 24b34cc537..6f28aeffa5 100644 --- a/course/lib.php +++ b/course/lib.php @@ -178,7 +178,7 @@ function print_recent_selector_form($course, $advancedfilter=0, $selecteduser=0, echo ''; - $groupmode = groupmode($course); + $groupmode = groups_get_course_groupmode($course); if ($groupmode == VISIBLEGROUPS or ($groupmode and has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_COURSE, $course->id)))) { if ($groups = groups_get_all_groups($course->id)) { @@ -1412,9 +1412,9 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, $typestring.$instancename.''; } if ($usetracking && $mod->modname == 'forum') { - $groupmode = groupmode($course, $mod); + $groupmode = groups_get_course_groupmode($course, $mod); $groupid = ($groupmode == SEPARATEGROUPS && !has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_COURSE, $course->id))) ? - get_current_group($course->id) : false; + groups_get_course_group($course, true) : false; if (forum_tp_can_track_forums() && !isset($untracked[$mod->instance])) { $unread = forum_tp_count_forum_unread_posts($USER->id, $mod->instance, $groupid); @@ -2455,15 +2455,16 @@ function print_groupmode_setting($form, $course=NULL) { if (! $cm = get_record('course_modules', 'id', $form->coursemodule)) { error("This course module doesn't exist"); } + $groupmode = groups_get_activity_groupmode($cm); } else { $cm = null; + $groupmode = groups_get_course_groupmode($course); } - $groupmode = groupmode($course, $cm); if ($course->groupmode or (!$course->groupmodeforce)) { echo ''; echo ''.get_string('groupmode').':'; echo ''; - unset($choices); + $choices = array(); $choices[NOGROUPS] = get_string('groupsnone'); $choices[SEPARATEGROUPS] = get_string('groupsseparate'); $choices[VISIBLEGROUPS] = get_string('groupsvisible'); diff --git a/course/modedit.php b/course/modedit.php index 0b9e9d40c6..3f9cee3fa8 100644 --- a/course/modedit.php +++ b/course/modedit.php @@ -102,7 +102,7 @@ $form->section = $cw->section; // The section number itself - relative!!! (section column in course_sections) $form->visible = $cm->visible; //?? $cw->visible ? $cm->visible : 0; // section hiding overrides $form->cmidnumber = $cm->idnumber; // The cm IDnumber - $form->groupmode = groupmode($COURSE,$cm); // locked later if forced + $form->groupmode = groups_get_activity_groupmode($cm); // locked later if forced $form->groupingid = $cm->groupingid; $form->groupmembersonly = $cm->groupmembersonly; $form->course = $course->id; diff --git a/course/recent.php b/course/recent.php index b909b0af65..b84172cc31 100644 --- a/course/recent.php +++ b/course/recent.php @@ -158,16 +158,23 @@ $mod = $mods[$sectionmod]; $instance = get_record("$mod->modname", "id", "$mod->instance"); - $coursemod = get_record_sql("SELECT m.id, m.name, cm.groupmode, cm.visible + $coursemod = get_record_sql("SELECT m.id, m.name, cm.groupmode, cm.visible, cm.course, cm.groupingid FROM {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m WHERE course = '$course->id' $hiddenfilter AND m.id = cm.module $activityfilter AND cm.id = '$sectionmod'"); - - $groupmode = groupmode($course, $coursemod); + $groupmode = groups_get_activity_groupmode($coursemod); switch ($groupmode) { - case SEPARATEGROUPS : $groupid = mygroupid($course->id); break; + case SEPARATEGROUPS : + $groupid = 0; + if ($mygroups = groups_get_all_groups($course->id, $USER->id, $coursemode->groupingid)) { + if (array_key_exists($selectedgroup, $mygroups)) { + $groupid = $selectedgroup; + } + } + break; + case VISIBLEGROUPS : $groupid = $selectedgroup; break; case NOGROUPS : default : $groupid = 0; diff --git a/lib/grouplib.php b/lib/grouplib.php index af2aab3777..745b50ca94 100644 --- a/lib/grouplib.php +++ b/lib/grouplib.php @@ -1,17 +1,17 @@ wwwroot.'/user/index.php?contextid='.$context->id.'&roleid='.$roleid.'&id='.$course->id.'&group='.$currentgroup.'&perpage='.$perpage.'&accesssince='.$accesssince.'&search='.s($search); + $baseurl = $CFG->wwwroot.'/user/index.php?contextid='.$context->id.'&roleid='.$roleid.'&id='.$course->id.'&perpage='.$perpage.'&accesssince='.$accesssince.'&search='.s($search); /// Print headers @@ -187,7 +186,7 @@ } echo ''; - setup_and_print_groups($course, $groupmode, $baseurl); + groups_print_course_menu($course, $baseurl); echo ''; // get minimum lastaccess for this course and display a dropbox to filter by lastaccess going back this far. @@ -242,7 +241,7 @@ echo ''; if ($currentgroup and (!$isseparategroups or has_capability('moodle/site:accessallgroups', $context))) { /// Display info about the group - if ($group = groups_get_group($currentgroup)) { //TODO: + if ($group = groups_get_group($currentgroup)) { if (!empty($group->description) or (!empty($group->picture) and empty($group->hidepicture))) { echo '
'; print_group_picture($group, $course->id, true, false, false); diff --git a/user/tabs.php b/user/tabs.php index 71c4103cb9..814a6fff55 100644 --- a/user/tabs.php +++ b/user/tabs.php @@ -52,8 +52,8 @@ $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id); print_heading(format_string($course->fullname)); - $toprow[] = new tabobject('participants', $CFG->wwwroot.'/user/index.php?id='.$filterselect.'&group=0', - get_string('participants')); //the groupid hack is necessary, otherwise the group in the session willbe used + $toprow[] = new tabobject('participants', $CFG->wwwroot.'/user/index.php?id='.$filterselect, + get_string('participants')); if ($CFG->bloglevel >= 3) { $toprow[] = new tabobject('blogs', $CFG->wwwroot.'/blog/index.php?filtertype=course&filterselect='.$filterselect, get_string('blogs','blog')); @@ -68,7 +68,7 @@ **************************************/ } else if ($filtertype == 'group' && $filterselect) { - $group_name = groups_get_group_name($filterselect); //TODO: + $group_name = groups_get_group_name($filterselect); print_heading($group_name); if ($CFG->bloglevel >= 2) { diff --git a/user/view.php b/user/view.php index b80fbb3ed4..00491b285d 100644 --- a/user/view.php +++ b/user/view.php @@ -106,7 +106,7 @@ // If groups are in use, make sure we can see that group - if (groupmode($course) == SEPARATEGROUPS and !has_capability('moodle/site:accessallgroups', $coursecontext)) { + if (groups_get_course_groupmode($course) == SEPARATEGROUPS and !has_capability('moodle/site:accessallgroups', $coursecontext)) { require_login(); ///this is changed because of mygroupid @@ -362,7 +362,7 @@ if ($usergroups = groups_get_all_groups($course->id, $user->id)){ $groupstr = ''; foreach ($usergroups as $group){ - $groupstr .= ' '.$group->name.','; + $groupstr .= ' '.format_string($group->name).','; } print_row(get_string("group").":", rtrim($groupstr, ', ')); }