From 18f378c9bd232822577258fe68afe78df3f7e7f4 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 29 Mar 2018 18:41:37 +0200 Subject: [permissionmanager] Introduce dedicated "permission denied" page Closes #3350 --- inc/user.inc.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'inc') diff --git a/inc/user.inc.php b/inc/user.inc.php index 27a907c3..f12cc39f 100644 --- a/inc/user.inc.php +++ b/inc/user.inc.php @@ -55,15 +55,24 @@ class User { if (User::hasPermission($permission, $locationid)) return; - Message::addError('main.no-permission'); if (AJAX) { Message::renderList(); exit; } - if (is_null($redirect)) { - Util::redirect('?do=main'); - } else { + if (!is_null($redirect)) { + Message::addError('main.no-permission'); Util::redirect($redirect); + } elseif (Module::isAvailable('permissionmanager')) { + if ($permission{0} !== '.') { + $module = Page::getModule(); + if ($module !== false) { + $permission = '.' . $module->getIdentifier() . '.' . $permission; + } + } + Util::redirect('?do=permissionmanager&show=denied&permission=' . urlencode($permission)); + } else { + Message::addError('main.no-permission'); + Util::redirect('?do=main'); } } -- cgit v1.2.3-55-g7522