* @return object The user record
*/
function groups_db_get_user($userid) {
- $query = get_record('user', 'id', $userid);
- return $query;
+ $query = get_record('user', 'id', $userid);
+ return $query;
}
$users = get_records('groups_members', 'groupid ', $groupid, '',
$fields='id, userid');
if (!$users) {
- $userids = false;
+ $userids = false;
} else {
- $userids = array();
- foreach ($users as $user) {
- array_push($userids, $user->userid);
- }
+ $userids = array();
+ foreach ($users as $user) {
+ array_push($userids, $user->userid);
+ }
}
}
return $userids;
$groups = get_records_sql($sql);
$groupids = groups_groups_to_groupids($groups);
}
-
+
return $groupids;
}
}
}
- return $groupsettings;
+ return $groupsettings;
}
* if an error occurred.
*/
function groups_db_users_in_common_group($userid1, $userid2) {
- global $CFG;
+ global $CFG;
$havecommongroup = false;
- $sql = "SELECT gm1.groupid, 1 FROM {$CFG->prefix}groups_members gm1 " .
- "INNER JOIN {$CFG->prefix}groups_members gm2 " .
- "ON gm1.groupid = gm2.groupid" .
- "WHERE gm1.userid = '$userid1' AND gm2.userid = '$userid2'";
+ $sql = "SELECT gm1.groupid, 1 FROM {$CFG->prefix}groups_members gm1 " .
+ "INNER JOIN {$CFG->prefix}groups_members gm2 " .
+ "ON gm1.groupid = gm2.groupid" .
+ "WHERE gm1.userid = '$userid1' AND gm2.userid = '$userid2'";
$commongroups = get_record_sql($sql);
if ($commongroups) {
- $havecommongroup = true;
+ $havecommongroup = true;
}
return $havecommongroup;
* @return int The id of the group created or false if the create failed.
*/
function groups_db_create_group($courseid, $groupsettings=false, $copytime=false) {
- // Check we have a valid course id
+ // Check we have a valid course id
if (!$courseid) {
$groupid = false;
} else {
- $groupsettings = groups_set_default_group_settings($groupsettings);
+ $groupsettings = groups_set_default_group_settings($groupsettings);
- $record = $groupsettings;
+ $record = $groupsettings;
if (! $copytime) {
$now = time();
$record->timecreated = $now;
if ($groupid != false) {
$record2 = new Object();
- $record2->courseid = $courseid;
- $record2->groupid = $groupid;
+ $record2->courseid = $courseid;
+ $record2->groupid = $groupid;
if ($copytime) {
$record2->timeadded = $record->timemodified;
} else {
$record2->timeadded = $now;
}
- $groupadded = insert_record('groups_courses_groups', $record2);
- if (!$groupadded) {
- $groupid = false;
- }
+ $groupadded = insert_record('groups_courses_groups', $record2);
+ if (!$groupadded) {
+ $groupid = false;
+ }
}
}
return $groupid;
* @return boolean True if user added successfully, false otherwise.
*/
function groups_db_add_member($groupid, $userid, $copytime=false) {
- // Check that the user and group are valid
+ // Check that the user and group are valid
if (!$userid or !$groupid or !groups_db_group_exists($groupid)) {
$useradded = false;
- // If the user is already a member of the group, just return success
+ // If the user is already a member of the group, just return success
} elseif (groups_is_member($groupid, $userid)) {
- $useradded = true;
- } else {
+ $useradded = true;
+ } else {
// Add the user to the group
$record = new Object();
- $record->groupid = $groupid;
- $record->userid = $userid;
+ $record->groupid = $groupid;
+ $record->userid = $userid;
if ($copytime) {
$record->timeadded = $copytime;
} else {
- $record->timeadded = time();
+ $record->timeadded = time();
}
- $useradded = insert_record($table = 'groups_members', $record);
- }
+ $useradded = insert_record($table = 'groups_members', $record);
+ }
- return $useradded;
+ return $useradded;
}
* @return boolean True if info was added successfully, false otherwise.
*/
function groups_db_set_group_settings($groupid, $groupsettings) {
- $success = true;
+ $success = true;
if (!$groupid or !$groupsettings or !groups_db_group_exists($groupid)) {
$success = false;
} else {
- $record = $groupsettings;
+ $record = $groupsettings;
$record->id = $groupid;
$record->timemodified = time();
$result = update_record('groups', $record);
}
return $success;
-
}
/*******************************************************************************
$userids = groups_db_get_members($groupid);
if ($userids != false) {
- foreach($userids as $userid) {
- $userdeleted = groups_db_remove_member($userid, $groupid);
- if (!$userdeleted) {
- $success = false;
- }
- }
+ foreach($userids as $userid) {
+ $userdeleted = groups_db_remove_member($userid, $groupid);
+ if (!$userdeleted) {
+ $success = false;
+ }
+ }
}
// Remove any links with groupings to which the group belongs.
//TODO: dbgroupinglib also seems to delete these links - duplication?
- $groupingids = groups_get_groupings_for_group($groupid);
- if ($groupingids != false) {
- foreach($groupingids as $groupingid) {
- $groupremoved = groups_remove_group_from_grouping($groupid,
- $groupingid);
- if(!$groupremoved) {
- $success = false;
- }
- }
- }
+ $groupingids = groups_get_groupings_for_group($groupid);
+ if ($groupingids != false) {
+ foreach($groupingids as $groupingid) {
+ $groupremoved = groups_remove_group_from_grouping($groupid,
+ $groupingid);
+ if(!$groupremoved) {
+ $success = false;
+ }
+ }
+ }
// Remove links with courses.
- $results = delete_records('groups_courses_groups', 'groupid', $groupid);
- if ($results == false) {
- $success = false;
- }
+ $results = delete_records('groups_courses_groups', 'groupid', $groupid);
+ if ($results == false) {
+ $success = false;
+ }
// Delete the group itself
$results = delete_records($table = 'groups', $field1 = 'id',
- $value1 = $groupid);
+ $value1 = $groupid);
// delete_records returns an array of the results from the sql call,
// not a boolean, so we have to set our return variable
if ($results == false) {
} else {
$groupings = get_records('groups_courses_groupings', 'courseid ',
$courseid, '', $fields='id, groupingid');
- if (!$groupings) {
- $groupingids = false;
- } else {
- // Put the results into an array
- $groupingids = array();
- foreach ($groupings as $grouping) {
- array_push($groupingids, $grouping->groupingid);
- }
- }
+ if (!$groupings) {
+ $groupingids = false;
+ } else {
+ // Put the results into an array
+ $groupingids = array();
+ foreach ($groupings as $grouping) {
+ array_push($groupingids, $grouping->groupingid);
+ }
+ }
}
return $groupingids;
$groups = get_records('groups_groupings_groups', 'groupingid ',
$groupingid, '', $fields='id, groupid');
if (!$groups) {
- $groupids = false;
- } else {
- // Put the results into an array
- $groupids = array();
- foreach ($groups as $group) {
- array_push($groupids, $group->groupid);
- }
- }
+ $groupids = false;
+ } else {
+ // Put the results into an array
+ $groupids = array();
+ foreach ($groups as $group) {
+ array_push($groupids, $group->groupid);
+ }
+ }
}
return $groupids;
* or false if there are none or if an error occurred.
*/
function groups_db_get_groupings_for_group($groupid) {
- if (!$groupid) {
- $groupingids = false;
- } else {
- $groupings = get_records('groups_groupings_groups', 'groupid ',
- $groupid, '', $fields='id, groupingid');
- if (!$groupings) {
- $groupingids = false;
- } else {
- // Put the results into an array
- $groupingids = array();
- foreach ($groupings as $grouping) {
- array_push($groupingids, $grouping->groupingid);
- }
- }
- }
-
- return $groupingids;
+ if (!$groupid) {
+ $groupingids = false;
+ } else {
+ $groupings = get_records('groups_groupings_groups', 'groupid ',
+ $groupid, '', $fields='id, groupingid');
+ if (!$groupings) {
+ $groupingids = false;
+ } else {
+ // Put the results into an array
+ $groupingids = array();
+ foreach ($groupings as $grouping) {
+ array_push($groupingids, $grouping->groupingid);
+ }
+ }
+ }
+
+ return $groupingids;
}
* or if an error occurred.
*/
function groups_db_get_grouping_for_coursemodule($cm) {
- if (is_object($cm) and isset($cm->course) and isset($cm->groupingid)) {
+ if (is_object($cm) and isset($cm->course) and isset($cm->groupingid)) {
//Do NOT rely on cm->module!
return $cm->groupingid;
} elseif (is_numeric($cm)) {
if (!$courseid or !groups_get_course_info($courseid)) {
$groupingid = false;
} else {
- // Replace any empty groupsettings
+ // Replace any empty groupsettings
$groupingsettings = groups_set_default_grouping_settings($groupingsettings);
$record = $groupingsettings;
$record->timecreated = time();
$groupingid = insert_record('groups_groupings', $record);
if ($groupingid != false) {
$record2 = new Object();
- $record2->courseid = $courseid;
- $record2->groupingid = $groupingid;
- $record2->timeadded = time();
- $id= insert_record('groups_courses_groupings', $record2);
- if (!$id) {
- $groupingid = false;
- }
+ $record2->courseid = $courseid;
+ $record2->groupingid = $groupingid;
+ $record2->timeadded = time();
+ $id= insert_record('groups_courses_groupings', $record2);
+ if (!$id) {
+ $groupingid = false;
+ }
}
}
* @param object $groupingsettings
*/
function groups_db_set_grouping_settings($groupingid, $groupingsettings) {
- $success = true;
+ $success = true;
if (!$groupingid or !$groupingsettings
or !groups_db_grouping_exists($groupingid)) {
$success = false;
} else {
- // Replace any empty group settings.
- $record = $groupingsettings;
+ // Replace any empty group settings.
+ $record = $groupingsettings;
$record->id = $groupingid;
$record->timemodified = time();
$result = update_record('groups_groupings', $record);
* @return boolean True if the operation was successful, false otherwise
*/
function groups_db_set_grouping_for_coursemodule($groupingid, $coursemoduleid) {
- $success = true;
- if (!$groupingid or !$coursemoduleid) {
- $success = false;
- } else {
+ $success = true;
+ if (!$groupingid or !$coursemoduleid) {
+ $success = false;
+ } else {
$record = new Object();
- $record->id = $coursemoduleid;
- $record->groupingid = $groupingid;
- $result = update_record('course_modules', $record);
- if (!$result) {
- $success = false;
- }
- }
- return $success;
+ $record->id = $coursemoduleid;
+ $record->groupingid = $groupingid;
+ $result = update_record('course_modules', $record);
+ if (!$result) {
+ $success = false;
+ }
+ }
+ return $success;
}
* @return boolean True if the deletion was successful, false otherwise.
*/
function groups_db_remove_group_from_grouping($groupid, $groupingid) {
- $success = true;
+ $success = true;
if (!$groupingid or !$groupid) {
$success = false;
} else {
$results = delete_records('groups_groupings_groups', 'groupid',
- $groupid, 'groupingid', $groupingid);
+ $groupid, 'groupingid', $groupingid);
// delete_records returns an array of the results from the sql call,
// not a boolean, so we have to set our return variable
if ($results == false) {
* @return boolean True if the deletion was successful, false otherwise.
*/
function groups_db_delete_grouping($groupingid) {
- $success = true;
+ $success = true;
if (!$groupingid) {
$success = false;
} else {
}
-?>
\ No newline at end of file
+?>
* Creates the database tables required
*/
function groups_create_database_tables() {
- global $CFG;
+ global $CFG;
if ('mysql' == $CFG->dbfamily) {
* @param boolean True if the operation was successful, false otherwise.
*/
function groups_db_copy_moodle_group_to_imsgroup($groupid, $courseid) {
-
- $success = true;
-
- $groupsettings = get_record('groups', 'id ', $groupid, '');
-
- // Only copy the group if the group exists.
- if ($groupsettings != false) {
+
+ $success = true;
+
+ $groupsettings = get_record('groups', 'id ', $groupid, '');
+
+ // Only copy the group if the group exists.
+ if ($groupsettings != false) {
$record = new Object();
- $record->name = $groupsettings->name;
- $record->description = $groupsettings->description;
- $record->password = $groupsettings->password;
- $record->lang = $groupsettings->lang;
- $record->theme = $groupsettings->theme;
- $record->picture = $groupsettings->picture;
- $record->hidepicture = $groupsettings->hidepicture;
- $record->timecreated = $groupsettings->timecreated;
- $record->timemodified = $groupsettings->timemodified;
-
- $newgroupid = insert_record('groups_groups', $record);
- if (!$newgroupid) {
- $success = false;
- }
+ $record->name = $groupsettings->name;
+ $record->description = $groupsettings->description;
+ $record->password = $groupsettings->password;
+ $record->lang = $groupsettings->lang;
+ $record->theme = $groupsettings->theme;
+ $record->picture = $groupsettings->picture;
+ $record->hidepicture = $groupsettings->hidepicture;
+ $record->timecreated = $groupsettings->timecreated;
+ $record->timemodified = $groupsettings->timemodified;
+
+ $newgroupid = insert_record('groups_groups', $record);
+ if (!$newgroupid) {
+ $success = false;
+ }
$courserecord = new Object();
- $courserecord->courseid = $groupsettings->courseid;
- $courserecord->groupid = $newgroupid;
-
- $added = insert_record('groups_courses_groups', $courserecord);
-
- if (!$added) {
- $success = false;
- }
-
- // Copy over the group members
- $groupmembers = get_records('groups_users', 'groupid', $groupid);
- if ($groupmembers != false) {
- foreach($groupmembers as $member) {
+ $courserecord->courseid = $groupsettings->courseid;
+ $courserecord->groupid = $newgroupid;
+
+ $added = insert_record('groups_courses_groups', $courserecord);
+
+ if (!$added) {
+ $success = false;
+ }
+
+ // Copy over the group members
+ $groupmembers = get_records('groups_users', 'groupid', $groupid);
+ if ($groupmembers != false) {
+ foreach($groupmembers as $member) {
$record = new Object();
$record->groupid = $newgroupid;
- $record->userid = $member->userid;
- $useradded = insert_record('groups_groups_users', $record);
- if (!$useradded) {
- $success = false;
- }
- }
- }
- }
-
- if (!$success) {
- notify('Copy operations from Moodle groups to IMS Groups failed');
- }
+ $record->userid = $member->userid;
+ $useradded = insert_record('groups_groups_users', $record);
+ if (!$useradded) {
+ $success = false;
+ }
+ }
+ }
+ }
+
+ if (!$success) {
+ notify('Copy operations from Moodle groups to IMS Groups failed');
+ }
return $success;
}
<table cellpadding="10">
<tr>
- <td valign="top">
- <p><?php print_string('groupingname', 'group'); ?></p>
- <p><input id="automaticgroupingname" type="text" size="40" value="<?php print_string('defaultgroupingname', 'group'); ?>" /></p>
- <p><?php print_string('groupingdescription', 'group'); ?></p>
- <p><?php print_textarea($usehtmleditor, 4, 45, 150, 400, 'automaticgroupingdescription'); ?></p>
- <p> <?php print_string('prefixforgroupnames', 'group'); ?> </p>
- <p><input id="groupprefix" type="text" size="40 " value="<?php print_string('defaultgroupname', 'group'); ?> " /></p>
- <p><?php print_string('defaultgroupdescription', 'group'); ?></p>
- <p><?php print_textarea($usehtmleditor, 4, 45, 150, 400, 'defaultgroupdescription'); ?></p>
- </td>
- <td valign="top">
- <p><input type="checkbox" id="alphabetical" /> <?php print_string('distributealphabetically', 'group'); ?></p>
- <table>
- <tr>
- <td><input type="radio" name ="generationtype" id="nostudents" value="nostudents" checked />
- </td>
- <td> <?php print_string('selectnumberineachgroup', 'group'); ?>
- </td>
- </tr>
- <tr>
- <td> </td>
- <td>
- <p><?php print_string('numberofstudents', 'group'); ?> </p><p><input id="noofstudents" type="text" size="5" /></p>
- <p><input type="checkbox" id="distribevenly" checked /> <?php print_string('distributeevenly', 'group'); ?></p>
- </td>
- </tr>
- </table>
-
- <table>
- <tr>
- <td><input type="radio" name ="generationtype" id="nogroups" value="nogroups" /></td>
- <td><?php print_string('selectnumberofgroups', 'group'); ?></td>
- </tr>
- <tr>
- <td> </td>
- <td>
- <p><?php print_string('numberofgroups', 'group'); ?></p><p> <input id="noofgroups" type="text" size="5" /></p>
- </td>
- </tr>
- </table>
-
- <p><input type="button" id="createautomaticgrouping" value=" <?php print_string('creategrouping', 'group'); ?>" />
- <input type="button" id="cancelcreateautomaticgrouping" value=" <?php print_string('cancel', 'group'); ?>" /></p>
- </td>
+ <td valign="top">
+ <p><?php print_string('groupingname', 'group'); ?></p>
+ <p><input id="automaticgroupingname" type="text" size="40" value="<?php print_string('defaultgroupingname', 'group'); ?>" /></p>
+ <p><?php print_string('groupingdescription', 'group'); ?></p>
+ <p><?php print_textarea($usehtmleditor, 4, 45, 150, 400, 'automaticgroupingdescription'); ?></p>
+ <p> <?php print_string('prefixforgroupnames', 'group'); ?> </p>
+ <p><input id="groupprefix" type="text" size="40 " value="<?php print_string('defaultgroupname', 'group'); ?> " /></p>
+ <p><?php print_string('defaultgroupdescription', 'group'); ?></p>
+ <p><?php print_textarea($usehtmleditor, 4, 45, 150, 400, 'defaultgroupdescription'); ?></p>
+ </td>
+ <td valign="top">
+ <p><input type="checkbox" id="alphabetical" /> <?php print_string('distributealphabetically', 'group'); ?></p>
+ <table>
+ <tr>
+ <td><input type="radio" name ="generationtype" id="nostudents" value="nostudents" checked />
+ </td>
+ <td> <?php print_string('selectnumberineachgroup', 'group'); ?>
+ </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td>
+ <p><?php print_string('numberofstudents', 'group'); ?> </p><p><input id="noofstudents" type="text" size="5" /></p>
+ <p><input type="checkbox" id="distribevenly" checked /> <?php print_string('distributeevenly', 'group'); ?></p>
+ </td>
+ </tr>
+ </table>
+
+ <table>
+ <tr>
+ <td><input type="radio" name ="generationtype" id="nogroups" value="nogroups" /></td>
+ <td><?php print_string('selectnumberofgroups', 'group'); ?></td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td>
+ <p><?php print_string('numberofgroups', 'group'); ?></p><p> <input id="noofgroups" type="text" size="5" /></p>
+ </td>
+ </tr>
+ </table>
+
+ <p><input type="button" id="createautomaticgrouping" value=" <?php print_string('creategrouping', 'group'); ?>" />
+ <input type="button" id="cancelcreateautomaticgrouping" value=" <?php print_string('cancel', 'group'); ?>" /></p>
+ </td>
</tr>
</table>
</form>
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- $groupid = groups_create_group($courseid, $groupsettings);
-
- if (!$groupid) {
- echo '<error>Failed to create group</error>';
- } else {
- $groupadded = groups_add_group_to_grouping($groupid, $groupingid);
-
- if (!$groupadded) {
- echo '<error>Failed to add group to grouping</error>';
- } else {
- // Upload a picture file if there was one - note that we don't remove any previous icons
- require_once($CFG->libdir.'/uploadlib.php');
- $um = new upload_manager('newgroupicon', false, false, null, false, 0, true, true);
- if ($um->preprocess_files()) {
- require_once("$CFG->libdir/gdlib.php");
- if (save_profile_image($groupid, $um, 'groups')) {
- $groupsettings->picture = 1;
- $infoset = groups_set_group_settings($groupid, $groupsettings);
- if (!$infoset) {
- echo '<error>Failed to save the fact that the group image was uploaded</error>';
- }
- }
- }
-
- echo '<groupid>'.$groupid.'</groupid>';
- }
- }
+ $groupid = groups_create_group($courseid, $groupsettings);
+
+ if (!$groupid) {
+ echo '<error>Failed to create group</error>';
+ } else {
+ $groupadded = groups_add_group_to_grouping($groupid, $groupingid);
+
+ if (!$groupadded) {
+ echo '<error>Failed to add group to grouping</error>';
+ } else {
+ // Upload a picture file if there was one - note that we don't remove any previous icons
+ require_once($CFG->libdir.'/uploadlib.php');
+ $um = new upload_manager('newgroupicon', false, false, null, false, 0, true, true);
+ if ($um->preprocess_files()) {
+ require_once("$CFG->libdir/gdlib.php");
+ if (save_profile_image($groupid, $um, 'groups')) {
+ $groupsettings->picture = 1;
+ $infoset = groups_set_group_settings($groupid, $groupsettings);
+ if (!$infoset) {
+ echo '<error>Failed to save the fact that the group image was uploaded</error>';
+ }
+ }
+ }
+
+ echo '<groupid>'.$groupid.'</groupid>';
+ }
+ }
}
echo '</groupsresponse>';
$courseid = required_param('courseid', PARAM_INT);
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- $groupsettings->name = $groupname;
- $groupsettings->description = $description;
- $groupsettings->enrolmentkey = $enrolmentkey;
- $groupsettings->hidepicture = $hidepicture;
-
- // Upload the group icon if there is one - note that we don't remove any previous icons
- require_once($CFG->libdir.'/uploadlib.php');
+ $groupsettings->name = $groupname;
+ $groupsettings->description = $description;
+ $groupsettings->enrolmentkey = $enrolmentkey;
+ $groupsettings->hidepicture = $hidepicture;
+
+ // Upload the group icon if there is one - note that we don't remove any previous icons
+ require_once($CFG->libdir.'/uploadlib.php');
$um = new upload_manager('groupicon', false, false, null, false, 0, true, true);
if ($um->preprocess_files()) {
- require_once("$CFG->libdir/gdlib.php");
+ require_once("$CFG->libdir/gdlib.php");
if (save_profile_image($groupid, $um, 'groups')) {
- $groupsettings->picture = 1;
+ $groupsettings->picture = 1;
} else {
- echo '<error>Failed to save group image</error>';
+ echo '<error>Failed to save group image</error>';
}
} else {
- $groupsettings->picture = 0;
+ $groupsettings->picture = 0;
}
-
- $infoset = groups_set_group_settings($groupid, $groupsettings);
- if (!$infoset) {
- echo "<error>Failed to set new group settings</error>";
- }
+
+ $infoset = groups_set_group_settings($groupid, $groupsettings);
+ if (!$infoset) {
+ echo "<error>Failed to set new group settings</error>";
+ }
}
echo '</groupsresponse>';
-?>
\ No newline at end of file
+?>
* Fetches the settings of a grouping and returns
* them in an XML format
**********************************************/
-
+
require_once('../../config.php');
require_once('../lib/lib.php');
$groupingid = required_param('groupingid', PARAM_INT);
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- $groupingsettings = groups_get_grouping_settings($groupingid);
- echo '<name>'.$groupingsettings->name.'</name>';
-
- if ($groupingsettings->viewowngroup) {
- echo '<viewowngroup>true</viewowngroup>';
- } else {
- echo '<viewowngroup>false</viewowngroup>';
- }
-
- if ($groupingsettings->viewallgroupsmembers) {
- echo '<viewallgroupsmembers>true</viewallgroupsmembers>';
- } else {
- echo '<viewallgroupsmembers>false</viewallgroupsmembers>';
- }
-
- if ($groupingsettings->viewallgroupsactivities) {
- echo '<viewallgroupsactivities>true</viewallgroupsactivities>';
- } else {
- echo '<viewallgroupsactivities>false</viewallgroupsactivities>';
- }
-
- if ($groupingsettings->teachersgroupmark) {
- echo '<teachersgroupmark>true</teachersgroupmark>';
- } else {
- echo '<teachersgroupmark>false</teachersgroupmark>';
- }
-
- if ($groupingsettings->teachersgroupview) {
- echo '<teachersgroupview>true</teachersgroupview>';
- } else {
- echo '<teachersgroupview>false</teachersgroupview>';
- }
-
- if ($groupingsettings->teachersoverride) {
- echo '<teachersoverride>true</teachersoverride>';
- } else {
- echo '<teachersoverride>false</teachersoverride>';
- }
-
+ $groupingsettings = groups_get_grouping_settings($groupingid);
+ echo '<name>'.$groupingsettings->name.'</name>';
+
+ if ($groupingsettings->viewowngroup) {
+ echo '<viewowngroup>true</viewowngroup>';
+ } else {
+ echo '<viewowngroup>false</viewowngroup>';
+ }
+
+ if ($groupingsettings->viewallgroupsmembers) {
+ echo '<viewallgroupsmembers>true</viewallgroupsmembers>';
+ } else {
+ echo '<viewallgroupsmembers>false</viewallgroupsmembers>';
+ }
+
+ if ($groupingsettings->viewallgroupsactivities) {
+ echo '<viewallgroupsactivities>true</viewallgroupsactivities>';
+ } else {
+ echo '<viewallgroupsactivities>false</viewallgroupsactivities>';
+ }
+
+ if ($groupingsettings->teachersgroupmark) {
+ echo '<teachersgroupmark>true</teachersgroupmark>';
+ } else {
+ echo '<teachersgroupmark>false</teachersgroupmark>';
+ }
+
+ if ($groupingsettings->teachersgroupview) {
+ echo '<teachersgroupview>true</teachersgroupview>';
+ } else {
+ echo '<teachersgroupview>false</teachersgroupview>';
+ }
+
+ if ($groupingsettings->teachersoverride) {
+ echo '<teachersoverride>true</teachersoverride>';
+ } else {
+ echo '<teachersoverride>false</teachersoverride>';
+ }
+
}
echo '</groupsresponse>';
-?>
\ No newline at end of file
+?>
$courseid = required_param('courseid', PARAM_INT);
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- $groupingids = groups_get_groupings($courseid);
- if ($groupingids != false) {
- // Put the groupings into a hash and sort them
- foreach($groupingids as $groupingid) {
- $listgroupings[$groupingid] = groups_get_grouping_displayname($groupingid);
- }
- natcasesort($listgroupings);
-
- // Print out the XML
- echo '<option>';
- foreach($listgroupings as $value=>$name) {
- echo "<name>$name</name>";
- echo "<value>$value</value>";
- }
- echo '</option>';
- }
+ $groupingids = groups_get_groupings($courseid);
+ if ($groupingids != false) {
+ // Put the groupings into a hash and sort them
+ foreach($groupingids as $groupingid) {
+ $listgroupings[$groupingid] = groups_get_grouping_displayname($groupingid);
+ }
+ natcasesort($listgroupings);
+
+ // Print out the XML
+ echo '<option>';
+ foreach($listgroupings as $value=>$name) {
+ echo "<name>$name</name>";
+ echo "<value>$value</value>";
+ }
+ echo '</option>';
+ }
}
echo '</groupsresponse>';
$courseid = required_param('courseid', PARAM_INT);
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- $groupids = groups_get_groups_in_grouping($groupingid);
-
- if ($groupids != false) {
- // Put the groupings into a hash and sort them
- foreach($groupids as $groupid) {
- $listgroups[$groupid] = groups_get_group_displayname($groupid);
- }
-
- natcasesort($listgroups);
-
- // Print out the XML
- echo "<option>";
- foreach($listgroups as $value=>$name) {
- echo "<name>$name</name>";
- echo "<value>$value</value>";
- }
- echo "</option>";
- }
+ $groupids = groups_get_groups_in_grouping($groupingid);
+
+ if ($groupids != false) {
+ // Put the groupings into a hash and sort them
+ foreach($groupids as $groupid) {
+ $listgroups[$groupid] = groups_get_group_displayname($groupid);
+ }
+
+ natcasesort($listgroups);
+
+ // Print out the XML
+ echo "<option>";
+ foreach($listgroups as $value=>$name) {
+ echo "<name>$name</name>";
+ echo "<value>$value</value>";
+ }
+ echo "</option>";
+ }
}
echo '</groupsresponse>';
$courseid = required_param('courseid', PARAM_INT);
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- $groupids = groups_get_groups_not_in_grouping($groupingid, $courseid);
- if ($groupids != false) {
- // Put the groupings into a hash and sort them
- foreach($groupids as $groupid) {
- $listgroups[$groupid] = groups_get_group_displayname($groupid);
- }
-
- natcasesort($listgroups);
-
- // Print out the XML
- echo "<option>";
- foreach($listgroups as $value=>$name) {
- echo "<name>$name</name>";
- echo "<value>$value</value>";
- }
- echo "</option>";
- }
+ $groupids = groups_get_groups_not_in_grouping($groupingid, $courseid);
+ if ($groupids != false) {
+ // Put the groupings into a hash and sort them
+ foreach($groupids as $groupid) {
+ $listgroups[$groupid] = groups_get_group_displayname($groupid);
+ }
+
+ natcasesort($listgroups);
+
+ // Print out the XML
+ echo "<option>";
+ foreach($listgroups as $value=>$name) {
+ echo "<name>$name</name>";
+ echo "<value>$value</value>";
+ }
+ echo "</option>";
+ }
}
echo '</groupsresponse>';
$courseid = required_param('courseid', PARAM_INT);
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- $userids = groups_get_members($groupid);
-
- if ($userids != false) {
- // Put the groupings into a hash and sort them
- foreach($userids as $userid) {
- $listmembers[$userid] = groups_get_user_displayname($userid, $courseid);
- }
- natcasesort($listmembers);
-
-
- // Print out the XML
-
- echo "<option>";
- foreach($listmembers as $value=>$name) {
- echo "<name>$name</name>";
- echo "<value>$value</value>";
- }
- echo "</option>";
- }
+ $userids = groups_get_members($groupid);
+
+ if ($userids != false) {
+ // Put the groupings into a hash and sort them
+ foreach($userids as $userid) {
+ $listmembers[$userid] = groups_get_user_displayname($userid, $courseid);
+ }
+ natcasesort($listmembers);
+
+
+ // Print out the XML
+
+ echo "<option>";
+ foreach($listmembers as $value=>$name) {
+ echo "<name>$name</name>";
+ echo "<value>$value</value>";
+ }
+ echo "</option>";
+ }
}
echo '</groupsresponse>';
$showall = required_param('showall', PARAM_INT);
require_login($courseid);
-
+
if (confirm_sesskey() and isteacheredit($courseid)) {
- echo "$groupingid $groupid";
- if ($showall == 0) {
- $userids = groups_get_users_not_in_any_group_in_grouping($courseid,$groupingid, $groupid);
- } else {
- $userids = groups_get_users_not_in_group($courseid, $groupid);
- }
-
- if ($userids != false) {
- // Put the groupings into a hash and sorts them
- foreach($userids as $userid) {
- $listmembers[$userid] = groups_get_user_displayname($userid, $courseid);
- }
- natcasesort($listmembers);
-
-
- // Print out the XML
- echo "<option>";
- foreach($listmembers as $value=>$name) {
- echo "<name>$name</name>";
- echo "<value>$value</value>";
- }
- echo "</option>";
- }
- }
+ echo "$groupingid $groupid";
+ if ($showall == 0) {
+ $userids = groups_get_users_not_in_any_group_in_grouping($courseid,$groupingid, $groupid);
+ } else {
+ $userids = groups_get_users_not_in_group($courseid, $groupid);
+ }
+
+ if ($userids != false) {
+ // Put the groupings into a hash and sorts them
+ foreach($userids as $userid) {
+ $listmembers[$userid] = groups_get_user_displayname($userid, $courseid);
+ }
+ natcasesort($listmembers);
+
+
+ // Print out the XML
+ echo "<option>";
+ foreach($listmembers as $value=>$name) {
+ echo "<name>$name</name>";
+ echo "<value>$value</value>";
+ }
+ echo "</option>";
+ }
+}
echo '</groupsresponse>';
?>
if (!$error) {
- // Make sure that the user is a teacher with edit permission for this course
- require_login($courseid);
- if (!isteacheredit($courseid)) {
- redirect();
- }
+ // Make sure that the user is a teacher with edit permission for this course
+ require_login($courseid);
+ if (!isteacheredit($courseid)) {
+ redirect();
+ }
- // Set the session key so we can check this later
- $sesskey = !empty($USER->id) ? $USER->sesskey : '';
+ // Set the session key so we can check this later
+ $sesskey = !empty($USER->id) ? $USER->sesskey : '';
- if (!empty($CFG->gdversion)) { //TODO: and $maxbytes)
- $printuploadpicture = true;
- } else {
- $printuploadpicture = false;
- }
+ if (!empty($CFG->gdversion)) { //TODO: and $maxbytes)
+ $printuploadpicture = true;
+ } else {
+ $printuploadpicture = false;
+ }
- $maxbytes = get_max_upload_file_size($CFG->maxbytes, $course->maxbytes);
- $strgroups = get_string('groups');
- $strparticipants = get_string('participants');
- // Print the page and form
- 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));
+ $maxbytes = get_max_upload_file_size($CFG->maxbytes, $course->maxbytes);
+ $strgroups = get_string('groups');
+ $strparticipants = get_string('participants');
+ // Print the page and form
+ 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));
//TODO: set to false in /course/group.php
$usehtmleditor = false;
- require_once('form.html');
+ require_once('form.html');
- print_footer($course);
+ print_footer($course);
}
-?>
\ No newline at end of file
+?>
redirect();
}
- //( confirm_sesskey checks that this is a POST request.)
+ //( confirm_sesskey checks that this is a POST request.)
- // 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> ".
- "-> <a href=\"$CFG->wwwroot/group/groupui/index.php?id=$courseid\">$strgroups</a>".
- "-> Display grouping", "", "", true, '', user_login_string($course, $USER));
+ // 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> ".
+ "-> <a href=\"$CFG->wwwroot/group/groupui/index.php?id=$courseid\">$strgroups</a>".
+ "-> Display grouping", "", "", true, '', user_login_string($course, $USER));
$groupingname = groups_get_grouping_name($groupingid);
if (! $groupingname) {
print_error('errorinvalidgrouping', 'group', groups_home_url($courseid));
} else {
// Print the name of the grouping
- echo "<h1>$groupingname</h1>\n";
+ echo "<h1>$groupingname</h1>\n";
}
- // Get the groups and group members for the grouping.
+ // Get the groups and group members for the grouping.
if (GROUP_NOT_IN_GROUPING == $groupingid) {
$groupids = groups_get_groups_not_in_any_grouping($courseid);
} else {
$groupids = groups_get_groups_in_grouping($groupingid);
}
- if ($groupids) {
- // Make sure the groups are in the right order
- $group_names = groups_groupids_to_group_names($groupids);
-
+ if ($groupids) {
+ // Make sure the groups are in the right order
+ $group_names = groups_groupids_to_group_names($groupids);
+
// Go through each group in turn and print the group name and then the members
foreach ($group_names as $group) {
- echo "<h2>{$group->name}</h2>\n";
- $userids = groups_get_members($group->id);
- if ($userids != false) {
- // Make sure the users are in the right order
- $user_names = groups_userids_to_user_names($userids, $courseid);
+ echo "<h2>{$group->name}</h2>\n";
+ $userids = groups_get_members($group->id);
+ if ($userids != false) {
+ // Make sure the users are in the right order
+ $user_names = groups_userids_to_user_names($userids, $courseid);
echo "<ol>\n";
foreach ($user_names as $user) {
- echo "<li>{$user->name}</li>\n";
- }
+ echo "<li>{$user->name}</li>\n";
+ }
echo "</ol>\n";
- }
- }
- }
+ }
+ }
+ }
print_footer($course);
}
-?>
\ No newline at end of file
+?>
* groups_create_automatic_grouping more than once.
*/
function groups_seed_random_number_generator() {
- $seed = (double)microtime()*1234567 ;
- srand($seed);
+ $seed = (double)microtime()*1234567 ;
+ srand($seed);
}
$groupingsettings,
$groupid = false,
$alphabetical = false) {
-
- if (!$nostudentspergroup and !$noteacherspergroup and !$nogroups) {
- $groupingid = false;
- } else {
- // Set $userids to the list of students that we want to put into groups
- // in the grouping
- if (!$groupid) {
- $users = get_course_students($courseid);
- $userids = groups_users_to_userids($users);
- } else {
- $userids = groups_get_members($groupid);
- }
-
- // Distribute the users into sets according to the parameters specified
- $userarrays = groups_distribute_in_random_sets($userids,
- $nostudentspergroup, $nogroups, $distribevenly, !$alphabetical);
-
- if (!$userarrays) {
- $groupingid = false;
- } else {
- // Create the grouping that the groups we create will go into
- $groupingid = groups_create_grouping($courseid, $groupingsettings);
-
- // Get the prefix for the names of each group and default group
- // description to give each group
- if (!$groupingsettings->prefix) {
- $prefix = get_string('defaultgroupprefix', 'groups');
- } else {
- $prefix = $groupingsettings->prefix;
- }
-
- if (!$groupingsettings->defaultgroupdescription) {
- $defaultgroupdescription = '';
- } else {
- $defaultgroupdescription = $groupingsettings->defaultgroupdescription;
- }
-
- // Now create a group for each set of students, add the group to the
- // grouping and then add the students
- $i = 1;
- foreach ($userarrays as $userids) {
- $groupsettings->name = $prefix.' '.$i;
- $groupsettings->description = $defaultgroupdescription;
- $i++;
- $groupid = groups_create_group($courseid, $groupsettings);
- $groupadded = groups_add_group_to_grouping($groupid,
- $groupingid);
- if (!$groupid or !$groupadded) {
- $groupingid = false;
- } else {
- if ($userids) {
- foreach($userids as $userid) {
- $usersadded = groups_add_member($groupid, $userid);
- // If unsuccessful just carry on I guess
- }
- }
- }
- }
- }
- }
+
+ if (!$nostudentspergroup and !$noteacherspergroup and !$nogroups) {
+ $groupingid = false;
+ } else {
+ // Set $userids to the list of students that we want to put into groups
+ // in the grouping
+ if (!$groupid) {
+ $users = get_course_students($courseid);
+ $userids = groups_users_to_userids($users);
+ } else {
+ $userids = groups_get_members($groupid);
+ }
+
+ // Distribute the users into sets according to the parameters specified
+ $userarrays = groups_distribute_in_random_sets($userids,
+ $nostudentspergroup, $nogroups, $distribevenly, !$alphabetical);
+
+ if (!$userarrays) {
+ $groupingid = false;
+ } else {
+ // Create the grouping that the groups we create will go into
+ $groupingid = groups_create_grouping($courseid, $groupingsettings);
+
+ // Get the prefix for the names of each group and default group
+ // description to give each group
+ if (!$groupingsettings->prefix) {
+ $prefix = get_string('defaultgroupprefix', 'groups');
+ } else {
+ $prefix = $groupingsettings->prefix;
+ }
+
+ if (!$groupingsettings->defaultgroupdescription) {
+ $defaultgroupdescription = '';
+ } else {
+ $defaultgroupdescription = $groupingsettings->defaultgroupdescription;
+ }
+
+ // Now create a group for each set of students, add the group to the
+ // grouping and then add the students
+ $i = 1;
+ foreach ($userarrays as $userids) {
+ $groupsettings->name = $prefix.' '.$i;
+ $groupsettings->description = $defaultgroupdescription;
+ $i++;
+ $groupid = groups_create_group($courseid, $groupsettings);
+ $groupadded = groups_add_group_to_grouping($groupid,
+ $groupingid);
+ if (!$groupid or !$groupadded) {
+ $groupingid = false;
+ } else {
+ if ($userids) {
+ foreach($userids as $userid) {
+ $usersadded = groups_add_member($groupid, $userid);
+ // If unsuccessful just carry on I guess
+ }
+ }
+ }
+ }
+ }
+ }
return $groupingid;
-}
+ }
/**
$distribevenly = true,
$randomise = true) {
$noelements = count($array);
-
- // Create a list of the numbers 1,..., $noelements, in either random order
- // or in numerical order depending on whether $randomise has been set.
+
+ // Create a list of the numbers 1,..., $noelements, in either random order
+ // or in numerical order depending on whether $randomise has been set.
if ($randomise) {
- $orderarray = groups_random_list($noelements);
+ $orderarray = groups_random_list($noelements);
} else {
- // Just create the array (1,2,3,....)
- $orderarray = array();
- for($i = 0; $i < $noelements; $i++) {
- array_push($orderarray, $i);
- }
+ // Just create the array (1,2,3,....)
+ $orderarray = array();
+ for($i = 0; $i < $noelements; $i++) {
+ array_push($orderarray, $i);
+ }
}
-
+
// Now use the ordering in $orderarray to generate the new arrays
$arrayofrandomsets = array(); //
for ($i = 0; $i < $noelements; $i++) {
- $arrayofrandomsets[$arrayno][$i] = $array[$orderarray[$i]];
+ $arrayofrandomsets[$arrayno][$i] = $array[$orderarray[$i]];
if (groups_last_element_in_set($noelements, $setsize, $nosets,
- $distribevenly, $i)
- and $i != $noelements - 1) {
- $arrayno++;
- $arrayofrandomsets[$arrayno] = array();
- }
-
+ $distribevenly, $i)
+ and $i != $noelements - 1) {
+ $arrayno++;
+ $arrayofrandomsets[$arrayno] = array();
+ }
+
}
-
+
return $arrayofrandomsets;
-}
+ }
/**
* Returns an array of the numbers 0,..,$size - 1 in random order
* @return array The array of numbers in a random order
*/
function groups_random_list($size) {
- $orderarray = array();
+ $orderarray = array();
$noelementsset = 0;
while($noelementsset != $size) {
$newelement = rand() % $size;
*/
function groups_last_element_in_set($totalnoelements, $setsize, $nosets,
$distribevenly, $elementno) {
- $lastelement = false;
- $elementno = $elementno + 1; // Counting from zero is just too confusing!
-
- // If $nosets has been specified, make sure $setsize is set to the right
- // value, so that we can treat the two cases identically. Then work out how
- // many extra elements will be left over.
- if (!$setsize) {
- $setsize = floor($totalnoelements / $nosets);
- $noextra = $totalnoelements % $nosets;
- } else {
- $noextra = $totalnoelements % $setsize;
- }
-
+ $lastelement = false;
+ $elementno = $elementno + 1; // Counting from zero is just too confusing!
+
+ // If $nosets has been specified, make sure $setsize is set to the right
+ // value, so that we can treat the two cases identically. Then work out how
+ // many extra elements will be left over.
+ if (!$setsize) {
+ $setsize = floor($totalnoelements / $nosets);
+ $noextra = $totalnoelements % $nosets;
+ } else {
+ $noextra = $totalnoelements % $setsize;
+ }
+
if (!$distribevenly) {
- // If we're putting our extra elements in a set at the end, everything
- // is easy!
- if ($elementno % $setsize == 0) {
- $lastelement = true;
- }
+ // If we're putting our extra elements in a set at the end, everything
+ // is easy!
+ if ($elementno % $setsize == 0) {
+ $lastelement = true;
+ }
} else {
- // Work out the number of elements that will be in the bigger sets that
- // have the leftover elements in
- // them.
- $noinbiggersets = $noextra * ($setsize + 1);
- // Work out if this element is a last element in a set or not - we need
- // to separate the case where the element is one of the ones that goes
- // into the bigger sets at the beginning
- // and the case where it's one of the elements in the normal sized sets.
- if (($elementno <= $noinbiggersets and $elementno % ($setsize + 1) == 0)
- or ($elementno > $noinbiggersets and
- ($elementno - $noinbiggersets ) % $setsize == 0) ) {
- $lastelement = true;
- }
- }
+ // Work out the number of elements that will be in the bigger sets that
+ // have the leftover elements in
+ // them.
+ $noinbiggersets = $noextra * ($setsize + 1);
+ // Work out if this element is a last element in a set or not - we need
+ // to separate the case where the element is one of the ones that goes
+ // into the bigger sets at the beginning
+ // and the case where it's one of the elements in the normal sized sets.
+ if (($elementno <= $noinbiggersets and $elementno % ($setsize + 1) == 0)
+ or ($elementno > $noinbiggersets and
+ ($elementno - $noinbiggersets ) % $setsize == 0) ) {
+ $lastelement = true;
+ }
+ }
return $lastelement;
-}
+ }
-?>
\ No newline at end of file
+?>
* or an error occurred.
*/
function groups_get_groups($courseid) {
- $groupids = groups_db_get_groups($courseid);
+ $groupids = groups_db_get_groups($courseid);
return $groupids;
}
* group or false if no users or an error returned.
*/
function groups_get_members($groupid, $membertype = false) {
- $userids = groups_db_get_members($groupid);
+ $userids = groups_db_get_members($groupid);
return $userids;
}
* @return array An array of the groupids.
*/
function groups_get_groups_for_current_user($courseid) {
- global $USER;
- $groupids = groups_get_groups_for_user($USER->id, $courseid);
- return $groupids;
+ global $USER;
+ $groupids = groups_get_groups_for_user($USER->id, $courseid);
+ return $groupids;
}
* @return object The group settings object
*/
function groups_get_group_settings($groupid, $courseid=false, $alldata=false) {
- return groups_db_get_group_settings($groupid, $courseid, $alldata);
+ return groups_db_get_group_settings($groupid, $courseid, $alldata);
}
/**
*/
function groups_get_group_image_path($groupid) {
//TODO: groupid=1, /user/pixgroup.php/1/f1.jpg ??
- return $CFG->wwwroot.'/pixgroup.php/'.$groupid.'/f1.jpg';
+ return $CFG->wwwroot.'/pixgroup.php/'.$groupid.'/f1.jpg';
}
/**
* @return string The name of the group
*/
function groups_get_group_name($groupid) {
- $settings = groups_get_group_settings($groupid);
- if ($settings) {
+ $settings = groups_get_group_settings($groupid);
+ if ($settings) {
return $settings->name;
}
return false;
* an error occurred.
*/
function groups_get_users_not_in_group($courseid, $groupid) {
- $users = get_course_users($courseid);
+ $users = get_course_users($courseid);
$userids = groups_users_to_userids($users);
$nongroupmembers = array();
- foreach($userids as $userid) {
- if (!groups_is_member($groupid, $userid)) {
- array_push($nongroupmembers, $userid);
- }
+ foreach($userids as $userid) {
+ if (!groups_is_member($groupid, $userid)) {
+ array_push($nongroupmembers, $userid);
+ }
}
return $nongroupmembers;
* if an error occurred.
*/
function groups_users_in_common_group($userid1, $userid2) {
- return groups_db_users_in_common_group($userid1, $userid2);
+ return groups_db_users_in_common_group($userid1, $userid2);
}
* occurred.
*/
function groups_group_exists($groupid) {
- return groups_db_group_exists($groupid);
+ return groups_db_group_exists($groupid);
}
}
if (isset($groupinfo->hidepicture)) {
- if ($groupinfo->hidepicture != 0 and $groupinfo->hidepicture != 1) {
- $groupinfo->hidepicture = 1;
- }
+ if ($groupinfo->hidepicture != 0 and $groupinfo->hidepicture != 1) {
+ $groupinfo->hidepicture = 1;
+ }
}
- return $groupinfo;
+ return $groupinfo;
}
/*****************************
* not created successfully.
* See comment above on web service autoupdating.
*/
-function groups_create_group($courseid, $groupsettings = false) {
- return groups_db_create_group($courseid, $groupsettings);
+function groups_create_group($courseid, $groupsettings = false) {
+ return groups_db_create_group($courseid, $groupsettings);
}
/**
* following properties: name, description, lang, theme, picture, hidepicture
* @return boolean True if info was added successfully, false otherwise.
*/
-function groups_set_group_settings($groupid, $groupsettings) {
- return groups_db_set_group_settings($groupid, $groupsettings);
+function groups_set_group_settings($groupid, $groupsettings) {
+ return groups_db_set_group_settings($groupid, $groupsettings);
}
* See comment above on web service autoupdating.
*/
function groups_add_member($groupid, $userid) {
- $useradded = false;
-
+ $useradded = false;
+
$alreadymember = groups_is_member($groupid, $userid);
if (!groups_group_exists($groupid)) {
- $useradded = false;
+ $useradded = false;
} elseif ($alreadymember) {
- $useradded = true;
+ $useradded = true;
} else {
- $useradded = groups_db_add_member($groupid, $userid);
+ $useradded = groups_db_add_member($groupid, $userid);
}
if ($useradded) {
$useradded = groups_db_set_group_modified($groupid);
}
- return $useradded;
+ return $useradded;
}
/**
* See comment above on web service autoupdating.
*/
function groups_remove_member($groupid, $userid) {
- $success = groups_db_remove_member($groupid, $userid);
+ $success = groups_db_remove_member($groupid, $userid);
if ($success) {
$success = groups_db_set_group_modified($groupid);
}
* or false if there are none or if an error occurred.
*/
function groups_get_groupings_for_group($groupid) {
- return groups_db_get_groupings_for_group($groupid);
+ return groups_db_get_groupings_for_group($groupid);
}
/**
* description.
*/
function groups_get_grouping_settings($groupingid) {
- return groups_db_get_grouping_settings($groupingid);
+ return groups_db_get_grouping_settings($groupingid);
}
/**
* @param object $groupingsettings
*/
function groups_set_grouping_settings($groupingid, $groupingsettings) {
- return groups_db_set_grouping_settings($groupingid, $groupingsettings);
+ return groups_db_set_grouping_settings($groupingid, $groupingsettings);
}
* the grouping or false if an error occurred.
*/
function groups_get_users_not_in_any_group_in_grouping($courseid, $groupingid,
- $groupid = false) {
- $users = get_course_users($courseid);
- $userids = groups_users_to_userids($users);
- $nongroupmembers = array();
- if (! $userids) {
- return $nongroupmembers;
- }
- foreach($userids as $userid) {
- if (!groups_is_member_of_some_group_in_grouping($userid, $groupingid)) {
- // If a group has been specified don't include members of that group
- if ($groupid and !groups_is_member($userid, $groupid)) {
- array_push($nongroupmembers, $userid);
- } else {
- ///array_push($nongroupmembers, $userid);
- }
+ $groupid = false) {
+ $users = get_course_users($courseid);
+ $userids = groups_users_to_userids($users);
+ $nongroupmembers = array();
+ if (! $userids) {
+ return $nongroupmembers;
}
+ foreach($userids as $userid) {
+ if (!groups_is_member_of_some_group_in_grouping($userid, $groupingid)) {
+ // If a group has been specified don't include members of that group
+ if ($groupid and !groups_is_member($userid, $groupid)) {
+ array_push($nongroupmembers, $userid);
+ } else {
+ ///array_push($nongroupmembers, $userid);
+ }
+ }
+ }
+ return $nongroupmembers;
}
- return $nongroupmembers;
-}
/**
* or if an error occurred.
*/
function groups_user_is_in_multiple_groups($userid, $groupingid) {
- $inmultiplegroups = false;
+ $inmultiplegroups = false;
//TODO: $courseid?
- $groupids = groups_get_groups_for_user($courseid);
- if ($groupids != false) {
- $groupinggroupids = array();
- foreach($groupids as $groupid) {
- if (groups_belongs_to_grouping($groupid, $groupingid)) {
- array_push($groupinggroupids, $groupid);
- }
- }
- if (count($groupinggroupids) > 1) {
- $inmultiplegroups = true;
- }
- }
- return $inmultiplegroups;
+ $groupids = groups_get_groups_for_user($courseid);
+ if ($groupids != false) {
+ $groupinggroupids = array();
+ foreach($groupids as $groupid) {
+ if (groups_belongs_to_grouping($groupid, $groupingid)) {
+ array_push($groupinggroupids, $groupid);
+ }
+ }
+ if (count($groupinggroupids) > 1) {
+ $inmultiplegroups = true;
+ }
+ }
+ return $inmultiplegroups;
}
}
if (!isset($groupingsettings->viewowngroup)) {
- $groupingsettings->viewowngroup = 1;
+ $groupingsettings->viewowngroup = 1;
}
if (!isset($groupingsettings->viewallgroupsmembers)) {
- $groupingsettings->viewallgroupsmembers = 0;
+ $groupingsettings->viewallgroupsmembers = 0;
}
if (!isset($groupingsettings->viewallgroupsactivities)) {
- $groupingsettings->viewallgroupsactivities = 0;
+ $groupingsettings->viewallgroupsactivities = 0;
}
if (!isset($groupingsettings->teachersgroupmark)) {
- $groupingsettings->teachersgroupmark = 0;
+ $groupingsettings->teachersgroupmark = 0;
}
if (!isset($groupingsettings->teachersgroupview)) {
- $groupingsettings->teachersgroupview = 0;
+ $groupingsettings->teachersgroupview = 0;
}
if (!isset($groupingsettings->teachersoverride)) {
- $groupingsettings->teachersoverride = 1;
+ $groupingsettings->teachersoverride = 1;
}
- return $groupingsettings;
+ return $groupingsettings;
}
* or if an error occurred.
*/
function groups_get_grouping_for_coursemodule($coursemodule) {
- return groups_db_get_grouping_for_coursemodule($coursemodule);
+ return groups_db_get_grouping_for_coursemodule($coursemodule);
}
/*****************************
* @return True if the grouping exists, false otherwise or if an error occurred.
*/
function groups_grouping_exists($groupingid) {
- return groups_db_grouping_exists($groupingid);
+ return groups_db_grouping_exists($groupingid);
}
/**
}
/**
- * Determines if a group belongs to a specified grouping
- * @param int $groupid The id of the group
- * @param int $groupingid The id of the grouping
- * @return boolean. True if the group belongs to a grouping, false otherwise or
- * if an error has occurred.
- */
- function groups_belongs_to_grouping($groupid, $groupingid) {
- return groups_db_belongs_to_grouping($groupid, $groupingid);
- }
-
-
- /**
- * Detemines if a specified user belongs to any group of a specified grouping.
- * @param int $userid The id of the user
- * @param int $groupingid The id of the grouping
- * @return boolean True if the user belongs to some group in the grouping,
- * false otherwise or if an error occurred.
- */
- function groups_is_member_of_some_group_in_grouping($userid, $groupingid) {
- return groups_db_is_member_of_some_group_in_grouping($userid, $groupingid);
- }
-
- /**
- * Determines if a grouping belongs to a specified course
- * @param int $groupingid The id of the grouping
- * @param int $courseid The id of the course
- * @return boolean True if the grouping belongs to the course, false otherwise,
- * or if an error occurred.
- */
- function groups_grouping_belongs_to_course($groupingid, $courseid) {
- return groups_db_grouping_belongs_to_course($groupingid, $courseid);
- }
+ * Determines if a group belongs to a specified grouping
+ * @param int $groupid The id of the group
+ * @param int $groupingid The id of the grouping
+ * @return boolean. True if the group belongs to a grouping, false otherwise or
+ * if an error has occurred.
+ */
+function groups_belongs_to_grouping($groupid, $groupingid) {
+ return groups_db_belongs_to_grouping($groupid, $groupingid);
+}
+
+
+/**
+ * Detemines if a specified user belongs to any group of a specified grouping.
+ * @param int $userid The id of the user
+ * @param int $groupingid The id of the grouping
+ * @return boolean True if the user belongs to some group in the grouping,
+ * false otherwise or if an error occurred.
+ */
+function groups_is_member_of_some_group_in_grouping($userid, $groupingid) {
+ return groups_db_is_member_of_some_group_in_grouping($userid, $groupingid);
+}
+
+/**
+ * Determines if a grouping belongs to a specified course
+ * @param int $groupingid The id of the grouping
+ * @param int $courseid The id of the course
+ * @return boolean True if the grouping belongs to the course, false otherwise,
+ * or if an error occurred.
+ */
+function groups_grouping_belongs_to_course($groupingid, $courseid) {
+ return groups_db_grouping_belongs_to_course($groupingid, $courseid);
+}
/*****************************
Creation functions
- *****************************/
+*****************************/
/**
* doesn't belong to the same course as the grouping.
*/
function groups_add_group_to_grouping($groupid, $groupingid) {
- if (GROUP_NOT_IN_GROUPING == $groupingid) {
+ if (GROUP_NOT_IN_GROUPING == $groupingid) {
return true;
}
$belongstogrouping = groups_belongs_to_grouping($groupid, $groupingid);
-
+
if (!groups_grouping_exists($groupingid)) {
- $groupadded = false;
- } elseif (!$belongstogrouping) {
- $groupadded = groups_db_add_group_to_grouping($groupid, $groupingid);
- } else {
- $groupadded = true;
- }
-
+ $groupadded = false;
+ } elseif (!$belongstogrouping) {
+ $groupadded = groups_db_add_group_to_grouping($groupid, $groupingid);
+ } else {
+ $groupadded = true;
+ }
+
return $groupadded;
}
* @return boolean True if the operation was successful, false otherwise
*/
function groups_set_grouping_for_coursemodule($groupingid, $coursemoduleid) {
- return groups_db_set_grouping_for_coursemodule($groupingid,
- $coursemoduleid);
+ return groups_db_set_grouping_for_coursemodule($groupingid,
+ $coursemoduleid);
}
* @return int $groupid
*/
function groups_get_group_by_name($courseid, $groupname) {
- //uploaduser.php, get_record("groups","courseid",$course[$i]->id,"name",$addgroup[$i])
+ //uploaduser.php, get_record("groups","courseid",$course[$i]->id,"name",$addgroup[$i])
$groupids = groups_db_get_groups($courseid);
if (! $groupids) {
return false;
* @return object
*/
function get_groups($courseid, $userid=0) {
- if ($userid) {
- $groupids = groups_get_groups_for_user($userid, $courseid);
- } else {
- $groupids = groups_get_groups($courseid);
- }
+ if ($userid) {
+ $groupids = groups_get_groups_for_user($userid, $courseid);
+ } else {
+ $groupids = groups_get_groups($courseid);
+ }
- return groups_groupids_to_groups($groupids, $courseid, $alldata=true);
+ return groups_groupids_to_groups($groupids, $courseid, $alldata=true);
}
* @return boolean True if the user is a member, false otherwise.
*/
function ismember($groupid, $userid = null) {
- return groups_is_member($groupid, $userid);
+ return groups_is_member($groupid, $userid);
}
/**
*/
function mygroupid($courseid) {
global $USER;
- $groupids = groups_get_groups_for_user($USER->id, $courseid);
- return $groupids;
+ $groupids = groups_get_groups_for_user($USER->id, $courseid);
+ return $groupids;
}
/**
return $cm->groupmode;
}
return $course->groupmode;
-
+
/*if ($cm and !$course->groupingid) {
//TODO: was $coursemodule
return groups_has_groups_setup_for_instance($cm);
} else {
- return groups_has_groups_setup($course->id);
+ return groups_has_groups_setup($course->id);
}*/
}
}
if (isset($SESSION->currentgroup[$courseid])) {
- $currentgroup = $SESSION->currentgroup[$courseid];
+ $currentgroup = $SESSION->currentgroup[$courseid];
} else {
- $currentgroup = $mygroupid;
+ $currentgroup = $mygroupid;
}
-
+
if ($currentgroup) {
- $SESSION->currentgroup[$courseid] = $mygroupid;
+ $SESSION->currentgroup[$courseid] = $mygroupid;
}
if ($full) {
* @return int|false Returns the current group id or false if error.
*/
function get_and_set_current_group($course, $groupmode, $groupid=-1) {
- //TODO: ?? groups_has_permission($userid, $groupingid, $courseid, $groupid, $permissiontype);
+ //TODO: ?? groups_has_permission($userid, $groupingid, $courseid, $groupid, $permissiontype);
- // Sets to the specified group, provided the current user has view permission
+ // Sets to the specified group, provided the current user has view permission
if (!$groupmode) { // Groups don't even apply
return false;
}
function oldgroups_print_user_group_info($currentgroup, $isseparategroups, $courseid) {
- global $CFG;
- $context = get_context_instance(CONTEXT_COURSE, $courseid);
-
+ global $CFG;
+ $context = get_context_instance(CONTEXT_COURSE, $courseid);
+
if ($currentgroup and (!$isseparategroups or has_capability('moodle/site:accessallgroups', $context))) { /// Display info about the group
if ($group = get_record('groups', 'id', $currentgroup)) {
if (!empty($group->description) or (!empty($group->picture) and empty($group->hidepicture))) {
* @return boolean True if the instance is set up to use groups, false otherwise
*/
function groups_m_uses_groups($cmid) {
- $usesgroups = false;
- $groupingid = groups_db_get_groupingid($cmid);
- if (!$groupingid) {
- $usesgroups = true;
- }
-
- return $usesgroups;
+ $usesgroups = false;
+ $groupingid = groups_db_get_groupingid($cmid);
+ if (!$groupingid) {
+ $usesgroups = true;
+ }
+
+ return $usesgroups;
}
/**
* use groups in which case returns false.
*/
function groups_m_print_group_selector($cmid, $urlroot, $permissiontype) {
- // Get the groups for the cmid
- // Produce an array to put into the $groupsmenu array.
- // Add an all option if necessary.
- $groupids = groups_module_get_groups_for_current_user($cmid, $permissiontype);
-
- // Need a line to check if current group selected.
- if ($groupids) {
- $currentgroup = groups_module_get_current_group($cmid);
- if ($allgroupsoption) {
- $groupsmenu[0] = get_string('allparticipants');
- }
-
- foreach ($groupids as $groupid) {
- $groupsmenu[$groupid] = groups_get_group_name($groupid);
- popup_form($urlroot.'&group=', $groupsmenu, 'selectgroup',
- $currentgroup, '', '', '', false, 'self');
- }
- }
+ // Get the groups for the cmid
+ // Produce an array to put into the $groupsmenu array.
+ // Add an all option if necessary.
+ $groupids = groups_module_get_groups_for_current_user($cmid, $permissiontype);
+
+ // Need a line to check if current group selected.
+ if ($groupids) {
+ $currentgroup = groups_module_get_current_group($cmid);
+ if ($allgroupsoption) {
+ $groupsmenu[0] = get_string('allparticipants');
+ }
+
+ foreach ($groupids as $groupid) {
+ $groupsmenu[$groupid] = groups_get_group_name($groupid);
+ popup_form($urlroot.'&group=', $groupsmenu, 'selectgroup',
+ $currentgroup, '', '', '', false, 'self');
+ }
+ }
}
/**
* TO DO - make this and other functions default to current user
*/
function groups_m_get_selected_group($cmid, $permissiontype, $userid) {
- $currentgroup = optional_param('group');
- if (!$currentgroup) {
- $groupids = groups_get_groups_for_user();
- }
- // Get it from the session variable, otherwise get it from the form, otherwise
- // Get it from the database as the first group.
- // Then set the group in the session variable to make it easier to get next time.
+ $currentgroup = optional_param('group');
+ if (!$currentgroup) {
+ $groupids = groups_get_groups_for_user();
+ }
+ // Get it from the session variable, otherwise get it from the form, otherwise
+ // Get it from the database as the first group.
+ // Then set the group in the session variable to make it easier to get next time.
}
-
+
/**
* Gets an array of the group IDs of all groups for the user in this course module.
* @uses $USER
* @return boolean True if the user has the specified permission type, false
* otherwise or if an error occurred.
*/
- function groups_m_has_permission($cm, $groupid, $permissiontype, $userid = null) {
+function groups_m_has_permission($cm, $groupid, $permissiontype, $userid = null) {
if (!$userid) {
global $USER;
$userid = $USER->id;
}
- $groupingid = groups_get_grouping_for_coursemodule($cm);
- if (!$groupingid || !is_object($cm) || !isset($cm->course)) {
+ $groupingid = groups_get_grouping_for_coursemodule($cm);
+ if (!$groupingid || !is_object($cm) || !isset($cm->course)) {
return false;
}
$courseid = $cm->course;
$isstudent = isstudent($courseid, $userid);
- $isteacher = isteacher($courseid, $userid);
- $groupmember = groups_is_member($groupid, $userid);
- $memberofsomegroup = groups_is_member_of_some_group_in_grouping($userid, $groupingid);
-
- $groupingsettings = groups_get_grouping_settings($groupingid);
- $viewowngroup = $groupingsettings->viewowngroup;
- $viewallgroupsmembers = $groupingsettings->viewallgroupmembers;
- $viewallgroupsactivities = $groupingsettings->viewallgroupsactivities;
- $teachersgroupsmark = $groupingsettings->teachersgroupsmark;
- $teachersgroupsview = $groupingsettings->teachersgroupsview;
- $teachersgroupmark = $groupingsettings->teachersgroupmark;
- $teachersgroupview = $groupingsettings->teachersgroupview;
- $teachersoverride = $groupingsettings->teachersoverride;
-
- $permission = false;
-
- switch ($permissiontype) {
- case 'view':
- if (($isstudent and $groupmember) or
- ($isteacher and $groupmember) or
- ($isstudent and $viewallgroupsactivities) or
- ($isteacher and !$teachersgroupview) or
- ($isteacher and !$memberofsomegroup and $teachersoverride)) {
- $permission = true;
- }
- break;
-
- case 'studentcontribute':
- if (($isstudent and $groupmember) or
- ($isteacher and $groupmember) or
- ($isteacher and !$memberofsomegroup and $teachersoverride)) {
- $permission = true;
- }
- break;
- case 'teachermark':
- if (($isteacher and $groupmember) or
- ($isteacher and !$teachersgroupmark) or
- ($isteacher and !$memberofsomegroup and $teachersoverride)) {
- $permission = true;
- }
- break;
-
- case 'viewmembers':
- if (($isstudent and $groupmember and $viewowngroup) or
- ($isstudent and $viewallgroupsmembers) or
- ($isteacher and $groupmember) or
- ($isteacher and !$teachersgroupview) or
- ($isteacher and !$memberofsomegroup and $teachersoverride) or
- $isteacheredit) {
- $permission = true;
- }
- break;
- }
- return $permission;
+ $isteacher = isteacher($courseid, $userid);
+ $groupmember = groups_is_member($groupid, $userid);
+ $memberofsomegroup = groups_is_member_of_some_group_in_grouping($userid, $groupingid);
+
+ $groupingsettings = groups_get_grouping_settings($groupingid);
+ $viewowngroup = $groupingsettings->viewowngroup;
+ $viewallgroupsmembers = $groupingsettings->viewallgroupmembers;
+ $viewallgroupsactivities = $groupingsettings->viewallgroupsactivities;
+ $teachersgroupsmark = $groupingsettings->teachersgroupsmark;
+ $teachersgroupsview = $groupingsettings->teachersgroupsview;
+ $teachersgroupmark = $groupingsettings->teachersgroupmark;
+ $teachersgroupview = $groupingsettings->teachersgroupview;
+ $teachersoverride = $groupingsettings->teachersoverride;
+
+ $permission = false;
+
+ switch ($permissiontype) {
+ case 'view':
+ if (($isstudent and $groupmember) or
+ ($isteacher and $groupmember) or
+ ($isstudent and $viewallgroupsactivities) or
+ ($isteacher and !$teachersgroupview) or
+ ($isteacher and !$memberofsomegroup and $teachersoverride)) {
+ $permission = true;
+ }
+ break;
+
+ case 'studentcontribute':
+ if (($isstudent and $groupmember) or
+ ($isteacher and $groupmember) or
+ ($isteacher and !$memberofsomegroup and $teachersoverride)) {
+ $permission = true;
+ }
+ break;
+ case 'teachermark':
+ if (($isteacher and $groupmember) or
+ ($isteacher and !$teachersgroupmark) or
+ ($isteacher and !$memberofsomegroup and $teachersoverride)) {
+ $permission = true;
+ }
+ break;
+
+ case 'viewmembers':
+ if (($isstudent and $groupmember and $viewowngroup) or
+ ($isstudent and $viewallgroupsmembers) or
+ ($isteacher and $groupmember) or
+ ($isteacher and !$teachersgroupview) or
+ ($isteacher and !$memberofsomegroup and $teachersoverride) or
+ $isteacheredit) {
+ $permission = true;
+ }
+ break;
+ }
+ return $permission;
}
/**
*/
function groups_m_get_members_with_permission($cmid, $groupid,
$permissiontype) {
- // Get all the users as $userid
- $validuserids = array();
- foreach($validuserids as $userid) {
- $haspermission = groups_m_has_permission($cmid, $groupid,
- $permissiontype, $userid);
- if ($haspermission) {
- array_push($validuserids, $userid);
- }
- }
- return $validuserids;
-}
+ // Get all the users as $userid
+ $validuserids = array();
+ foreach($validuserids as $userid) {
+ $haspermission = groups_m_has_permission($cmid, $groupid,
+ $permissiontype, $userid);
+ if ($haspermission) {
+ array_push($validuserids, $userid);
+ }
+ }
+ return $validuserids;
+ }
/**
* Gets the group object associated with a group id. This group object can be
* @return group The group object
*/
function groups_m_get_group($groupid) {
- return groups_db_m_get_group($groupid);
+ return groups_db_m_get_group($groupid);
}
/**
* @return array An array of the ids of the groups for the module instance
*/
function groups_m_get_groups($cmid) {
- $groupingid = groups_db_get_groupingid($cmid);
- $groupids = groups_get_groups_in_grouping($groupingid);
- return $groupids;
+ $groupingid = groups_db_get_groupingid($cmid);
+ $groupids = groups_get_groups_in_grouping($groupingid);
+ return $groupids;
}
/**
* @return array An array of the userids of the members.
*/
function groups_m_get_members($cmid, $groupid) {
- $userids = groups_get_members($groupid, $membertype);
- if (!$userids) {
- $memberids = false;
- } else {
- // Check if each user is enrolled on the course @@@ TO DO
- }
+ $userids = groups_get_members($groupid, $membertype);
+ if (!$userids) {
+ $memberids = false;
+ } else {
+ // Check if each user is enrolled on the course @@@ TO DO
+ }
return $memberids;
}
}
}
-?>
\ No newline at end of file
+?>
* @return string The display name of the user.
*/
function groups_get_user_displayname($userid, $courseid) {
- if ($courseid == false) {
- $fullname = false;
- } else {
- $user = groups_get_user($userid);
- $fullname = fullname($user, true);
+ if ($courseid == false) {
+ $fullname = false;
+ } else {
+ $user = groups_get_user($userid);
+ $fullname = fullname($user, true);
//TODO: isteacher, isteacheredit.
- if (isteacher($courseid, $userid)) {
- if (isteacheredit($courseid, $userid)) {
- $prefix = '# ';
- } else {
- $prefix = '- ';
- }
- $fullname = $prefix.$fullname;
- }
- }
+ if (isteacher($courseid, $userid)) {
+ if (isteacheredit($courseid, $userid)) {
+ $prefix = '# ';
+ } else {
+ $prefix = '- ';
+ }
+ $fullname = $prefix.$fullname;
+ }
+ }
return $fullname;
}
* @return string The display name of the group
*/
function groups_get_group_displayname($groupid) {
- if ($groupname = groups_get_group_name($groupid)) {
+ if ($groupname = groups_get_group_name($groupid)) {
$count = groups_count_group_members($groupid);
return "$groupname ($count)";
}
- return false;
+ return false;
}
* @return array The array of group IDs, or false if an error occurred
*/
function groups_groups_to_groupids($groups) {
- if (! $groups) {
+ if (! $groups) {
return false;
}
$groupids = array();
- foreach ($groups as $group) {
+ foreach ($groups as $group) {
if (isset($group->id)) {
- array_push($groupids, $group->id);
+ array_push($groupids, $group->id);
} else {
//Warn if there's no "groupid" member.
array_push($groupids, $group->groupid);
}
- }
- return $groupids;
+ }
+ return $groupids;
}
* @return object The corresponding user object, or false if an error occurred
*/
function groups_get_user($userid) {
- return groups_db_get_user($userid);
+ return groups_db_get_user($userid);
}
* TODO: need to put the database bit into a db file
*/
function groups_get_course_info($courseid){
- if (!$courseid) {
- $courseinfo = false;
- } else {
- $courseinfo = get_record('course', 'id', $courseid);
- }
+ if (!$courseid) {
+ $courseinfo = false;
+ } else {
+ $courseinfo = get_record('course', 'id', $courseid);
+ }
return $courseinfo;
}