Example #1
0
/**
 * Update group
 *
 * @param stdClass $data group properties (with magic quotes)
 * @param stdClass $editform
 * @param array $editoroptions
 * @return bool true or exception
 */
function groups_update_group($data, $editform = false, $editoroptions = false)
{
    global $CFG, $DB;
    $context = context_course::instance($data->courseid);
    $data->timemodified = time();
    $data->name = trim($data->name);
    if (isset($data->idnumber)) {
        $data->idnumber = trim($data->idnumber);
        if (($existing = groups_get_group_by_idnumber($data->courseid, $data->idnumber)) && $existing->id != $data->id) {
            throw new moodle_exception('idnumbertaken');
        }
    }
    if ($editform and $editoroptions) {
        $data = file_postupdate_standard_editor($data, 'description', $editoroptions, $context, 'group', 'description', $data->id);
    }
    $DB->update_record('groups', $data);
    // Invalidate the group data.
    cache_helper::invalidate_by_definition('core', 'groupdata', array(), array($data->courseid));
    $group = $DB->get_record('groups', array('id' => $data->id));
    if ($editform) {
        groups_update_group_icon($group, $data, $editform);
    }
    //trigger groups events
    events_trigger('groups_group_updated', $group);
    return true;
}
Example #2
0
/**
 * Update group
 * @param object $data group properties (with magic quotes)
 * @param object $editform
 * @param array $editoroptions
 * @return boolean true or exception
 */
function groups_update_group($data, $editform = false, $editoroptions = false)
{
    global $CFG, $DB;
    $context = get_context_instance(CONTEXT_COURSE, $data->courseid);
    $data->timemodified = time();
    $data->name = trim($data->name);
    if ($editform and $editoroptions) {
        $data = file_postupdate_standard_editor($data, 'description', $editoroptions, $context, 'group', 'description', $data->id);
    }
    $DB->update_record('groups', $data);
    $group = $DB->get_record('groups', array('id' => $data->id));
    if ($editform) {
        groups_update_group_icon($group, $data, $editform);
    }
    //trigger groups events
    events_trigger('groups_group_updated', $group);
    return true;
}