summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/page.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/permissionmanager/page.inc.php')
-rw-r--r--modules-available/permissionmanager/page.inc.php28
1 files changed, 17 insertions, 11 deletions
diff --git a/modules-available/permissionmanager/page.inc.php b/modules-available/permissionmanager/page.inc.php
index 63cbcb59..b431d9c9 100644
--- a/modules-available/permissionmanager/page.inc.php
+++ b/modules-available/permissionmanager/page.inc.php
@@ -29,21 +29,12 @@ class Page_PermissionManager extends Page
} elseif ($action === 'deleteRole') {
User::assertPermission('roles.edit');
$id = Request::post('deleteId', false, 'int');
+ $this->denyActionIfBuiltin($id);
PermissionDbUpdate::deleteRole($id);
} elseif ($action === 'saveRole') {
User::assertPermission('roles.edit');
$roleID = Request::post("roleid", Request::REQUIRED_EMPTY, 'int');
- if ($roleID) {
- $existing = GetPermissionData::getRole($roleID);
- if ($existing === false) {
- Message::addError('invalid-role-id', $roleID);
- Util::redirect('?do=permissionmanager');
- }
- if ($existing['builtin']) {
- Message::addError('builtin-role', $existing['rolename']);
- Util::redirect('?do=permissionmanager');
- }
- }
+ $this->denyActionIfBuiltin($roleID);
$roleName = Request::post("rolename", '', 'string');
if (empty($roleName)) {
Message::addError('main.parameter-empty', 'rolename');
@@ -315,4 +306,19 @@ class Page_PermissionManager extends Page
return $result;
}
+ private function denyActionIfBuiltin($roleID)
+ {
+ if ($roleID) {
+ $existing = GetPermissionData::getRole($roleID);
+ if ($existing === false) {
+ Message::addError('invalid-role-id', $roleID);
+ Util::redirect('?do=permissionmanager');
+ }
+ if ($existing['builtin']) {
+ Message::addError('builtin-role', $existing['rolename']);
+ Util::redirect('?do=permissionmanager');
+ }
+ }
+ }
+
}