mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
[ticket/17100] Move lang options HTML to template
PHPBB3-17100
This commit is contained in:
parent
97933380bb
commit
4846723bb6
13 changed files with 163 additions and 58 deletions
|
@ -31,7 +31,13 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bot_lang">{L_BOT_LANG}{L_COLON}</label><br /><span>{L_BOT_LANG_EXPLAIN}</span></dt>
|
||||
<dd><select id="bot_lang" name="bot_lang">{S_LANG_OPTIONS}</select></dd>
|
||||
<dd>
|
||||
<select id="bot_lang" name="bot_lang">
|
||||
{% for option in lang_options %}
|
||||
<option value="{{ option.LANG_ISO }}"{% if option.SELECTED %} selected="selected"{% endif %}>{{ option.LANG_LOCAL_NAME }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bot_active">{L_BOT_ACTIVE}{L_COLON}</label></dt>
|
||||
|
|
|
@ -9,47 +9,53 @@
|
|||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_PERSONAL}</legend>
|
||||
<!-- EVENT acp_users_prefs_personal_prepend -->
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="viewemail">{L_SHOW_EMAIL}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="viewemail" value="1"<!-- IF VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="viewemail" value="0"<!-- IF not VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="massemail">{L_ADMIN_EMAIL}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="massemail" value="1"<!-- IF MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="massemail" value="0"<!-- IF not MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="allowpm">{L_ALLOW_PM}{L_COLON}</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="allowpm" value="1"<!-- IF ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="allowpm" value="0"<!-- IF not ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="hideonline">{L_HIDE_ONLINE}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="hideonline" value="1"<!-- IF HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="hideonline" value="0"<!-- IF not HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="notifymethod">{L_NOTIFY_METHOD}{L_COLON}</label><br /><span>{L_NOTIFY_METHOD_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notifymethod" value="0"<!-- IF NOTIFY_EMAIL --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL}</label>
|
||||
<label><input type="radio" class="radio" name="notifymethod" value="1"<!-- IF NOTIFY_IM --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM}</label>
|
||||
<label><input type="radio" class="radio" name="notifymethod" value="2"<!-- IF NOTIFY_BOTH --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="notifypm">{L_NOTIFY_ON_PM}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notifypm" value="1"<!-- IF NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="notifypm" value="0"<!-- IF not NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="lang">{L_BOARD_LANGUAGE}{L_COLON}</label></dt>
|
||||
<dd><select id="lang" name="lang">{S_LANG_OPTIONS}</select></dd>
|
||||
<dd>
|
||||
<select id="lang" name="lang">
|
||||
{% for option in lang_options %}
|
||||
<option value="{{ option.LANG_ISO }}"{% if option.SELECTED %} selected="selected"{% endif %}>{{ option.LANG_LOCAL_NAME }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="style">{L_BOARD_STYLE}{L_COLON}</label></dt>
|
||||
<dd><select id="style" name="style">{S_STYLE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- INCLUDE timezone_option.html -->
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}{L_COLON}</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){phpbb.toggleDisplay('custom_date',1);}else{phpbb.toggleDisplay('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = default_dateformat; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd>
|
||||
<dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="64" /></div></dd>
|
||||
|
@ -60,22 +66,22 @@
|
|||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_POST}</legend>
|
||||
<!-- EVENT acp_users_prefs_post_prepend -->
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="bbcode">{L_DEFAULT_BBCODE}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="bbcode" value="1"<!-- IF BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="bbcode" value="0"<!-- IF not BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="smilies">{L_DEFAULT_SMILIES}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="smilies" value="1"<!-- IF SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="smilies" value="0"<!-- IF not SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="sig">{L_DEFAULT_ADD_SIG}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="sig" value="1"<!-- IF ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="sig" value="0"<!-- IF not ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="notify">{L_DEFAULT_NOTIFY}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notify" value="1"<!-- IF NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="notify" value="0"<!-- IF not NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
|
@ -86,52 +92,52 @@
|
|||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_VIEW}</legend>
|
||||
<!-- EVENT acp_users_prefs_view_prepend -->
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="view_images">{L_VIEW_IMAGES}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_images" value="1"<!-- IF VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_images" value="0"<!-- IF not VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="view_smilies">{L_VIEW_SMILIES}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_smilies" value="1"<!-- IF VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_smilies" value="0"<!-- IF not VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="view_sigs">{L_VIEW_SIGS}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_sigs" value="1"<!-- IF VIEW_SIGS --> id="view_sigs" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_sigs" value="0"<!-- IF not VIEW_SIGS --> id="view_sigss" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="view_avatars">{L_VIEW_AVATARS}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_avatars" value="1"<!-- IF VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_avatars" value="0"<!-- IF not VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label for="view_wordcensor">{L_DISABLE_CENSORS}{L_COLON}</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_wordcensor" value="1"<!-- IF VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_wordcensor" value="0"<!-- IF not VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DAYS}{L_COLON}</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_KEY}{L_COLON}</label></dt>
|
||||
<dd>{S_TOPIC_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DIR}{L_COLON}</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DIR}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DAYS}{L_COLON}</label></dt>
|
||||
<dd>{S_POST_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_KEY}{L_COLON}</label></dt>
|
||||
<dd>{S_POST_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DIR}{L_COLON}</label></dt>
|
||||
<dd>{S_POST_SORT_DIR}</dd>
|
||||
</dl>
|
||||
|
|
|
@ -330,7 +330,7 @@ class acp_bots
|
|||
}
|
||||
|
||||
$style_select = style_select($bot_row['bot_style'], true);
|
||||
$lang_select = language_select($bot_row['bot_lang']);
|
||||
phpbb_language_select($db, $template, $bot_row['bot_lang']);
|
||||
|
||||
$l_title = ($action == 'edit') ? 'EDIT' : 'ADD';
|
||||
|
||||
|
@ -347,7 +347,6 @@ class acp_bots
|
|||
'S_EDIT_BOT' => true,
|
||||
'S_ACTIVE_OPTIONS' => $s_active_options,
|
||||
'S_STYLE_OPTIONS' => $style_select,
|
||||
'S_LANG_OPTIONS' => $lang_select,
|
||||
'S_ERROR' => (count($error)) ? true : false,
|
||||
)
|
||||
);
|
||||
|
|
|
@ -1796,6 +1796,8 @@ class acp_users
|
|||
}
|
||||
|
||||
phpbb_timezone_select($template, $user, $data['tz'], true);
|
||||
phpbb_language_select($db, $template, $data['lang']);
|
||||
|
||||
$user_prefs_data = array(
|
||||
'S_PREFS' => true,
|
||||
'S_JABBER_DISABLED' => ($config['jab_enable'] && $user_row['user_jabber'] && @extension_loaded('xml')) ? false : true,
|
||||
|
@ -1831,7 +1833,6 @@ class acp_users
|
|||
'DEFAULT_DATEFORMAT' => $config['default_dateformat'],
|
||||
'A_DEFAULT_DATEFORMAT' => addslashes($config['default_dateformat']),
|
||||
|
||||
'S_LANG_OPTIONS' => language_select($data['lang']),
|
||||
'S_STYLE_OPTIONS' => style_select($data['style']),
|
||||
);
|
||||
|
||||
|
|
|
@ -265,15 +265,13 @@ function phpbb_version_compare(string $version1, string $version2, string $opera
|
|||
/**
|
||||
* Pick a language, any language ...
|
||||
*
|
||||
* @param \phpbb\db\driver\driver_interface $db DBAL driver
|
||||
* @param \phpbb\template\template $template Template engine
|
||||
* @param string $default Language ISO code to be selected by default in the dropdown list
|
||||
* @param array $langdata Language data in format of array(array('lang_iso' => string, lang_local_name => string), ...)
|
||||
*
|
||||
* @return string HTML options for language selection dropdown list.
|
||||
*/
|
||||
function language_select($default = '', array $langdata = [])
|
||||
function phpbb_language_select(\phpbb\db\driver\driver_interface $db, \phpbb\template\template $template, string $default = '', array $langdata = []): void
|
||||
{
|
||||
global $db;
|
||||
|
||||
if (empty($langdata))
|
||||
{
|
||||
$sql = 'SELECT lang_iso, lang_local_name
|
||||
|
@ -284,14 +282,14 @@ function language_select($default = '', array $langdata = [])
|
|||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
$lang_options = '';
|
||||
foreach ($langdata as $row)
|
||||
{
|
||||
$selected = ($row['lang_iso'] == $default) ? ' selected="selected"' : '';
|
||||
$lang_options .= '<option value="' . $row['lang_iso'] . '"' . $selected . '>' . $row['lang_local_name'] . '</option>';
|
||||
$template->assign_block_vars('lang_options', [
|
||||
'SELECTED' => $row['lang_iso'] == $default,
|
||||
'LANG_ISO' => $row['lang_iso'],
|
||||
'LANG_LOCAL_NAME' => $row['lang_local_name']
|
||||
]);
|
||||
}
|
||||
|
||||
return $lang_options;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -177,6 +177,8 @@ class ucp_prefs
|
|||
$db->sql_freeresult($result);
|
||||
$s_more_styles = count($styles_row) > 1;
|
||||
|
||||
phpbb_language_select($db, $template, $data['lang'], $lang_row);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'ERROR' => (count($error)) ? implode('<br />', $error) : '',
|
||||
|
||||
|
@ -198,7 +200,6 @@ class ucp_prefs
|
|||
'S_MORE_LANGUAGES' => $s_more_languages,
|
||||
'S_MORE_STYLES' => $s_more_styles,
|
||||
|
||||
'S_LANG_OPTIONS' => language_select($data['lang'], $lang_row),
|
||||
'S_STYLE_OPTIONS' => ($config['override_user_style']) ? '' : style_select($data['user_style'], false, $styles_row),
|
||||
'S_CAN_HIDE_ONLINE' => ($auth->acl_get('u_hideonline')) ? true : false,
|
||||
'S_SELECT_NOTIFY' => ($config['jab_enable'] && $user->data['user_jabber'] && @extension_loaded('xml')) ? true : false)
|
||||
|
|
|
@ -157,6 +157,8 @@ class ucp_register
|
|||
$lang_row = (array) $db->sql_fetchrowset($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
phpbb_language_select($db, $template, $user_lang, $lang_row);
|
||||
|
||||
if ($coppa === false && $config['coppa_enable'])
|
||||
{
|
||||
$now = getdate();
|
||||
|
@ -167,7 +169,6 @@ class ucp_register
|
|||
unset($now);
|
||||
|
||||
$template_vars = array(
|
||||
'S_LANG_OPTIONS' => (count($lang_row) > 1) ? language_select($user_lang, $lang_row) : '',
|
||||
'L_COPPA_NO' => $user->lang('UCP_COPPA_BEFORE', $coppa_birthday),
|
||||
'L_COPPA_YES' => $user->lang('UCP_COPPA_ON_AFTER', $coppa_birthday),
|
||||
|
||||
|
@ -182,7 +183,6 @@ class ucp_register
|
|||
else
|
||||
{
|
||||
$template_vars = array(
|
||||
'S_LANG_OPTIONS' => (count($lang_row) > 1) ? language_select($user_lang, $lang_row) : '',
|
||||
'L_TERMS_OF_USE' => sprintf($user->lang['TERMS_OF_USE_CONTENT'], $config['sitename'], generate_board_url()),
|
||||
|
||||
'S_SHOW_COPPA' => false,
|
||||
|
@ -626,6 +626,8 @@ class ucp_register
|
|||
$lang_row = (array) $db->sql_fetchrowset($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
phpbb_language_select($db, $template, $data['lang'], $lang_row);
|
||||
|
||||
$template_vars = array(
|
||||
'USERNAME' => $data['username'],
|
||||
'PASSWORD' => $data['new_password'],
|
||||
|
@ -636,7 +638,6 @@ class ucp_register
|
|||
'L_USERNAME_EXPLAIN' => $user->lang($config['allow_name_chars'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_name_chars']), $user->lang('CHARACTERS', (int) $config['max_name_chars'])),
|
||||
'L_PASSWORD_EXPLAIN' => $user->lang($config['pass_complex'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_pass_chars'])),
|
||||
|
||||
'S_LANG_OPTIONS' => (count($lang_row) > 1) ? language_select($data['lang'], $lang_row) : '',
|
||||
'S_TZ_PRESELECT' => !$submit,
|
||||
'S_CONFIRM_REFRESH' => ($config['enable_confirm'] && $config['confirm_refresh']) ? true : false,
|
||||
'S_REGISTRATION' => true,
|
||||
|
|
|
@ -153,10 +153,12 @@ class topic_form extends form
|
|||
parent::render($template);
|
||||
|
||||
$this->user->add_lang('viewtopic');
|
||||
|
||||
phpbb_language_select($this->db, $template, $this->recipient_lang);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'EMAIL' => $this->recipient_address,
|
||||
'NAME' => $this->recipient_name,
|
||||
'S_LANG_OPTIONS' => language_select($this->recipient_lang),
|
||||
'MESSAGE' => $this->body,
|
||||
|
||||
'L_EMAIL_BODY_EXPLAIN' => $this->user->lang['EMAIL_TOPIC_EXPLAIN'],
|
||||
|
|
|
@ -71,7 +71,13 @@
|
|||
<dl>
|
||||
<dt><label for="lang">{L_DEST_LANG}{L_COLON}</label><br />
|
||||
<span>{L_DEST_LANG_EXPLAIN}</span></dt>
|
||||
<dd><select name="lang" id="lang">{S_LANG_OPTIONS}</select></dd>
|
||||
<dd>
|
||||
<select name="lang" id="lang">
|
||||
{% for option in lang_options %}
|
||||
<option value="{{ option.LANG_ISO }}"{% if option.SELECTED %} selected="selected"{% endif %}>{{ option.LANG_LOCAL_NAME }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<!-- IF S_SHOW_COPPA or S_REGISTRATION -->
|
||||
|
||||
<!-- IF S_LANG_OPTIONS -->
|
||||
{% if lang_options|length > 0 %}
|
||||
<script>
|
||||
/**
|
||||
* Change language
|
||||
|
@ -17,14 +17,19 @@
|
|||
|
||||
<form method="post" action="{S_UCP_ACTION}" id="register">
|
||||
<p class="rightside">
|
||||
<label for="lang">{L_LANGUAGE}{L_COLON}</label><select name="lang" id="lang" onchange="change_language(this.value); return false;" title="{L_LANGUAGE}">{S_LANG_OPTIONS}</select>
|
||||
<label for="lang">{L_LANGUAGE}{L_COLON}</label>
|
||||
<select name="lang" id="lang" onchange="change_language(this.value); return false;" title="{L_LANGUAGE}">
|
||||
{% for option in lang_options %}
|
||||
<option value="{{ option.LANG_ISO }}"{% if option.SELECTED %} selected="selected"{% endif %}>{{ option.LANG_LOCAL_NAME }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{S_HIDDEN_FIELDS}
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<div class="clear"></div>
|
||||
|
||||
<!-- ENDIF -->
|
||||
{% endif %}
|
||||
|
||||
<form method="post" action="{S_UCP_ACTION}" id="agreement">
|
||||
|
||||
|
|
|
@ -53,7 +53,13 @@
|
|||
<!-- IF S_MORE_LANGUAGES -->
|
||||
<dl>
|
||||
<dt><label for="lang">{L_BOARD_LANGUAGE}{L_COLON}</label></dt>
|
||||
<dd><select name="lang" id="lang">{S_LANG_OPTIONS}</select></dd>
|
||||
<dd>
|
||||
<select name="lang" id="lang">
|
||||
{% for option in lang_options %}
|
||||
<option value="{{ option.LANG_ISO }}"{% if option.SELECTED %} selected="selected"{% endif %}>{{ option.LANG_LOCAL_NAME }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_STYLE_OPTIONS and S_MORE_STYLES -->
|
||||
|
|
|
@ -57,10 +57,16 @@
|
|||
<hr />
|
||||
|
||||
<!-- EVENT ucp_register_options_before -->
|
||||
{% if S_LANG_OPTIONS %}
|
||||
{% if lang_options|length > 0 %}
|
||||
<dl>
|
||||
<dt><label for="lang">{{ lang('LANGUAGE') ~ lang('COLON') }}</label></dt>
|
||||
<dd><select name="lang" id="lang" onchange="change_language(this.value); return false;" tabindex="6" title="{{ lang('LANGUAGE') }}">{{ S_LANG_OPTIONS }}</select></dd>
|
||||
<dd>
|
||||
<select name="lang" id="lang" onchange="change_language(this.value); return false;" tabindex="6" title="{{ lang('LANGUAGE') }}">
|
||||
{% for option in lang_options %}
|
||||
<option value="{{ option.LANG_ISO }}"{% if option.SELECTED %} selected="selected"{% endif %}>{{ option.LANG_LOCAL_NAME }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
|
|
|
@ -20,12 +20,68 @@ class phpbb_functions_language_select_test extends phpbb_database_test_case
|
|||
|
||||
public static function language_select_data()
|
||||
{
|
||||
return array(
|
||||
array('', '<option value="cs">Čeština</option><option value="en">English</option>'),
|
||||
array('en', '<option value="cs">Čeština</option><option value="en" selected="selected">English</option>'),
|
||||
array('cs', '<option value="cs" selected="selected">Čeština</option><option value="en">English</option>'),
|
||||
array('de', '<option value="cs">Čeština</option><option value="en">English</option>'),
|
||||
);
|
||||
return [
|
||||
[
|
||||
'',
|
||||
[
|
||||
[
|
||||
'SELECTED' => false,
|
||||
'LANG_ISO' => 'cs',
|
||||
'LANG_LOCAL_NAME' => 'Čeština',
|
||||
],
|
||||
[
|
||||
'SELECTED' => false,
|
||||
'LANG_ISO' => 'en',
|
||||
'LANG_LOCAL_NAME' => 'English',
|
||||
],
|
||||
]
|
||||
],
|
||||
[
|
||||
'en',
|
||||
[
|
||||
[
|
||||
'SELECTED' => false,
|
||||
'LANG_ISO' => 'cs',
|
||||
'LANG_LOCAL_NAME' => 'Čeština',
|
||||
],
|
||||
[
|
||||
'SELECTED' => true,
|
||||
'LANG_ISO' => 'en',
|
||||
'LANG_LOCAL_NAME' => 'English',
|
||||
],
|
||||
]
|
||||
],
|
||||
[
|
||||
'cs',
|
||||
[
|
||||
[
|
||||
'SELECTED' => true,
|
||||
'LANG_ISO' => 'cs',
|
||||
'LANG_LOCAL_NAME' => 'Čeština',
|
||||
],
|
||||
[
|
||||
'SELECTED' => false,
|
||||
'LANG_ISO' => 'en',
|
||||
'LANG_LOCAL_NAME' => 'English',
|
||||
],
|
||||
]
|
||||
],
|
||||
[
|
||||
'de',
|
||||
[
|
||||
[
|
||||
'SELECTED' => false,
|
||||
'LANG_ISO' => 'cs',
|
||||
'LANG_LOCAL_NAME' => 'Čeština',
|
||||
],
|
||||
[
|
||||
'SELECTED' => false,
|
||||
'LANG_ISO' => 'en',
|
||||
'LANG_LOCAL_NAME' => 'English',
|
||||
],
|
||||
]
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,7 +91,19 @@ class phpbb_functions_language_select_test extends phpbb_database_test_case
|
|||
{
|
||||
global $db;
|
||||
$db = $this->new_dbal();
|
||||
$template = $this->getMockBuilder('\phpbb\template\base')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$template_data = [];
|
||||
$template->expects($this->any())
|
||||
->method('assign_block_vars')
|
||||
->willReturnCallback(function ($blockname, array $vararray) use (&$template_data) {
|
||||
$template_data[$blockname][] = $vararray;
|
||||
return null;
|
||||
});
|
||||
|
||||
$this->assertEquals($expected, language_select($default));
|
||||
phpbb_language_select($db, $template, $default);
|
||||
|
||||
$this->assertEquals($expected, $template_data['lang_options']);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue