mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 04:22:07 +02:00
MDL-10383 - some more refactoring/cleanup, enablegroupings experimental admin setting, tabs in groups UI
This commit is contained in:
parent
2d4376fd66
commit
778918fd71
@ -7,6 +7,8 @@ $temp = new admin_settingpage('experimental', get_string('experimental', 'admin'
|
||||
$temp->add(new admin_setting_configcheckbox('enableglobalsearch', get_string('enableglobalsearch', 'admin'), get_string('configenableglobalsearch', 'admin'), 0));
|
||||
$temp->add(new admin_setting_configcheckbox('smartpix', get_string('smartpix', 'admin'), get_string('configsmartpix', 'admin'), 0));
|
||||
$temp->add(new admin_setting_configcheckbox('enablehtmlpurifier', get_string('enablehtmlpurifier', 'admin'), get_string('configenablehtmlpurifier', 'admin'), 0));
|
||||
$temp->add(new admin_setting_configcheckbox('enablegroupings', get_string('enablegroupings', 'admin'), get_string('configenablegroupings', 'admin'), 0));
|
||||
|
||||
$ADMIN->add('misc', $temp);
|
||||
|
||||
// XMLDB editor
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
require_once('../config.php');
|
||||
require_once($CFG->libdir.'/adminlib.php');
|
||||
require_once($CFG->dirroot.'/group/lib.php');
|
||||
require_once('uploaduser_form.php');
|
||||
|
||||
admin_externalpage_setup('uploadusers');
|
||||
|
@ -5,6 +5,7 @@
|
||||
* @package enrol_imsenterprise
|
||||
*/
|
||||
require_once("$CFG->libdir/blocklib.php");
|
||||
require_once($CFG->dirroot.'/group/lib.php');
|
||||
|
||||
// The following flags are set in the configuration
|
||||
// $CFG->enrol_imsfilelocation: where is the file we are looking for?
|
||||
|
@ -22,6 +22,7 @@
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
require_once($CFG->dirroot.'/group/lib.php');
|
||||
|
||||
/**
|
||||
* enrolment_plugin_manual is the default enrolment plugin
|
||||
|
@ -85,9 +85,10 @@ if ($editform->is_cancelled()) {
|
||||
error('Error updating group');
|
||||
}
|
||||
} else {
|
||||
if (!groups_create_group($data, $editform->_upload_manager)) {
|
||||
if (!$id = groups_create_group($data, $editform->_upload_manager)) {
|
||||
error('Error updating group');
|
||||
}
|
||||
$returnurl = $CFG->wwwroot.'/group/index.php?id='.$course->id.'&group='.$id;
|
||||
}
|
||||
|
||||
redirect($returnurl);
|
||||
@ -101,14 +102,15 @@ if ($id) {
|
||||
} else {
|
||||
$strheading = get_string('creategroup', 'group');
|
||||
}
|
||||
print_header("$course->shortname: ". $strheading,
|
||||
$course->fullname,
|
||||
"<a href=\"$CFG->wwwroot/course/view.php?id=$courseid\">$course->shortname</a> ".
|
||||
"-> <a href=\"$CFG->wwwroot/user/index.php?id=$courseid\">$strparticipants</a> ".
|
||||
"-> <a href=\"$CFG->wwwroot/group/index.php?id=$courseid\">$strgroups</a>".
|
||||
"-> $strheading", '', '', true, '', user_login_string($course, $USER));
|
||||
|
||||
print_heading($strheading);
|
||||
|
||||
$navlinks = array(array('name'=>$strparticipants, 'link'=>$CFG->wwwroot.'/user/index.php?id='.$courseid, 'type'=>'misc'),
|
||||
array('name'=>$strgroups, 'link'=>$CFG->wwwroot.'/group/index.php?id='.$courseid, 'type'=>'misc'),
|
||||
array('name'=>$strheading, 'link'=>'', 'type'=>'misc'));
|
||||
$navigation = build_navigation($navlinks);
|
||||
|
||||
/// Print header
|
||||
print_header_simple($strgroups, ': '.$strgroups, $navigation, '', '', true, '', navmenu($course));
|
||||
|
||||
echo '<div id="grouppicture">';
|
||||
if ($id) {
|
||||
|
@ -99,7 +99,6 @@ if ($editform->is_cancelled()) {
|
||||
|
||||
}
|
||||
|
||||
$strgroups = get_string('groups');
|
||||
$strgroupings = get_string('groupings', 'group');
|
||||
$strparticipants = get_string('participants');
|
||||
|
||||
@ -109,12 +108,15 @@ if ($id) {
|
||||
$strheading = get_string('creategrouping', 'group');
|
||||
}
|
||||
|
||||
print_header("$course->shortname: ". $strheading,
|
||||
$course->fullname,
|
||||
"<a href=\"$CFG->wwwroot/course/view.php?id=$courseid\">$course->shortname</a> ".
|
||||
"-> <a href=\"$CFG->wwwroot/user/index.php?id=$courseid\">$strparticipants</a> ".
|
||||
"-> <a href=\"$returnurl\">$strgroupings</a>".
|
||||
"-> $strheading", '', '', true, '', user_login_string($course, $USER));
|
||||
$navlinks = array(array('name'=>$strparticipants, 'link'=>$CFG->wwwroot.'/user/index.php?id='.$courseid, 'type'=>'misc'),
|
||||
array('name'=>$strgroupings, 'link'=>$CFG->wwwroot.'/group/groupings.php?id='.$courseid, 'type'=>'misc'),
|
||||
array('name'=>$strheading, 'link'=>'', 'type'=>'misc'));
|
||||
$navigation = build_navigation($navlinks);
|
||||
|
||||
/// Print header
|
||||
print_header_simple($strgroupings, ': '.$strgroupings, $navigation, '', '', true, '', navmenu($course));
|
||||
|
||||
|
||||
print_heading($strheading);
|
||||
$editform->display();
|
||||
print_footer($course);
|
||||
|
@ -24,16 +24,19 @@ $strgroups = get_string('groups');
|
||||
$strgroupings = get_string('groupings', 'group');
|
||||
$struses = get_string('activities');
|
||||
$strparticipants = get_string('participants');
|
||||
$strmanagegrping = get_String('addgroupstogrouping', 'group');
|
||||
$strmanagegrping = get_String('showgroupsingrouping', 'group');
|
||||
|
||||
$navlinks = array(array('name'=>$strparticipants, 'link'=>$CFG->wwwroot.'/user/index.php?id='.$courseid, 'type'=>'misc'),
|
||||
array('name'=>$strgroups, 'link'=>$CFG->wwwroot.'/group/index.php?id='.$courseid, 'type'=>'misc'),
|
||||
array('name'=>$strgroupings, 'link'=>'', 'type'=>'misc'));
|
||||
$navigation = build_navigation($navlinks);
|
||||
|
||||
/// Print header
|
||||
print_header_simple($strgroupings, ': '.$strgroupings, $navigation, '', '', true, '', navmenu($course));
|
||||
|
||||
// Add tabs
|
||||
$currenttab = 'groupings';
|
||||
require('tabs.php');
|
||||
|
||||
print_heading($strgroupings);
|
||||
|
||||
$data = array();
|
||||
@ -58,7 +61,7 @@ if ($groupings = get_records('groupings', 'courseid', $course->id)) {
|
||||
$buttons .= "<a title=\"$strdelete\" href=\"grouping.php?id=$grouping->id&delete=1\"><img".
|
||||
" src=\"$CFG->pixpath/t/delete.gif\" class=\"iconsmall\" alt=\"$strdelete\" /></a> ";
|
||||
$buttons .= "<a title=\"$strmanagegrping\" href=\"assign.php?id=$grouping->id\"><img".
|
||||
" src=\"$CFG->pixpath/i/group.gif\" class=\"iconsmall\" alt=\"$strmanagegrping\" /></a> ";
|
||||
" src=\"$CFG->pixpath/i/group.gif\" class=\"icon\" alt=\"$strmanagegrping\" /></a> ";
|
||||
|
||||
$line[3] = $buttons;
|
||||
$data[] = $line;
|
||||
|
341
group/index.php
341
group/index.php
@ -33,188 +33,195 @@ if (!$course = get_record('course', 'id',$courseid)) {
|
||||
print_error('invalidcourse'); //'The course ID is invalid'
|
||||
}
|
||||
|
||||
// Make sure that the user has permissions to manage groups.
|
||||
require_login($course);
|
||||
// Make sure that the user has permissions to manage groups.
|
||||
require_login($course);
|
||||
|
||||
$context = get_context_instance(CONTEXT_COURSE, $courseid);
|
||||
if (! has_capability('moodle/course:managegroups', $context)) {
|
||||
redirect(); //"group.php?id=$course->id"); // Not allowed to see all groups
|
||||
}
|
||||
$context = get_context_instance(CONTEXT_COURSE, $courseid);
|
||||
if (! has_capability('moodle/course:managegroups', $context)) {
|
||||
redirect(); //"group.php?id=$course->id"); // Not allowed to see all groups
|
||||
}
|
||||
|
||||
switch ($action) {
|
||||
case false: //OK, display form.
|
||||
break;
|
||||
switch ($action) {
|
||||
case false: //OK, display form.
|
||||
break;
|
||||
|
||||
case 'ajax_getmembersingroup':
|
||||
$members = array();
|
||||
if ($members = groups_get_members($groupid)) {
|
||||
$member_names = array();
|
||||
foreach($members as $member) {
|
||||
$user = new object();
|
||||
$user->id = $member->id;
|
||||
$user->name = fullname($member, true);
|
||||
$member_names[] = $user;
|
||||
}
|
||||
$json = new Services_JSON();
|
||||
echo $json->encode($member_names);
|
||||
}
|
||||
die; // Client side JavaScript takes it from here.
|
||||
|
||||
case 'deletegroup':
|
||||
redirect('group.php?delete=1&courseid='.$courseid.'&id='.$groupid);
|
||||
break;
|
||||
|
||||
case 'showcreateorphangroupform':
|
||||
redirect('group.php?courseid='.$courseid);
|
||||
break;
|
||||
|
||||
case 'showgroupsettingsform':
|
||||
redirect('group.php?courseid='.$courseid.'&id='.$groupid);
|
||||
break;
|
||||
|
||||
case 'updategroups': //Currently reloading.
|
||||
break;
|
||||
|
||||
case 'removemembers':
|
||||
break;
|
||||
|
||||
case 'showaddmembersform':
|
||||
redirect('members.php?group='.$groupid);
|
||||
break;
|
||||
|
||||
case 'updatemembers': //Currently reloading.
|
||||
break;
|
||||
|
||||
default: //ERROR.
|
||||
if (debugging()) {
|
||||
error('Error, unknown button/action. Probably a user-interface bug!', $returnurl);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Print the page and form
|
||||
$strgroups = get_string('groups');
|
||||
$strparticipants = get_string('participants');
|
||||
|
||||
print_header("$course->shortname: $strgroups",
|
||||
$course->fullname,
|
||||
"<a href=\"$CFG->wwwroot/course/view.php?id=$courseid\">$course->shortname</a> ".
|
||||
"-> <a href=\"$CFG->wwwroot/user/index.php?id=$courseid\">$strparticipants</a> ".
|
||||
"-> $strgroups", '', '', true, '', user_login_string($course, $USER));
|
||||
|
||||
$disabled = 'disabled="disabled"';
|
||||
|
||||
$showeditgroupsettingsform_disabled = $disabled;
|
||||
$deletegroup_disabled = $disabled;
|
||||
$showcreategroupform_disabled = $disabled;
|
||||
|
||||
if (!empty($groupid)) {
|
||||
$showaddmembersform_disabled = '';
|
||||
$showeditgroupsettingsform_disabled = '';
|
||||
$deletegroup_disabled = '';
|
||||
} else {
|
||||
$deletegroup_disabled = $disabled;
|
||||
$showeditgroupsettingsform_disabled = $disabled;
|
||||
$showaddmembersform_disabled = $disabled;
|
||||
}
|
||||
|
||||
print_heading(format_string($course->shortname) .' '.$strgroups, 'center', 3);
|
||||
echo '<form id="groupeditform" action="index.php" method="post">'."\n";
|
||||
echo '<div>'."\n";
|
||||
echo '<input type="hidden" name="id" value="' . $courseid . '" />'."\n";
|
||||
|
||||
echo '<table cellpadding="6" class="generaltable generalbox groupmanagementtable boxaligncenter" summary="">'."\n";
|
||||
echo '<tr>'."\n";
|
||||
|
||||
|
||||
echo "<td>\n";
|
||||
// NO GROUPINGS YET!
|
||||
echo '<p><label for="groups"><span id="groupslabel">'.get_string('groups').':</span><span id="thegrouping"> </span></label></p>'."\n";
|
||||
|
||||
echo '<select name="group" id="groups" size="15" class="select" onchange="membersCombo.refreshMembers(this.options[this.selectedIndex].value);"'."\n";
|
||||
echo ' onclick="window.status=this.options[this.selectedIndex].title;" onmouseout="window.status=\'\';">'."\n";
|
||||
|
||||
$groups = groups_get_all_groups($courseid);
|
||||
|
||||
$sel_groupid = 0;
|
||||
|
||||
if ($groups) {
|
||||
// Print out the HTML
|
||||
foreach ($groups as $group) {
|
||||
$select = '';
|
||||
if ($groupid == $group->id) {
|
||||
$select = ' selected="selected"';
|
||||
$sel_groupid = $group->id;
|
||||
}
|
||||
$usercount = (int)count_records('groups_members', 'groupid', $group->id);
|
||||
$groupname = format_string($group->name).' ('.$usercount.')';
|
||||
|
||||
echo "<option value=\"{$group->id}\"$select title=\"$groupname\">$groupname</option>\n";
|
||||
}
|
||||
} else {
|
||||
// Print an empty option to avoid the XHTML error of having an empty select element
|
||||
echo '<option> </option>';
|
||||
}
|
||||
|
||||
echo '</select>'."\n";
|
||||
echo '<p><input type="submit" name="act_updatemembers" id="updatemembers" value="'
|
||||
. get_string('showmembersforgroup', 'group') . '" /></p>'."\n";
|
||||
echo '<p><input type="submit" '. $showeditgroupsettingsform_disabled . ' name="act_showgroupsettingsform" id="showeditgroupsettingsform" value="'
|
||||
. get_string('editgroupsettings', 'group') . '" /></p>'."\n";
|
||||
echo '<p><input type="submit" '. $deletegroup_disabled . ' name="act_deletegroup" onclick="onDeleteGroup()" id="deletegroup" value="'
|
||||
. get_string('deleteselectedgroup', 'group') . '" /></p>'."\n";
|
||||
|
||||
echo '<p><input type="submit" name="act_showcreateorphangroupform" id="showcreateorphangroupform" value="'
|
||||
. get_string('creategroup', 'group') . '" /></p>'."\n";
|
||||
|
||||
echo '</td>'."\n";
|
||||
echo '<td>'."\n";
|
||||
echo '<p><label for="members"><span id="memberslabel">'.get_string('membersofselectedgroup', 'group').' </span><span id="thegroup"> </span></label></p>'."\n";
|
||||
//NOTE: the SELECT was, multiple="multiple" name="user[]" - not used and breaks onclick.
|
||||
echo '<select name="user" id="members" size="15" class="select"'."\n";
|
||||
echo ' onclick="window.status=this.options[this.selectedIndex].title;" onmouseout="window.status=\'\';">'."\n";
|
||||
|
||||
$member_names = array();
|
||||
|
||||
if ($sel_groupid) {
|
||||
case 'ajax_getmembersingroup':
|
||||
$members = array();
|
||||
if ($members = groups_get_members($groupid)) {
|
||||
$member_names = array();
|
||||
foreach($members as $member) {
|
||||
$member_names[$member->id] = fullname($member, true);
|
||||
$user = new object();
|
||||
$user->id = $member->id;
|
||||
$user->name = fullname($member, true);
|
||||
$member_names[] = $user;
|
||||
}
|
||||
$json = new Services_JSON();
|
||||
echo $json->encode($member_names);
|
||||
}
|
||||
die; // Client side JavaScript takes it from here.
|
||||
|
||||
case 'deletegroup':
|
||||
redirect('group.php?delete=1&courseid='.$courseid.'&id='.$groupid);
|
||||
break;
|
||||
|
||||
case 'showcreateorphangroupform':
|
||||
redirect('group.php?courseid='.$courseid);
|
||||
break;
|
||||
|
||||
case 'showgroupsettingsform':
|
||||
redirect('group.php?courseid='.$courseid.'&id='.$groupid);
|
||||
break;
|
||||
|
||||
case 'updategroups': //Currently reloading.
|
||||
break;
|
||||
|
||||
case 'removemembers':
|
||||
break;
|
||||
|
||||
case 'showaddmembersform':
|
||||
redirect('members.php?group='.$groupid);
|
||||
break;
|
||||
|
||||
case 'updatemembers': //Currently reloading.
|
||||
break;
|
||||
|
||||
default: //ERROR.
|
||||
if (debugging()) {
|
||||
error('Error, unknown button/action. Probably a user-interface bug!', $returnurl);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Print the page and form
|
||||
$strgroups = get_string('groups');
|
||||
$strparticipants = get_string('participants');
|
||||
|
||||
$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 = 'groups';
|
||||
require('tabs.php');
|
||||
}
|
||||
|
||||
$disabled = 'disabled="disabled"';
|
||||
|
||||
$showeditgroupsettingsform_disabled = $disabled;
|
||||
$deletegroup_disabled = $disabled;
|
||||
$showcreategroupform_disabled = $disabled;
|
||||
|
||||
if (!empty($groupid)) {
|
||||
$showaddmembersform_disabled = '';
|
||||
$showeditgroupsettingsform_disabled = '';
|
||||
$deletegroup_disabled = '';
|
||||
} else {
|
||||
$deletegroup_disabled = $disabled;
|
||||
$showeditgroupsettingsform_disabled = $disabled;
|
||||
$showaddmembersform_disabled = $disabled;
|
||||
}
|
||||
|
||||
print_heading(format_string($course->shortname) .' '.$strgroups, 'center', 3);
|
||||
echo '<form id="groupeditform" action="index.php" method="post">'."\n";
|
||||
echo '<div>'."\n";
|
||||
echo '<input type="hidden" name="id" value="' . $courseid . '" />'."\n";
|
||||
|
||||
echo '<table cellpadding="6" class="generaltable generalbox groupmanagementtable boxaligncenter" summary="">'."\n";
|
||||
echo '<tr>'."\n";
|
||||
|
||||
|
||||
echo "<td>\n";
|
||||
// NO GROUPINGS YET!
|
||||
echo '<p><label for="groups"><span id="groupslabel">'.get_string('groups').':</span><span id="thegrouping"> </span></label></p>'."\n";
|
||||
|
||||
echo '<select name="group" id="groups" size="15" class="select" onchange="membersCombo.refreshMembers(this.options[this.selectedIndex].value);"'."\n";
|
||||
echo ' onclick="window.status=this.options[this.selectedIndex].title;" onmouseout="window.status=\'\';">'."\n";
|
||||
|
||||
$groups = groups_get_all_groups($courseid);
|
||||
|
||||
$sel_groupid = 0;
|
||||
|
||||
if ($groups) {
|
||||
// Print out the HTML
|
||||
foreach ($groups as $group) {
|
||||
$select = '';
|
||||
if ($groupid == $group->id) {
|
||||
$select = ' selected="selected"';
|
||||
$sel_groupid = $group->id;
|
||||
}
|
||||
$usercount = (int)count_records('groups_members', 'groupid', $group->id);
|
||||
$groupname = format_string($group->name).' ('.$usercount.')';
|
||||
|
||||
echo "<option value=\"{$group->id}\"$select title=\"$groupname\">$groupname</option>\n";
|
||||
}
|
||||
} else {
|
||||
// Print an empty option to avoid the XHTML error of having an empty select element
|
||||
echo '<option> </option>';
|
||||
}
|
||||
|
||||
echo '</select>'."\n";
|
||||
echo '<p><input type="submit" name="act_updatemembers" id="updatemembers" value="'
|
||||
. get_string('showmembersforgroup', 'group') . '" /></p>'."\n";
|
||||
echo '<p><input type="submit" '. $showeditgroupsettingsform_disabled . ' name="act_showgroupsettingsform" id="showeditgroupsettingsform" value="'
|
||||
. get_string('editgroupsettings', 'group') . '" /></p>'."\n";
|
||||
echo '<p><input type="submit" '. $deletegroup_disabled . ' name="act_deletegroup" onclick="onDeleteGroup()" id="deletegroup" value="'
|
||||
. get_string('deleteselectedgroup', 'group') . '" /></p>'."\n";
|
||||
|
||||
echo '<p><input type="submit" name="act_showcreateorphangroupform" id="showcreateorphangroupform" value="'
|
||||
. get_string('creategroup', 'group') . '" /></p>'."\n";
|
||||
|
||||
echo '</td>'."\n";
|
||||
echo '<td>'."\n";
|
||||
echo '<p><label for="members"><span id="memberslabel">'.get_string('membersofselectedgroup', 'group').' </span><span id="thegroup"> </span></label></p>'."\n";
|
||||
//NOTE: the SELECT was, multiple="multiple" name="user[]" - not used and breaks onclick.
|
||||
echo '<select name="user" id="members" size="15" class="select"'."\n";
|
||||
echo ' onclick="window.status=this.options[this.selectedIndex].title;" onmouseout="window.status=\'\';">'."\n";
|
||||
|
||||
$member_names = array();
|
||||
|
||||
if ($sel_groupid) {
|
||||
if ($members = groups_get_members($groupid)) {
|
||||
foreach($members as $member) {
|
||||
$member_names[$member->id] = fullname($member, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($member_names) {
|
||||
// Put the groupings into a hash and sort them
|
||||
foreach ($member_names as $userid=>$username) {
|
||||
echo "<option value=\"{$userid}\" title=\"{$username}\">{$username}</option>\n";
|
||||
}
|
||||
|
||||
} else {
|
||||
// Print an empty option to avoid the XHTML error of having an empty select element
|
||||
echo '<option> </option>';
|
||||
if ($member_names) {
|
||||
// Put the groupings into a hash and sort them
|
||||
foreach ($member_names as $userid=>$username) {
|
||||
echo "<option value=\"{$userid}\" title=\"{$username}\">{$username}</option>\n";
|
||||
}
|
||||
|
||||
echo '</select>'."\n";
|
||||
} else {
|
||||
// Print an empty option to avoid the XHTML error of having an empty select element
|
||||
echo '<option> </option>';
|
||||
}
|
||||
|
||||
echo '<p><input type="submit" ' . $showaddmembersform_disabled . ' name="act_showaddmembersform" '
|
||||
. 'id="showaddmembersform" value="' . get_string('adduserstogroup', 'group'). '" /></p>'."\n";
|
||||
echo '</td>'."\n";
|
||||
echo '</tr>'."\n";
|
||||
echo '</table>'."\n";
|
||||
echo '</select>'."\n";
|
||||
|
||||
//<input type="hidden" name="rand" value="om" />
|
||||
echo '</div>'."\n";
|
||||
echo '</form>'."\n";
|
||||
echo '<p><input type="submit" ' . $showaddmembersform_disabled . ' name="act_showaddmembersform" '
|
||||
. 'id="showaddmembersform" value="' . get_string('adduserstogroup', 'group'). '" /></p>'."\n";
|
||||
echo '</td>'."\n";
|
||||
echo '</tr>'."\n";
|
||||
echo '</table>'."\n";
|
||||
|
||||
echo '<script type="text/javascript">'."\n";
|
||||
echo '//<![CDATA['."\n";
|
||||
echo 'var groupsCombo = new UpdatableGroupsCombo("'.$CFG->wwwroot.'", '.$course->id.');'."\n";
|
||||
echo 'var membersCombo = new UpdatableMembersCombo("'.$CFG->wwwroot.'", '.$course->id.');'."\n";
|
||||
echo '//]]>'."\n";
|
||||
echo '</script>'."\n";
|
||||
//<input type="hidden" name="rand" value="om" />
|
||||
echo '</div>'."\n";
|
||||
echo '</form>'."\n";
|
||||
|
||||
print_footer($course);
|
||||
echo '<script type="text/javascript">'."\n";
|
||||
echo '//<![CDATA['."\n";
|
||||
echo 'var groupsCombo = new UpdatableGroupsCombo("'.$CFG->wwwroot.'", '.$course->id.');'."\n";
|
||||
echo 'var membersCombo = new UpdatableMembersCombo("'.$CFG->wwwroot.'", '.$course->id.');'."\n";
|
||||
echo '//]]>'."\n";
|
||||
echo '</script>'."\n";
|
||||
|
||||
print_footer($course);
|
||||
|
||||
/**
|
||||
* Returns the first button action with the given prefix, taken from
|
||||
|
@ -13,6 +13,67 @@
|
||||
* require_once $CFG->dirroot.'/group/lib.php' must be used
|
||||
*/
|
||||
|
||||
/**
|
||||
* Adds a specified user to a group
|
||||
* @param int $userid The user id
|
||||
* @param int $groupid The group id
|
||||
* @return boolean True if user added successfully or the user is already a
|
||||
* member of the group, false otherwise.
|
||||
*/
|
||||
function groups_add_member($groupid, $userid) {
|
||||
if (!groups_group_exists($groupid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (groups_is_member($groupid, $userid)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$member = new object();
|
||||
$member->groupid = $groupid;
|
||||
$member->userid = $userid;
|
||||
$member->timeadded = time();
|
||||
|
||||
if (!insert_record('groups_members', $member)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//update group info
|
||||
set_field('groups', 'timemodified', $member->timeadded, 'id', $groupid);
|
||||
|
||||
// MDL-9983
|
||||
$eventdata = new object();
|
||||
$eventdata->groupid = $groupid;
|
||||
$eventdata->userid = $userid;
|
||||
events_trigger('group_user_added', $eventdata);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the link between the specified user and group.
|
||||
* @param int $groupid The group to delete the user from
|
||||
* @param int $userid The user to delete
|
||||
* @return boolean True if deletion was successful, false otherwise
|
||||
*/
|
||||
function groups_remove_member($groupid, $userid) {
|
||||
if (!groups_group_exists($groupid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!groups_is_member($groupid, $userid)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!delete_records('groups_members', 'groupid', $groupid, 'userid', $userid)) {
|
||||
return false;
|
||||
}
|
||||
//update group info
|
||||
set_field('groups', 'timemodified', time(), 'id', $groupid);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new group
|
||||
* @param object $data group properties (with magic quotes);
|
||||
|
15
group/tabs.php
Normal file
15
group/tabs.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php // $Id$
|
||||
$row = $tabs = array();
|
||||
$row[] = new tabobject('groups',
|
||||
$CFG->wwwroot.'/group/index.php?id='.$courseid,
|
||||
get_string('groups'));
|
||||
|
||||
$row[] = new tabobject('groupings',
|
||||
$CFG->wwwroot.'/group/groupings.php?id='.$courseid,
|
||||
get_string('groupings', 'group'));
|
||||
|
||||
$tabs[] = $row;
|
||||
echo '<div class="groupdisplay">';
|
||||
print_tabs($tabs, $currenttab);
|
||||
echo '</div>';
|
||||
?>
|
@ -87,6 +87,7 @@ $string['configeditordictionary'] = 'This value will be used if aspell doesn\'t
|
||||
$string['configenableajax'] = 'This setting allows you to control the use of AJAX (advanced client/server interfaces using Javascript) across the whole site. With this setting enabled users can still make a choice in their profile, otherwise AJAX is disabled for everybody.';
|
||||
$string['configenablecourserequests'] = 'This will allow any user to request a course be created.';
|
||||
$string['configenableglobalsearch'] = 'This setting enables global text searching in resources and activities, it is not compatible with PHP 4.';
|
||||
$string['configenablegroupings'] = 'This setting enables groupings of groups. (Not yet fully implemented)';
|
||||
$string['configenablehtmlpurifier'] = 'Use HTML Purifier instead of KSES for cleaning of untrusted text. HTML Purifier is actively developed and is believed to be more secure, but it is more resource intensive. Expect minor visual differences in the resulting html code. Please note that embed and object tags can not be enabled, MathML tags and old lang tags are not supported. ';
|
||||
$string['configenablerssfeeds'] = 'This switch will enable RSS feeds from across the site. To actually see any change you will need to enable RSS feeds in the individual modules too - go to the Modules settings under Admin Configuration.';
|
||||
$string['configenablerssfeedsdisabled'] = 'It is not available because RSS feeds are disabled in all the Site. To enable them, go to the Variables settings under Admin Configuration.';
|
||||
@ -277,6 +278,7 @@ $string['editstrings'] = 'Edit words or phrases';
|
||||
$string['enableajax'] = 'Enable AJAX';
|
||||
$string['enablecourserequests'] = 'Enable course requests';
|
||||
$string['enableglobalsearch'] = 'Enable global search';
|
||||
$string['enablegroupings'] = 'Enable groupings';
|
||||
$string['enablehtmlpurifier'] = 'Enable HTML Purifier';
|
||||
$string['enablerecordcache'] = 'Enable Record Cache';
|
||||
$string['enablerssfeeds'] = 'Enable RSS feeds';
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/**
|
||||
* Language strings for new Moodle Groups (cvs:/group/)
|
||||
* Language strings for Moodle Groups (cvs:/group/)
|
||||
*
|
||||
* @copyright © 2006 The Open University
|
||||
* @author J.White AT open.ac.uk
|
||||
@ -13,16 +13,11 @@ $string['groupmemberdesc'] = 'Standard role for a member of a group.';
|
||||
$string['notingrouping'] = '[Not in a grouping]';
|
||||
$string['anygrouping'] = '[Any grouping]';
|
||||
|
||||
$string['errornotingrouping'] = 'Sorry, you can\'t create a group in $a';
|
||||
$string['errornotingroupingedit'] = 'Sorry, you can\'t edit grouping $a';
|
||||
$string['errorinvalidgrouping'] = 'Error, invalid grouping $a';
|
||||
$string['errorinvalidgroup'] = 'Error, invalid group $a';
|
||||
$string['erroreditgrouping'] = 'Error creating/updating grouping $a';
|
||||
$string['erroreditgroup'] = 'Error creating/updating group $a';
|
||||
$string['erroraddremoveuser'] = 'Error adding/removing user $a to group';
|
||||
|
||||
$string['upgradeconfirm'] = 'Sorry, groups tables created in Moodle 1.8 DEV have to be deleted for this upgrade. Do you want to continue?';
|
||||
|
||||
$string['groupings'] = 'Groupings';
|
||||
$string['grouping'] = 'Grouping';
|
||||
$string['groups'] = 'Groups';
|
||||
@ -81,16 +76,11 @@ $string['newpicture'] = 'New picture';
|
||||
$string['defaultgroupdescription'] = 'Default group description';
|
||||
|
||||
$string['displaygrouping'] = 'Display grouping';
|
||||
$string['showusersalreadyingroup'] = 'Show users already in a group in the grouping';
|
||||
|
||||
$string['save'] = 'Save';
|
||||
$string['cancel'] = 'Cancel';
|
||||
$string['return'] = 'Return';
|
||||
$string['backtogroups'] = 'Back to groups';
|
||||
$string['backtogroupings'] = 'Back to groupings';
|
||||
$string['existingmembers'] = 'Existing members: $a';
|
||||
$string['potentialmembers'] = 'Potential members: $a';
|
||||
$string['groupfor'] = 'for group';
|
||||
$string['groupinfo'] = 'Info about selected group';
|
||||
$string['groupinfomembers'] = 'Info about selected members';
|
||||
$string['groupinfopeople'] = 'Info about selected people';
|
||||
@ -98,16 +88,8 @@ $string['groupmembers'] = 'Group members';
|
||||
$string['groupmemberssee'] = 'See group members';
|
||||
$string['groupmembersselected'] = 'Members of selected group';
|
||||
|
||||
|
||||
$string['javascriptrequired'] = 'This page requires Javascript to be enabled.';
|
||||
|
||||
$string['viewowngroup'] = 'Students may view the members of any groups to which they belong';
|
||||
$string['viewallgroupsmembers'] = 'Students may view the members of all groups';
|
||||
$string['viewallgroupsactivities'] = 'Students may view but not contribute to activities for all groups';
|
||||
$string['teachersgroupmark'] = 'Teachers may not mark activities for groups to which they do not belong';
|
||||
$string['teachersgroupview'] = 'Teachers may not view activities for groups to which they do not belong';
|
||||
$string['teachersoverride'] = 'Teachers not in any group may view and mark activities for all groups (overrides the above)';
|
||||
|
||||
$string['groupmode'] = 'Group mode';
|
||||
$string['groupmodeforce'] = 'Force group mode';
|
||||
$string['groupmy'] = 'My group';
|
||||
|
@ -1170,6 +1170,9 @@ function mygroupid($courseid) {
|
||||
* @return bool
|
||||
*/
|
||||
function add_user_to_group($groupid, $userid) {
|
||||
global $CFG;
|
||||
require_once($CFG->dirroot.'/group/lib.php');
|
||||
|
||||
return groups_add_member($groupid, $userid);
|
||||
}
|
||||
|
||||
|
@ -1,68 +1,6 @@
|
||||
<?php //$Id$
|
||||
|
||||
|
||||
/**
|
||||
* Adds a specified user to a group
|
||||
* @param int $userid The user id
|
||||
* @param int $groupid The group id
|
||||
* @return boolean True if user added successfully or the user is already a
|
||||
* member of the group, false otherwise.
|
||||
*/
|
||||
function groups_add_member($groupid, $userid) {
|
||||
if (!groups_group_exists($groupid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (groups_is_member($groupid, $userid)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$member = new object();
|
||||
$member->groupid = $groupid;
|
||||
$member->userid = $userid;
|
||||
$member->timeadded = time();
|
||||
|
||||
if (!insert_record('groups_members', $member)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//update group info
|
||||
set_field('groups', 'timemodified', $member->timeadded, 'id', $groupid);
|
||||
|
||||
// MDL-9983
|
||||
$eventdata = new object();
|
||||
$eventdata -> groupid = $groupid;
|
||||
$eventdata -> userid = $userid;
|
||||
events_trigger('group_user_added', $eventdata);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the link between the specified user and group.
|
||||
* @param int $groupid The group to delete the user from
|
||||
* @param int $userid The user to delete
|
||||
* @return boolean True if deletion was successful, false otherwise
|
||||
*/
|
||||
function groups_remove_member($groupid, $userid) {
|
||||
if (!groups_group_exists($groupid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!groups_is_member($groupid, $userid)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!delete_records('groups_members', 'groupid', $groupid, 'userid', $userid)) {
|
||||
return false;
|
||||
}
|
||||
//update group info
|
||||
set_field('groups', 'timemodified', time(), 'id', $groupid);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Determines if a group with a given groupid exists.
|
||||
* @param int $groupid The groupid to check for
|
||||
|
Loading…
x
Reference in New Issue
Block a user