From 45a00f1a93167e38fcc41bfa326826eadf2a64b2 Mon Sep 17 00:00:00 2001 From: mrgoldy Date: Sat, 2 May 2020 15:29:24 +0200 Subject: [PATCH] [ticket/16430] Sort permissions for roles as well PHPBB3-16430 --- phpBB/includes/acp/auth.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/acp/auth.php b/phpBB/includes/acp/auth.php index 5ddba0bc31..ee0c217d2c 100644 --- a/phpBB/includes/acp/auth.php +++ b/phpBB/includes/acp/auth.php @@ -1206,9 +1206,11 @@ class auth_admin extends \phpbb\auth\auth { global $phpbb_container; - /* @var $phpbb_permissions \phpbb\permissions */ + /** @var \phpbb\permissions $phpbb_permissions */ $phpbb_permissions = $phpbb_container->get('acl.permissions'); + $order = array_flip(array_keys($phpbb_permissions->get_permissions())); + foreach ($key_sort_array as $forum_id) { if (!isset($permission_row[$forum_id])) @@ -1216,7 +1218,11 @@ class auth_admin extends \phpbb\auth\auth continue; } - $permissions = $permission_row[$forum_id]; + $permissions = array_filter($permission_row[$forum_id], [$phpbb_permissions, 'permission_defined'], ARRAY_FILTER_USE_KEY); + + uksort($permissions, function($a, $b) use ($order) { + return $order[$a] <=> $order[$b]; + }); foreach ($permissions as $permission => $auth_setting) {