1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-03 04:55:36 +02:00

[ticket/11582] Use new methods and remove duplicated entries

PHPBB3-11582
This commit is contained in:
Joas Schilling 2013-07-06 13:37:59 +02:00
parent ce0a182c7f
commit 9c653341e4
5 changed files with 54 additions and 32 deletions

View File

@ -306,6 +306,9 @@ class acp_permission_roles
trigger_error($user->lang['NO_ROLE_SELECTED'] . adm_back_link($this->u_action), E_USER_WARNING); trigger_error($user->lang['NO_ROLE_SELECTED'] . adm_back_link($this->u_action), E_USER_WARNING);
} }
global $phpbb_container;
$phpbb_permissions = $phpbb_container->get('acl.permissions');
$template->assign_vars(array( $template->assign_vars(array(
'S_EDIT' => true, 'S_EDIT' => true,
@ -314,9 +317,8 @@ class acp_permission_roles
'ROLE_NAME' => $role_row['role_name'], 'ROLE_NAME' => $role_row['role_name'],
'ROLE_DESCRIPTION' => $role_row['role_description'], 'ROLE_DESCRIPTION' => $role_row['role_description'],
'L_ACL_TYPE' => $user->lang['ACL_TYPE_' . strtoupper($permission_type)], 'L_ACL_TYPE' => $phpbb_permissions->get_type_lang($permission_type),
) ));
);
// We need to fill the auth options array with ACL_NO options ;) // We need to fill the auth options array with ACL_NO options ;)
$sql = 'SELECT auth_option_id, auth_option $sql = 'SELECT auth_option_id, auth_option
@ -458,7 +460,7 @@ class acp_permission_roles
{ {
global $template, $user, $phpbb_container; global $template, $user, $phpbb_container;
$permissions = $phpbb_container->get('acl.permissions'); $phpbb_permissions = $phpbb_container->get('acl.permissions');
$content_array = $categories = array(); $content_array = $categories = array();
$key_sort_array = array(0); $key_sort_array = array(0);
@ -475,7 +477,7 @@ class acp_permission_roles
foreach ($content_array as $cat => $cat_array) foreach ($content_array as $cat => $cat_array)
{ {
$template->assign_block_vars('auth', array( $template->assign_block_vars('auth', array(
'CAT_NAME' => $permissions->get_lang_category($cat), 'CAT_NAME' => $phpbb_permissions->get_category_lang($cat),
'S_YES' => ($cat_array['S_YES'] && !$cat_array['S_NEVER'] && !$cat_array['S_NO']) ? true : false, '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, 'S_NEVER' => ($cat_array['S_NEVER'] && !$cat_array['S_YES'] && !$cat_array['S_NO']) ? true : false,

View File

@ -510,9 +510,12 @@ class acp_permissions
trigger_error($user->lang['ONLY_FORUM_DEFINED'] . adm_back_link($this->u_action), E_USER_WARNING); trigger_error($user->lang['ONLY_FORUM_DEFINED'] . adm_back_link($this->u_action), E_USER_WARNING);
} }
global $phpbb_container;
$phpbb_permissions = $phpbb_container->get('acl.permissions');
$template->assign_vars(array( $template->assign_vars(array(
'S_PERMISSION_DROPDOWN' => (sizeof($this->permission_dropdown) > 1) ? $this->build_permission_dropdown($this->permission_dropdown, $permission_type, $permission_scope) : false, 'S_PERMISSION_DROPDOWN' => (sizeof($this->permission_dropdown) > 1) ? $this->build_permission_dropdown($this->permission_dropdown, $permission_type, $permission_scope) : false,
'L_PERMISSION_TYPE' => $user->lang['ACL_TYPE_' . strtoupper($permission_type)], 'L_PERMISSION_TYPE' => $phpbb_permissions->get_type_lang($permission_type),
'U_ACTION' => $this->u_action, 'U_ACTION' => $this->u_action,
'S_HIDDEN_FIELDS' => $s_hidden_fields) 'S_HIDDEN_FIELDS' => $s_hidden_fields)
@ -589,7 +592,7 @@ class acp_permissions
{ {
global $auth, $phpbb_container; global $auth, $phpbb_container;
$permissions = $phpbb_container->get('acl.permissions'); $phpbb_permissions = $phpbb_container->get('acl.permissions');
$s_dropdown_options = ''; $s_dropdown_options = '';
foreach ($options as $setting) foreach ($options as $setting)
@ -600,7 +603,7 @@ class acp_permissions
} }
$selected = ($setting == $default_option) ? ' selected="selected"' : ''; $selected = ($setting == $default_option) ? ' selected="selected"' : '';
$l_setting = $permissions->get_lang_type($setting, $permission_scope); $l_setting = $phpbb_permissions->get_type_lang($setting, $permission_scope);
$s_dropdown_options .= '<option value="' . $setting . '"' . $selected . '>' . $l_setting . '</option>'; $s_dropdown_options .= '<option value="' . $setting . '"' . $selected . '>' . $l_setting . '</option>';
} }

View File

@ -261,7 +261,8 @@ class auth_admin extends phpbb_auth
*/ */
function display_mask($mode, $permission_type, &$hold_ary, $user_mode = 'user', $local = false, $group_display = true) function display_mask($mode, $permission_type, &$hold_ary, $user_mode = 'user', $local = false, $group_display = true)
{ {
global $template, $user, $db, $phpbb_root_path, $phpEx; global $template, $user, $db, $phpbb_root_path, $phpEx, $phpbb_container;
$phpbb_permissions = $phpbb_container->get('acl.permissions');
// Define names for template loops, might be able to be set // Define names for template loops, might be able to be set
$tpl_pmask = 'p_mask'; $tpl_pmask = 'p_mask';
@ -269,7 +270,7 @@ class auth_admin extends phpbb_auth
$tpl_category = 'category'; $tpl_category = 'category';
$tpl_mask = 'mask'; $tpl_mask = 'mask';
$l_acl_type = (isset($user->lang['ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type)])) ? $user->lang['ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type)] : 'ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type); $l_acl_type = $phpbb_permissions->get_type_lang($permission_type, (($local) ? 'local' : 'global'));
// Allow trace for viewing permissions and in user mode // Allow trace for viewing permissions and in user mode
$show_trace = ($mode == 'view' && $user_mode == 'user') ? true : false; $show_trace = ($mode == 'view' && $user_mode == 'user') ? true : false;
@ -1102,7 +1103,7 @@ class auth_admin extends phpbb_auth
{ {
global $template, $user, $phpbb_admin_path, $phpEx, $phpbb_container; global $template, $user, $phpbb_admin_path, $phpEx, $phpbb_container;
$permissions = $phpbb_container->get('acl.permissions'); $phpbb_permissions = $phpbb_container->get('acl.permissions');
@reset($category_array); @reset($category_array);
while (list($cat, $cat_array) = each($category_array)) while (list($cat, $cat_array) = each($category_array))
@ -1112,7 +1113,7 @@ class auth_admin extends phpbb_auth
'S_NEVER' => ($cat_array['S_NEVER'] && !$cat_array['S_YES'] && !$cat_array['S_NO']) ? true : false, 'S_NEVER' => ($cat_array['S_NEVER'] && !$cat_array['S_YES'] && !$cat_array['S_NO']) ? true : false,
'S_NO' => ($cat_array['S_NO'] && !$cat_array['S_NEVER'] && !$cat_array['S_YES']) ? true : false, 'S_NO' => ($cat_array['S_NO'] && !$cat_array['S_NEVER'] && !$cat_array['S_YES']) ? true : false,
'CAT_NAME' => $permissions->get_lang_category($cat), 'CAT_NAME' => $phpbb_permissions->get_category_lang($cat),
)); ));
/* Sort permissions by name (more naturaly and user friendly than sorting by a primary key) /* Sort permissions by name (more naturaly and user friendly than sorting by a primary key)
@ -1180,7 +1181,7 @@ class auth_admin extends phpbb_auth
{ {
global $user, $phpbb_container; global $user, $phpbb_container;
$permissions = $phpbb_container->get('acl.permissions'); $phpbb_permissions = $phpbb_container->get('acl.permissions');
foreach ($key_sort_array as $forum_id) foreach ($key_sort_array as $forum_id)
{ {
@ -1208,7 +1209,7 @@ class auth_admin extends phpbb_auth
// Build our categories array // Build our categories array
if (!isset($categories[$cat])) if (!isset($categories[$cat]))
{ {
$categories[$cat] = $permissions->get_lang_category($cat); $categories[$cat] = $phpbb_permissions->get_category_lang($cat);
} }
// Build our content array // Build our content array

View File

@ -86,9 +86,9 @@ class phpbb_permissions
/** /**
* Returns the language string of a permission category * Returns the language string of a permission category
* *
* @return array Language string * @return string Language string
*/ */
public function get_lang_category($category) public function get_category_lang($category)
{ {
return $this->user->lang($this->categories[$category]); return $this->user->lang($this->categories[$category]);
} }
@ -106,18 +106,22 @@ class phpbb_permissions
/** /**
* Returns the language string of a permission type * Returns the language string of a permission type
* *
* @return array Language string * @return string Language string
*/ */
public function get_lang_type($type, $scope = false) public function get_type_lang($type, $scope = false)
{ {
if ($scope && isset($this->types[$scope][$type])) if ($scope && isset($this->types[$scope][$type]))
{ {
$lang_key = $this->types[$scope][$type]; $lang_key = $this->types[$scope][$type];
} }
else else if (isset($this->types[$type]))
{ {
$lang_key = $this->types[$type]; $lang_key = $this->types[$type];
} }
else
{
$lang_key = 'ACL_TYPE_' . strtoupper(($scope) ? $scope . '_' . $type : $type);
}
return $this->user->lang($lang_key); return $this->user->lang($lang_key);
} }
@ -144,13 +148,33 @@ class phpbb_permissions
return $this->permissions; return $this->permissions;
} }
/**
* Returns the category of a permission
*
* @return string
*/
public function get_permission_category($permission)
{
return (isset($this->permissions[$permission]['cat'])) ? $this->permissions[$permission]['cat'] : 'misc';
}
/**
* Returns the language string of a permission
*
* @return string Language string
*/
public function get_permission_lang($permission)
{
return (isset($this->permissions[$permission]['lang'])) ? $this->user->lang($this->permissions[$permission]['lang']) : $this->user->lang('ACL_' . strtoupper($permission));
}
protected $types = array( protected $types = array(
'u_' => 'ACL_TYPE_USER', 'u_' => 'ACL_TYPE_U_',
'a_' => 'ACL_TYPE_ADMIN', 'a_' => 'ACL_TYPE_A_',
'm_' => 'ACL_TYPE_MODERATOR', 'm_' => 'ACL_TYPE_M_',
'f_' => 'ACL_TYPE_FORUM', 'f_' => 'ACL_TYPE_F_',
'global' => array( 'global' => array(
'm_' => 'ACL_TYPE_GLOBAL_MODERATOR', 'm_' => 'ACL_TYPE_GLOBAL_M_',
), ),
); );

View File

@ -63,7 +63,6 @@ if (empty($lang) || !is_array($lang))
* </code> * </code>
*/ */
// Define categories and permission types
$lang = array_merge($lang, array( $lang = array_merge($lang, array(
'ACL_CAT_ACTIONS' => 'Actions', 'ACL_CAT_ACTIONS' => 'Actions',
'ACL_CAT_CONTENT' => 'Content', 'ACL_CAT_CONTENT' => 'Content',
@ -79,13 +78,6 @@ $lang = array_merge($lang, array(
'ACL_CAT_SETTINGS' => 'Settings', 'ACL_CAT_SETTINGS' => 'Settings',
'ACL_CAT_TOPIC_ACTIONS' => 'Topic actions', 'ACL_CAT_TOPIC_ACTIONS' => 'Topic actions',
'ACL_CAT_USER_GROUP' => 'Users &amp; Groups', 'ACL_CAT_USER_GROUP' => 'Users &amp; Groups',
'ACL_TYPE_USER' => 'User permissions',
'ACL_TYPE_ADMIN' => 'Admin permissions',
'ACL_TYPE_MODERATOR' => 'Moderator permissions',
'ACL_TYPE_FORUM' => 'Forum permissions',
'ACL_TYPE_GLOBAL_MODERATOR' => 'Global moderator permissions',
)); ));
// User Permissions // User Permissions