mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 03:54:10 +01:00
[feature/php-events] Add core.user_setup event
This event can be used to load language files globally so it fixes PHPBB3-8270 PHPBB3-8270 PHPBB3-9550
This commit is contained in:
parent
01369dd7f8
commit
d152c20e4b
@ -76,18 +76,18 @@ 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 $phpbb_dispatcher;
|
||||
|
||||
if ($this->data['user_id'] != ANONYMOUS)
|
||||
{
|
||||
$this->lang_name = (file_exists($this->lang_path . $this->data['user_lang'] . "/common.$phpEx")) ? $this->data['user_lang'] : basename($config['default_lang']);
|
||||
|
||||
$this->date_format = $this->data['user_dateformat'];
|
||||
$user_lang_name = (file_exists($this->lang_path . $this->data['user_lang'] . "/common.$phpEx")) ? $this->data['user_lang'] : basename($config['default_lang']);
|
||||
$user_date_format = $this->data['user_dateformat'];
|
||||
$user_timezone = $this->data['user_timezone'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->lang_name = basename($config['default_lang']);
|
||||
$this->date_format = $config['default_dateformat'];
|
||||
$user_lang_name = basename($config['default_lang']);
|
||||
$user_date_format = $config['default_dateformat'];
|
||||
$user_timezone = $config['board_timezone'];
|
||||
|
||||
/**
|
||||
@ -107,7 +107,7 @@ class phpbb_user extends phpbb_session
|
||||
|
||||
if (file_exists($this->lang_path . $accept_lang . "/common.$phpEx"))
|
||||
{
|
||||
$this->lang_name = $config['default_lang'] = $accept_lang;
|
||||
$user_lang_name = $config['default_lang'] = $accept_lang;
|
||||
break;
|
||||
}
|
||||
else
|
||||
@ -118,7 +118,7 @@ class phpbb_user extends phpbb_session
|
||||
|
||||
if (file_exists($this->lang_path . $accept_lang . "/common.$phpEx"))
|
||||
{
|
||||
$this->lang_name = $config['default_lang'] = $accept_lang;
|
||||
$user_lang_name = $config['default_lang'] = $accept_lang;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -127,6 +127,28 @@ class phpbb_user extends phpbb_session
|
||||
*/
|
||||
}
|
||||
|
||||
$user_data = $this->data;
|
||||
|
||||
/**
|
||||
* Event to load language files and modify user data on every page
|
||||
*
|
||||
* @event core.user_setup
|
||||
* @var array user_data Array with user's data row
|
||||
* @var string user_lang_name Basename of the user's langauge
|
||||
* @var string user_date_format User's date/time format
|
||||
* @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 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');
|
||||
extract($phpbb_dispatcher->trigger_event('core.user_setup', compact($vars)));
|
||||
|
||||
$this->data = $user_data;
|
||||
$this->lang_name = $user_lang_name;
|
||||
$this->date_format = $user_date_format;
|
||||
|
||||
try
|
||||
{
|
||||
$this->timezone = new DateTimeZone($user_timezone);
|
||||
|
Loading…
x
Reference in New Issue
Block a user