[ticket/14315] Add back roles select for disable javascript

The javascript will hide the old select and show the version using
the span and showing the tooltips.

PHPBB3-14315
This commit is contained in:
Marc Alexander 2016-02-16 17:32:33 +01:00
parent 32815faa33
commit 6f41fcb3d6
4 changed files with 30 additions and 1 deletions

View file

@ -2489,7 +2489,7 @@ fieldset.permissions .padding {
border-radius: 3px;
padding: 4px;
width: 250px;
display: block;
display: none;
background: url('../images/arrow_down.gif') no-repeat 245px .7em;
}

View file

@ -42,6 +42,7 @@
{% 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}">
<select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" onchange="set_role_settings(this.options[selectedIndex].value, 'advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')">{p_mask.f_mask.S_ROLE_OPTIONS}</select>
<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}" >

View file

@ -142,6 +142,10 @@ phpbb.positionTooltip = function ($element) {
phpbb.prepareRolesDropdown = function () {
var $options = $('.roles-options li');
// Display span and hide select
$('.roles-options > span').css('display', 'block');
$('.roles-options > select').hide();
// Prepare highlighting of select options and settings update
$options.each(function () {
var $this = $(this);

View file

@ -468,12 +468,18 @@ class auth_admin extends \phpbb\auth\auth
$role_options = array();
$s_role_options = '';
$current_role_id = (isset($cur_roles[$ug_id][$forum_id])) ? $cur_roles[$ug_id][$forum_id] : 0;
@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'];
$title = ($role_description) ? ' title="' . $role_description . '"' : '';
$s_role_options .= '<option value="' . $role_id . '"' . (($role_id == $current_role_id) ? ' selected="selected"' : '') . $title . '>' . $role_name . '</option>';
$role_options[] = array(
'ID' => $role_id,
'ROLE_NAME' => $role_name,
@ -482,6 +488,11 @@ class auth_admin extends \phpbb\auth\auth
);
}
if ($s_role_options)
{
$s_role_options = '<option value="0"' . ((!$current_role_id) ? ' selected="selected"' : '') . ' title="' . htmlspecialchars($user->lang['NO_ROLE_ASSIGNED_EXPLAIN']) . '">' . $user->lang['NO_ROLE_ASSIGNED'] . '</option>' . $s_role_options;
}
if (!$current_role_id && $mode != 'view')
{
$s_custom_permissions = false;
@ -503,6 +514,7 @@ class auth_admin extends \phpbb\auth\auth
$template->assign_block_vars($tpl_pmask . '.' . $tpl_fmask, array(
'NAME' => $ug_names_ary[$ug_id],
'UG_ID' => $ug_id,
'S_ROLE_OPTIONS' => $s_role_options,
'S_CUSTOM' => $s_custom_permissions,
'FORUM_ID' => $forum_id,
'S_ROLE_ID' => $current_role_id,
@ -555,12 +567,18 @@ class auth_admin extends \phpbb\auth\auth
$role_options = array();
$current_role_id = (isset($cur_roles[$ug_id][$forum_id])) ? $cur_roles[$ug_id][$forum_id] : 0;
$s_role_options = '';
@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'];
$title = ($role_description) ? ' title="' . $role_description . '"' : '';
$s_role_options .= '<option value="' . $role_id . '"' . (($role_id == $current_role_id) ? ' selected="selected"' : '') . $title . '>' . $role_name . '</option>';
$role_options[] = array(
'ID' => $role_id,
'ROLE_NAME' => $role_name,
@ -569,6 +587,11 @@ class auth_admin extends \phpbb\auth\auth
);
}
if ($s_role_options)
{
$s_role_options = '<option value="0"' . ((!$current_role_id) ? ' selected="selected"' : '') . ' title="' . htmlspecialchars($user->lang['NO_ROLE_ASSIGNED_EXPLAIN']) . '">' . $user->lang['NO_ROLE_ASSIGNED'] . '</option>' . $s_role_options;
}
if (!$current_role_id && $mode != 'view')
{
$s_custom_permissions = false;
@ -592,6 +615,7 @@ class auth_admin extends \phpbb\auth\auth
'PADDING' => ($forum_id == 0) ? '' : $forum_names_ary[$forum_id]['padding'],
'S_CUSTOM' => $s_custom_permissions,
'UG_ID' => $ug_id,
'S_ROLE_OPTIONS' => $s_role_options,
'FORUM_ID' => $forum_id)
);