/** * Test contexts for userset_groups * * Covers: * local/elisprogram/plugins/usetgroups/lib.php:643 * local/elisprogram/plugins/usetgroups/lib.php:308 * local/elisprogram/plugins/usetgroups/lib.php:601 */ public function test_usersetgroups() { global $DB; set_config('userset_groupings', true, 'elisprogram_usetgroups'); $field = new field(array('shortname' => 'userset_groupings')); $field->load(); $userset = $this->create_userset($field); userset_groups_grouping_helper($userset->id, $userset->name); $field = new field(array('shortname' => 'userset_group')); $field->load(); $userset = $this->create_userset($field); userset_groups_userset_allows_groups($userset->id); }
/** * Updates site-course cluster-based groups for a particular user and cluster * * @param int $userid The id of the appropriate CM user * @param int $clusterid The id of the appropriate cluster * @return boolean Returns true to satisfy event handling */ function userset_groups_update_user_site_course($userid, $clusterid) { global $DB; $enabled = get_config('elisprogram_usetgroups', 'site_course_userset_groups'); //make sure this site-course group functionality is even enabled if (!empty($enabled)) { //make sure group functionality is enabled for this cluster if (userset_groups_userset_allows_groups($clusterid)) { //obtain the cluster if ($cluster_record = $DB->get_record(userset::TABLE, array('id' => $clusterid))) { //retrieves the appropraite user $crlm_user = new user($userid); if ($mdl_user = $DB->get_record('user', array('idnumber' => $crlm_user->idnumber))) { //obtain the group $sql = "SELECT grp.*\n FROM {groups} grp\n WHERE name = :groupname\n AND courseid = :courseid"; $params = array('groupname' => $cluster_record->name, 'courseid' => SITEID); if (!($group = $DB->get_record_sql($sql, $params))) { //create the group here $group = new stdClass(); $group->courseid = SITEID; $group->name = addslashes($cluster_record->name); $group->id = groups_create_group($group); } //add current user to group userset_groups_add_member($group->id, $mdl_user->id); //make sure groupings are set up userset_groups_grouping_helper($cluster_record->id, $cluster_record->name); } } } } return true; }