aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp/acp_permissions.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/acp/acp_permissions.php')
-rw-r--r--phpBB/includes/acp/acp_permissions.php31
1 files changed, 17 insertions, 14 deletions
diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php
index c7e9e31d66..b0a163fc60 100644
--- a/phpBB/includes/acp/acp_permissions.php
+++ b/phpBB/includes/acp/acp_permissions.php
@@ -355,7 +355,10 @@ class acp_permissions
case 'usergroup':
case 'usergroup_view':
- if (sizeof($user_id) || sizeof($group_id))
+ $all_users = (isset($_POST['all_users'])) ? true : false;
+ $all_groups = (isset($_POST['all_groups'])) ? true : false;
+
+ if ((sizeof($user_id) && !$all_users) || (sizeof($group_id) && !$all_groups))
{
if (sizeof($user_id))
{
@@ -370,11 +373,8 @@ class acp_permissions
continue 2;
}
- $items = $this->retrieve_defined_user_groups($permission_scope, $forum_id, $permission_type);
-
// Now we check the users... because the "all"-selection is different here (all defined users/groups)
- $all_users = (isset($_POST['all_users'])) ? true : false;
- $all_groups = (isset($_POST['all_groups'])) ? true : false;
+ $items = $this->retrieve_defined_user_groups($permission_scope, $forum_id, $permission_type);
if ($all_users && sizeof($items['user_ids']))
{
@@ -565,17 +565,20 @@ class acp_permissions
break;
}
- $sql = "SELECT $sql_id
- FROM $table
- WHERE " . $db->sql_in_set($sql_id, $ids);
- $result = $db->sql_query($sql);
-
- $ids = array();
- while ($row = $db->sql_fetchrow($result))
+ if (sizeof($ids))
{
- $ids[] = $row[$sql_id];
+ $sql = "SELECT $sql_id
+ FROM $table
+ WHERE " . $db->sql_in_set($sql_id, $ids);
+ $result = $db->sql_query($sql);
+
+ $ids = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $ids[] = $row[$sql_id];
+ }
+ $db->sql_freeresult($result);
}
- $db->sql_freeresult($result);
if (!sizeof($ids))
{