break; } if ($extendperiod > 0) { $timeend = $timestart + $extendperiod; } else { $timeend = 0; } if (!role_assign($roleid, $adduser->id, 0, $context->id, $timestart, $timeend, $hidden)) { $a = new stdClass(); $a->role = $assignableroles[$roleid]; $a->user = fullname($adduser); $errors[] = get_string('assignerror', 'role', $a); } } } $potentialuserselector->invalidate_selected_users(); $currentuserselector->invalidate_selected_users(); $rolename = $assignableroles[$roleid]; add_to_log($course->id, 'role', 'assign', 'admin/roles/assign.php?contextid=' . $context->id . '&roleid=' . $roleid, $rolename, '', $USER->id); // Counts have changed, so reload. list($assignableroles, $assigncounts, $nameswithcounts) = get_assignable_roles($context, ROLENAME_BOTH, true); } } /// Process incoming role unassignments if (optional_param('remove', false, PARAM_BOOL) && confirm_sesskey()) { $userstounassign = $currentuserselector->get_selected_users(); if (!empty($userstounassign)) { foreach ($userstounassign as $removeuser) { if (!role_unassign($roleid, $removeuser->id, 0, $context->id)) { $a = new stdClass(); $a->role = $assignableroles[$roleid];