mirror of
https://github.com/phpbb/phpbb.git
synced 2025-04-21 00:02:18 +02:00
[ticket/14315] Build role options for each permission group
Previously all role options were put into one array. This required filtering the options. Instead, these are now passed to the template via template loops. PHPBB3-14315
This commit is contained in:
parent
eab1b1ad11
commit
4cfba8f3a4
@ -39,16 +39,14 @@
|
||||
</div>
|
||||
<dl class="permissions-simple">
|
||||
<dt style="width: 20%"><label for="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">{L_ROLE}{L_COLON}</label></dt>
|
||||
{% if role_options %}
|
||||
{% if p_mask.f_mask.role_options %}
|
||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 20%">
|
||||
<div class="dropdown-container dropdown-button-control roles-options" data-alt-text="{LA_ROLE_DESCRIPTION}">
|
||||
<span title="Roles" class="button icon-button tools-icon dropdown-trigger dropdown-select">{L_NO_ROLE_ASSIGNED}</span>
|
||||
<div class="dropdown hidden">
|
||||
<ul class="dropdown-contents" id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" >
|
||||
{% for role in loops.role_options %}
|
||||
{% if role.UG_ID == p_mask.f_mask.UG_ID %}
|
||||
{% for role in p_mask.f_mask.role_options %}
|
||||
<li data-id="{{ role.ID }}" data-target-id="advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" data-title="{{ role.TITLE }}"{% if role.SELECTED == true %} data-selected="{{ role.SELECTED }}"{% endif %}>{{ role.ROLE_NAME }}</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -466,19 +466,20 @@ class auth_admin extends \phpbb\auth\auth
|
||||
// Build role dropdown options
|
||||
$current_role_id = (isset($cur_roles[$ug_id][$forum_id])) ? $cur_roles[$ug_id][$forum_id] : 0;
|
||||
|
||||
$role_options = array();
|
||||
|
||||
@reset($roles);
|
||||
while (list($role_id, $role_row) = each($roles))
|
||||
{
|
||||
$role_description = (!empty($user->lang[$role_row['role_description']])) ? $user->lang[$role_row['role_description']] : nl2br($role_row['role_description']);
|
||||
$role_name = (!empty($user->lang[$role_row['role_name']])) ? $user->lang[$role_row['role_name']] : $role_row['role_name'];
|
||||
|
||||
$template->assign_block_vars('role_options', array(
|
||||
$role_options[] = array(
|
||||
'ID' => $role_id,
|
||||
'UG_ID' => $ug_id,
|
||||
'ROLE_NAME' => $role_name,
|
||||
'TITLE' => $role_description,
|
||||
'SELECTED' => $role_id == $current_role_id,
|
||||
));
|
||||
);
|
||||
}
|
||||
|
||||
if (!$current_role_id && $mode != 'view')
|
||||
@ -507,6 +508,8 @@ class auth_admin extends \phpbb\auth\auth
|
||||
'S_ROLE_ID' => $current_role_id,
|
||||
));
|
||||
|
||||
$template->assign_block_vars_array($tpl_pmask . '.' . $tpl_fmask . '.role_options', $role_options);
|
||||
|
||||
$this->assign_cat_array($ug_array, $tpl_pmask . '.' . $tpl_fmask . '.' . $tpl_category, $tpl_mask, $ug_id, $forum_id, ($mode == 'view'), $show_trace);
|
||||
|
||||
unset($content_array[$ug_id]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user