1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-05 15:16:16 +02:00

Merge remote-tracking branch 'github-vse/ticket/12254' into develop-ascraeus

* github-vse/ticket/12254:
  [ticket/12254] Add subsilver2 support for cookie storage instead of SID
  [ticket/12254] Use a cookie instead of SID to store language selection
  [ticket/12254] No longer need to add change_lang to the URL params
  [ticket/12254] Use 'language' instead of 'set_lang' as the variable name
  [ticket/12254] Persist set_lang after reg only if changed from default
  [ticket/12254] Add set_lang var changes to subsilver2 files
  [ticket/12254] Use new set_lang var to avoid conflict with change_lang
  [ticket/12254] Stop using deprecated request_var in user class
  [ticket/12254] Better language switching on registration page
This commit is contained in:
Nils Adermann 2014-05-02 21:23:58 +02:00
commit 0fc6b6ac36
6 changed files with 31 additions and 12 deletions

View File

@ -64,10 +64,7 @@ class ucp_register
$agreed = false;
}
$user->lang_name = $user_lang = $use_lang;
$user->lang = array();
$user->data['user_lang'] = $user->lang_name;
$user->add_lang(array('common', 'ucp'));
$user_lang = $use_lang;
}
else
{
@ -101,7 +98,6 @@ class ucp_register
if (!$agreed || ($coppa === false && $config['coppa_enable']) || ($coppa && !$config['coppa_enable']))
{
$add_lang = ($change_lang) ? '&change_lang=' . urlencode($change_lang) : '';
$add_coppa = ($coppa !== false) ? '&coppa=' . $coppa : '';
$s_hidden_fields = array_merge($s_hidden_fields, array(
@ -147,12 +143,15 @@ class ucp_register
'L_COPPA_NO' => sprintf($user->lang['UCP_COPPA_BEFORE'], $coppa_birthday),
'L_COPPA_YES' => sprintf($user->lang['UCP_COPPA_ON_AFTER'], $coppa_birthday),
'U_COPPA_NO' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register&coppa=0' . $add_lang),
'U_COPPA_YES' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register&coppa=1' . $add_lang),
'U_COPPA_NO' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register&coppa=0'),
'U_COPPA_YES' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register&coppa=1'),
'S_SHOW_COPPA' => true,
'S_HIDDEN_FIELDS' => build_hidden_fields($s_hidden_fields),
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register' . $add_lang),
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register'),
'COOKIE_NAME' => $config['cookie_name'],
'COOKIE_PATH' => $config['cookie_path'],
));
}
else
@ -164,7 +163,10 @@ class ucp_register
'S_SHOW_COPPA' => false,
'S_REGISTRATION' => true,
'S_HIDDEN_FIELDS' => build_hidden_fields($s_hidden_fields),
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register' . $add_lang . $add_coppa),
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register' . $add_coppa),
'COOKIE_NAME' => $config['cookie_name'],
'COOKIE_PATH' => $config['cookie_path'],
)
);
}
@ -469,6 +471,9 @@ class ucp_register
'S_COPPA' => $coppa,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register'),
'COOKIE_NAME' => $config['cookie_name'],
'COOKIE_PATH' => $config['cookie_path'],
));
//

View File

@ -69,7 +69,7 @@ class user extends \phpbb\session
*/
function setup($lang_set = false, $style_id = false)
{
global $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache;
global $db, $request, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache;
global $phpbb_dispatcher;
if ($this->data['user_id'] != ANONYMOUS)
@ -79,8 +79,18 @@ class user extends \phpbb\session
$user_timezone = $this->data['user_timezone'];
}
else
{
$change_lang = $request->variable($config['cookie_name'] . '_lang', '', true, \phpbb\request\request_interface::COOKIE);
if ($change_lang)
{
$use_lang = basename($change_lang);
$user_lang_name = (file_exists($this->lang_path . $use_lang . "/common.$phpEx")) ? $use_lang : basename($config['default_lang']);
$this->data['user_lang'] = $user_lang_name;
}
else
{
$user_lang_name = basename($config['default_lang']);
}
$user_date_format = $config['default_dateformat'];
$user_timezone = $config['board_timezone'];
@ -190,7 +200,7 @@ class user extends \phpbb\session
}
unset($lang_set_ext);
$style_request = request_var('style', 0);
$style_request = $request->variable('style', 0);
if ($style_request && (!$config['override_user_style'] || $auth->acl_get('a_styles')) && !defined('ADMIN_START'))
{
global $SID, $_EXTRA_URL;

View File

@ -10,6 +10,7 @@
*/
function change_language(lang_iso)
{
document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
document.forms['register'].change_lang.value = lang_iso;
document.forms['register'].submit();
}

View File

@ -7,6 +7,7 @@
*/
function change_language(lang_iso)
{
document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
document.forms['register'].change_lang.value = lang_iso;
document.forms['register'].submit.click();
}

View File

@ -10,6 +10,7 @@
*/
function change_language(lang_iso)
{
document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
document.forms['register'].change_lang.value = lang_iso;
document.forms['register'].submit();
}

View File

@ -7,6 +7,7 @@
*/
function change_language(lang_iso)
{
document.cookie = '{COOKIE_NAME}_lang=' + lang_iso + '; path={COOKIE_PATH}';
document.forms['register'].change_lang.value = lang_iso;
document.forms['register'].submit.click();
}