Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
/**
 * 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;
}