diff options
author | Joseph Warner <hardolaf@hardolaf.com> | 2013-09-06 20:35:18 -0400 |
---|---|---|
committer | Joseph Warner <hardolaf@hardolaf.com> | 2013-09-06 20:35:54 -0400 |
commit | 3a6b3d7c2b38b244d5c725ce1c7829328dae770f (patch) | |
tree | a05c248c1f3e99ad2ebbfb16f12427f059cd6e9e /phpBB/phpbb/user.php | |
parent | d5808f13e5fa70ecc802c2a5a11c3143746c93f0 (diff) | |
parent | 8d6b03c438392cebed941491684ff835bf7136a8 (diff) | |
download | forums-3a6b3d7c2b38b244d5c725ce1c7829328dae770f.tar forums-3a6b3d7c2b38b244d5c725ce1c7829328dae770f.tar.gz forums-3a6b3d7c2b38b244d5c725ce1c7829328dae770f.tar.bz2 forums-3a6b3d7c2b38b244d5c725ce1c7829328dae770f.tar.xz forums-3a6b3d7c2b38b244d5c725ce1c7829328dae770f.zip |
[feature/oauth] Merge branch 'develop' of git://github.com/phpbb/phpbb3 into feature/oauth
Conflicts:
phpBB/composer.json
phpBB/composer.lock
phpBB/develop/create_schema_files.php
phpBB/includes/ucp/ucp_register.php
PHPBB3-11673
Diffstat (limited to 'phpBB/phpbb/user.php')
-rw-r--r-- | phpBB/phpbb/user.php | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/phpBB/phpbb/user.php b/phpBB/phpbb/user.php index 5530fe3f03..36120798e5 100644 --- a/phpBB/phpbb/user.php +++ b/phpBB/phpbb/user.php @@ -75,7 +75,7 @@ class phpbb_user extends phpbb_session */ function setup($lang_set = false, $style_id = false) { - global $db, $phpbb_style, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache; + global $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache; global $phpbb_dispatcher; if ($this->data['user_id'] != ANONYMOUS) @@ -128,6 +128,7 @@ class phpbb_user extends phpbb_session } $user_data = $this->data; + $lang_set_ext = array(); /** * Event to load language files and modify user data on every page @@ -139,10 +140,18 @@ class phpbb_user extends phpbb_session * @var string user_timezone User's timezone, should be one of * http://www.php.net/manual/en/timezones.php * @var mixed lang_set String or array of language files + * @var array lang_set_ext Array containing entries of format + * array( + * 'ext_name' => (string) [extension name], + * 'lang_set' => (string|array) [language files], + * ) + * For performance reasons, only load translations + * that are absolutely needed globally using this + * event. Use local events otherwise. * @var mixed style_id Style we are going to display * @since 3.1-A1 */ - $vars = array('user_data', 'user_lang_name', 'user_date_format', 'user_timezone', 'lang_set', 'style_id'); + $vars = array('user_data', 'user_lang_name', 'user_date_format', 'user_timezone', 'lang_set', 'lang_set_ext', 'style_id'); extract($phpbb_dispatcher->trigger_event('core.user_setup', compact($vars))); $this->data = $user_data; @@ -173,6 +182,12 @@ class phpbb_user extends phpbb_session $this->add_lang($lang_set); unset($lang_set); + foreach ($lang_set_ext as $ext_lang_pair) + { + $this->add_lang_ext($ext_lang_pair['ext_name'], $ext_lang_pair['lang_set']); + } + unset($lang_set_ext); + $style_request = request_var('style', 0); if ($style_request && $auth->acl_get('a_styles') && !defined('ADMIN_START')) { @@ -236,7 +251,7 @@ class phpbb_user extends phpbb_session } } - $phpbb_style->set_style(); + $template->set_style(); $this->img_lang = $this->lang_name; @@ -590,6 +605,13 @@ class phpbb_user extends phpbb_session $language_filename = $lang_path . $this->lang_name . '/' . $filename . '.' . $phpEx; } + // If we are in install, try to use the updated version, when available + $install_language_filename = str_replace('language/', 'install/update/new/language/', $language_filename); + if (defined('IN_INSTALL') && file_exists($install_language_filename)) + { + $language_filename = $install_language_filename; + } + if (!file_exists($language_filename)) { global $config; |