From a2a199b48e320b6bd1bde1474906501648c8eb18 Mon Sep 17 00:00:00 2001 From: mrgoldy Date: Sat, 11 Apr 2020 13:50:21 +0200 Subject: [PATCH] [ticket/16430] Filter the correct permissions array PHPBB3-16430 --- phpBB/includes/acp/auth.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/phpBB/includes/acp/auth.php b/phpBB/includes/acp/auth.php index 451646bbf1..5ddba0bc31 100644 --- a/phpBB/includes/acp/auth.php +++ b/phpBB/includes/acp/auth.php @@ -1136,10 +1136,13 @@ class auth_admin extends \phpbb\auth\auth $order = array_flip(array_keys($phpbb_permissions->get_permissions())); - $category_array = array_filter($category_array, [$phpbb_permissions, 'permission_defined'], ARRAY_FILTER_USE_KEY); - foreach ($category_array as $cat => $cat_array) { + if (!$phpbb_permissions->category_defined($cat)) + { + continue; + } + $template->assign_block_vars($tpl_cat, array( 'S_YES' => ($cat_array['S_YES'] && !$cat_array['S_NEVER'] && !$cat_array['S_NO']) ? true : false, 'S_NEVER' => ($cat_array['S_NEVER'] && !$cat_array['S_YES'] && !$cat_array['S_NO']) ? true : false, @@ -1148,17 +1151,14 @@ class auth_admin extends \phpbb\auth\auth 'CAT_NAME' => $phpbb_permissions->get_category_lang($cat), )); - uksort($cat_array['permissions'], function($a, $b) use ($order) { + $permissions = array_filter($cat_array['permissions'], [$phpbb_permissions, 'permission_defined'], ARRAY_FILTER_USE_KEY); + + uksort($permissions, function($a, $b) use ($order) { return $order[$a] <=> $order[$b]; }); - foreach ($cat_array['permissions'] as $permission => $allowed) + foreach ($permissions as $permission => $allowed) { - if (!$phpbb_permissions->permission_defined($permission)) - { - continue; - } - if ($s_view) { $template->assign_block_vars($tpl_cat . '.' . $tpl_mask, array(