diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2013-08-22 12:57:49 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2013-08-22 12:57:49 +0200 |
commit | b7b862d721da3f72c4b9cb0a88ae9ca4707a323d (patch) | |
tree | e0a897aaff67121e8a3f1b009337a620f34832d5 /phpBB/phpbb | |
parent | fa2be427b6df5a58f7b90d45a424fe734719b60f (diff) | |
parent | e113b468101a24fbc02157e1ada0d7ead5ccf1ae (diff) | |
download | forums-b7b862d721da3f72c4b9cb0a88ae9ca4707a323d.tar forums-b7b862d721da3f72c4b9cb0a88ae9ca4707a323d.tar.gz forums-b7b862d721da3f72c4b9cb0a88ae9ca4707a323d.tar.bz2 forums-b7b862d721da3f72c4b9cb0a88ae9ca4707a323d.tar.xz forums-b7b862d721da3f72c4b9cb0a88ae9ca4707a323d.zip |
Merge remote-tracking branch 'rechosen/ticket/11792' into develop
* rechosen/ticket/11792:
[ticket/11792] Add functional test for var lang_set_ext of core.user_setup
[ticket/11792] Add performance remark to core.user_setup event PHPDoc
[ticket/11792] Add variable 'lang_set_ext' to event core.user_setup
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r-- | phpBB/phpbb/user.php | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/phpBB/phpbb/user.php b/phpBB/phpbb/user.php index b39438e315..656c17aadd 100644 --- a/phpBB/phpbb/user.php +++ b/phpBB/phpbb/user.php @@ -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')) { |