diff options
Diffstat (limited to 'phpBB/includes/acp/acp_permissions.php')
| -rw-r--r-- | phpBB/includes/acp/acp_permissions.php | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php index 727aa0d25d..164970b5d5 100644 --- a/phpBB/includes/acp/acp_permissions.php +++ b/phpBB/includes/acp/acp_permissions.php @@ -23,7 +23,7 @@ class acp_permissions { var $u_action; var $permission_dropdown; - + function main($id, $mode) { global $db, $user, $auth, $template, $cache; @@ -94,7 +94,7 @@ class acp_permissions } $db->sql_freeresult($result); } - + // Map usernames to ids and vice versa if ($usernames) { @@ -112,7 +112,7 @@ class acp_permissions } } unset($username); - + // Build forum ids (of all forums are checked or subforum listing used) if ($all_forums) { @@ -528,7 +528,7 @@ class acp_permissions } continue; } - + if ($branch_there) { $s_options .= ' [' . $user->lang['PLUS_SUBFORUMS'] . ']'; @@ -539,14 +539,14 @@ class acp_permissions return $s_options; } - + /** * Build dropdown field for changing permission types */ function build_permission_dropdown($options, $default_option, $permission_scope) { global $user, $auth; - + $s_dropdown_options = ''; foreach ($options as $setting) { @@ -626,7 +626,7 @@ class acp_permissions { trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING); } - + $ug_id = $forum_id = 0; // We loop through the auth settings defined in our submit @@ -762,7 +762,14 @@ class acp_permissions $this->log_action($mode, 'add', $permission_type, $ug_type, $ug_ids, $forum_ids); - trigger_error($user->lang['AUTH_UPDATED'] . adm_back_link($this->u_action)); + if ($mode == 'setting_forum_local' || $mode == 'setting_mod_local') + { + trigger_error($user->lang['AUTH_UPDATED'] . adm_back_link($this->u_action . '&forum_id[]=' . implode('&forum_id[]=', $forum_ids))); + } + else + { + trigger_error($user->lang['AUTH_UPDATED'] . adm_back_link($this->u_action)); + } } /** @@ -809,7 +816,7 @@ class acp_permissions function remove_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id, &$forum_id) { global $user, $db, $auth; - + // User or group to be set? $ug_type = (sizeof($user_id)) ? 'user' : 'group'; @@ -829,7 +836,14 @@ class acp_permissions $this->log_action($mode, 'del', $permission_type, $ug_type, (($ug_type == 'user') ? $user_id : $group_id), (sizeof($forum_id) ? $forum_id : array(0 => 0))); - trigger_error($user->lang['AUTH_UPDATED'] . adm_back_link($this->u_action)); + if ($mode == 'setting_forum_local' || $mode == 'setting_mod_local') + { + trigger_error($user->lang['AUTH_UPDATED'] . adm_back_link($this->u_action . '&forum_id[]=' . implode('&forum_id[]=', $forum_id))); + } + else + { + trigger_error($user->lang['AUTH_UPDATED'] . adm_back_link($this->u_action)); + } } /** @@ -1150,7 +1164,11 @@ class acp_permissions { $sql_where = 'AND (' . $db->sql_in_set('a.auth_option_id', $option_ids) . ' OR ' . $db->sql_in_set('a.auth_role_id', $role_ids) . ')'; } - else + else if (sizeof($role_ids)) + { + $sql_where = 'AND ' . $db->sql_in_set('a.auth_role_id', $role_ids); + } + else if (sizeof($option_ids)) { $sql_where = 'AND ' . $db->sql_in_set('a.auth_option_id', $option_ids); } |
