mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
[ticket/17100] Refactor code to be more reusable
PHPBB3-17100
This commit is contained in:
@@ -330,7 +330,7 @@ class acp_bots
|
||||
}
|
||||
|
||||
$style_select = style_select($bot_row['bot_style'], true);
|
||||
phpbb_language_select($db, $template, $bot_row['bot_lang']);
|
||||
$lang_options = phpbb_language_select($db, $bot_row['bot_lang']);
|
||||
|
||||
$l_title = ($action == 'edit') ? 'EDIT' : 'ADD';
|
||||
|
||||
@@ -347,9 +347,13 @@ class acp_bots
|
||||
'S_EDIT_BOT' => true,
|
||||
'S_ACTIVE_OPTIONS' => $s_active_options,
|
||||
'S_STYLE_OPTIONS' => $style_select,
|
||||
'LANG_OPTIONS' => [
|
||||
'id' => 'bot_lang',
|
||||
'name' => 'bot_lang',
|
||||
'options' => $lang_options,
|
||||
],
|
||||
'S_ERROR' => (count($error)) ? true : false,
|
||||
)
|
||||
);
|
||||
));
|
||||
|
||||
return;
|
||||
|
||||
|
@@ -1796,7 +1796,7 @@ class acp_users
|
||||
}
|
||||
|
||||
phpbb_timezone_select($template, $user, $data['tz'], true);
|
||||
phpbb_language_select($db, $template, $data['lang']);
|
||||
$lang_options = phpbb_language_select($db, $data['lang']);
|
||||
|
||||
$user_prefs_data = array(
|
||||
'S_PREFS' => true,
|
||||
@@ -1833,6 +1833,11 @@ class acp_users
|
||||
'DEFAULT_DATEFORMAT' => $config['default_dateformat'],
|
||||
'A_DEFAULT_DATEFORMAT' => addslashes($config['default_dateformat']),
|
||||
|
||||
'LANG_OPTIONS' => [
|
||||
'id' => 'lang',
|
||||
'name' => 'lang',
|
||||
'options' => $lang_options,
|
||||
],
|
||||
'S_STYLE_OPTIONS' => style_select($data['style']),
|
||||
);
|
||||
|
||||
|
@@ -270,7 +270,7 @@ function phpbb_version_compare(string $version1, string $version2, string $opera
|
||||
* @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), ...)
|
||||
*/
|
||||
function phpbb_language_select(\phpbb\db\driver\driver_interface $db, \phpbb\template\template $template, string $default = '', array $langdata = []): void
|
||||
function phpbb_language_select(\phpbb\db\driver\driver_interface $db, string $default = '', array $langdata = []): array
|
||||
{
|
||||
if (empty($langdata))
|
||||
{
|
||||
@@ -282,14 +282,17 @@ function phpbb_language_select(\phpbb\db\driver\driver_interface $db, \phpbb\tem
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
$lang_options = [];
|
||||
foreach ($langdata as $row)
|
||||
{
|
||||
$template->assign_block_vars('lang_options', [
|
||||
'SELECTED' => $row['lang_iso'] == $default,
|
||||
'LANG_ISO' => $row['lang_iso'],
|
||||
'LANG_LOCAL_NAME' => $row['lang_local_name']
|
||||
]);
|
||||
$lang_options[] = [
|
||||
'value' => $row['lang_iso'],
|
||||
'label' => $row['lang_local_name'],
|
||||
'selected' => $row['lang_iso'] === $default,
|
||||
];
|
||||
}
|
||||
|
||||
return $lang_options;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -177,7 +177,7 @@ class ucp_prefs
|
||||
$db->sql_freeresult($result);
|
||||
$s_more_styles = count($styles_row) > 1;
|
||||
|
||||
phpbb_language_select($db, $template, $data['lang'], $lang_row);
|
||||
$lang_options = phpbb_language_select($db, $data['lang'], $lang_row);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'ERROR' => (count($error)) ? implode('<br />', $error) : '',
|
||||
@@ -200,6 +200,11 @@ class ucp_prefs
|
||||
'S_MORE_LANGUAGES' => $s_more_languages,
|
||||
'S_MORE_STYLES' => $s_more_styles,
|
||||
|
||||
'LANG_OPTIONS' => [
|
||||
'id' => 'lang',
|
||||
'name' => 'lang',
|
||||
'options' => $lang_options,
|
||||
],
|
||||
'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,7 +157,7 @@ class ucp_register
|
||||
$lang_row = (array) $db->sql_fetchrowset($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
phpbb_language_select($db, $template, $user_lang, $lang_row);
|
||||
$lang_options = phpbb_language_select($db, $user_lang, $lang_row);
|
||||
|
||||
if ($coppa === false && $config['coppa_enable'])
|
||||
{
|
||||
@@ -169,6 +169,11 @@ class ucp_register
|
||||
unset($now);
|
||||
|
||||
$template_vars = array(
|
||||
'LANG_OPTIONS' => [
|
||||
'id' => 'lang',
|
||||
'name' => 'lang',
|
||||
'options' => $lang_options,
|
||||
],
|
||||
'L_COPPA_NO' => $user->lang('UCP_COPPA_BEFORE', $coppa_birthday),
|
||||
'L_COPPA_YES' => $user->lang('UCP_COPPA_ON_AFTER', $coppa_birthday),
|
||||
|
||||
@@ -183,6 +188,11 @@ class ucp_register
|
||||
else
|
||||
{
|
||||
$template_vars = array(
|
||||
'LANG_OPTIONS' => [
|
||||
'id' => 'lang',
|
||||
'name' => 'lang',
|
||||
'options' => $lang_options,
|
||||
],
|
||||
'L_TERMS_OF_USE' => sprintf($user->lang['TERMS_OF_USE_CONTENT'], $config['sitename'], generate_board_url()),
|
||||
|
||||
'S_SHOW_COPPA' => false,
|
||||
@@ -626,7 +636,7 @@ class ucp_register
|
||||
$lang_row = (array) $db->sql_fetchrowset($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
phpbb_language_select($db, $template, $data['lang'], $lang_row);
|
||||
$lang_options = phpbb_language_select($db, $data['lang'], $lang_row);
|
||||
|
||||
$template_vars = array(
|
||||
'USERNAME' => $data['username'],
|
||||
@@ -638,6 +648,11 @@ 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'])),
|
||||
|
||||
'LANG_OPTIONS' => [
|
||||
'id' => 'lang',
|
||||
'name' => 'lang',
|
||||
'options' => $lang_options,
|
||||
],
|
||||
'S_TZ_PRESELECT' => !$submit,
|
||||
'S_CONFIRM_REFRESH' => ($config['enable_confirm'] && $config['confirm_refresh']) ? true : false,
|
||||
'S_REGISTRATION' => true,
|
||||
|
Reference in New Issue
Block a user