<script type="text/javascript">
<!-- Begin
<?php
+ $roles = get_records('role');
+ $roleoptions = array();
+ foreach ($roles as $rolex) {
+ $roleoptions[$rolex->id] = $rolex->name;
+ }
+
foreach ($listmembers as $groupid => $listmember) {
echo "group$groupid = new Object();\n";
$useridstring = "group$groupid.userid = new Array(";
<input type="hidden" name="id" value="<?php p($course->id) ?>" />
<input type="hidden" name="groupid" value="<?php p($selectedgroup) ?>" />
<input type="hidden" name="sesskey" value="<?php p($sesskey) ?>">
+ <input type="hidden" name="roleid" value="<?php p($roleid) ?>">
<select name="nonmembers[]" size="15" multiple="multiple">
<?php
onclick="return userWindow(document.form1['nonmembers[]']);" />
</p>
</form>
+ <form name="rolesform1" action="groups.php" method="get">
+ <input type="hidden" name="id" value="<?php echo $courseid ?>">
+ <div align="center"><?php echo get_string('selectrole') ?>:
+ <?php choose_from_menu ($roleoptions, 'roleid', $roleid, 'choose', $script='rolesform1.submit()') ?>
+ </div></form>
</td>
<td class="generalboxcontent"><p>
<form name="form2" id="form2" method="post" action="groups.php">
<input type="hidden" name="id" value="<?php p($course->id) ?>" />
<input type="hidden" name="sesskey" value="<?php p($sesskey) ?>">
+ <input type="hidden" name="roleid" value="<?php p($roleid) ?>">
<select name="groups" size="15" onChange="updateMembers(this)">
<?php
if (!empty($listgroups)) {
<input type="hidden" name="id" value="<?php p($course->id) ?>" />
<input type="hidden" name="groupid" value="<?php p($selectedgroup) ?>" />
<input type="hidden" name="sesskey" value="<?php p($sesskey) ?>">
+ <input type="hidden" name="roleid" value="<?php p($roleid) ?>">
<select name="members[]" size="15" multiple="multiple">
<?php
if (!empty($members)) {
$courseid = required_param('id', PARAM_INT); // Course id
$selectedgroup = optional_param('group', NULL, PARAM_INT); // Current group id
+ $roleid = optional_param('roleid', 0, PARAM_INT); // Current group id
if (! $course = get_record('course', 'id', $courseid) ) {
error("That's an invalid course id");
/// First, get everyone into the nonmembers array
- if ($students = get_course_students($course->id)) {
- foreach ($students as $student) {
- $nonmembers[$student->id] = fullname($student, true);
+ if ($contextusers = get_role_users($roleid, $context)) {
+ foreach ($contextusers as $contextuser) {
+ $nonmembers[$contextuser->id] = fullname($contextuser, true);
}
- unset($students);
- }
-
- if ($teachers = get_course_teachers($course->id)) {
- foreach ($teachers as $teacher) {
- $prefix = '- ';
- if (isteacheredit($course->id, $teacher->id)) {
- $prefix = '# ';
- }
- $nonmembers[$teacher->id] = $prefix.fullname($teacher, true);
- }
- unset($teachers);
}
+ unset($contextusers);
/// Pull out all the members into little arrays
$countusers = 0;
$listmembers[$group->id] = array();
if ($groupusers = get_group_users($group->id)) {
- foreach ($groupusers as $groupuser) {
- $listmembers[$group->id][$groupuser->id] = $nonmembers[$groupuser->id];
- //we do not remove people from $nonmembers, everyone is displayed
- //this is to enable people to be registered in multiple groups
- //unset($nonmembers[$groupuser->id]);
- $countusers++;
+ foreach ($groupusers as $key=>$groupuser) {
+ if (!array_key_exists($groupuser->id, $nonmembers)) {
+ // group member with another role
+ unset($groupusers[$key]);
+ } else {
+ $listmembers[$group->id][$groupuser->id] = $nonmembers[$groupuser->id];
+ //we do not remove people from $nonmembers, everyone is displayed
+ //this is to enable people to be registered in multiple groups
+ //unset($nonmembers[$groupuser->id]);
+ $countusers++;
+ }
}
natcasesort($listmembers[$group->id]);
}