function changerole_validate(Pieform $form, $values) { global $user, $group; if (!group_can_change_role($group->id, $user->id, $values['role'])) { $form->set_error('role', get_string('usercannotchangetothisrole', 'group')); } }
/** * Changes a user role in a group, if this is allowed. * * @param int $groupid The ID of the group * @param int $userid The ID of the user whose role needs changing * @param string $role The role the user wishes to switch to * @throws AccessDeniedException If the specified role change is not allowed. * Check with group_can_change_role first if you * need to. */ function group_change_role($groupid, $userid, $role) { // group_can_change_role checks whether the group and user parameters are valid if (!group_can_change_role($groupid, $userid, $role)) { throw new AccessDeniedException(get_string('usercannotchangetothisrole', 'group')); } set_field('group_member', 'role', $role, 'group', $groupid, 'member', $userid); }