From a57a96cbddbfdad65823aeca2901f26b62c9b12d Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 10 Aug 2014 12:55:49 +0200 Subject: [ticket/12932] Add method for getting the datetime class and allow overriding An extension can now override the datetime class by overwriting the datetime.class parameter in their own yml file. PHPBB3-12932 --- phpBB/phpbb/user.php | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'phpBB/phpbb/user.php') diff --git a/phpBB/phpbb/user.php b/phpBB/phpbb/user.php index 4e90044395..40845b75b1 100644 --- a/phpBB/phpbb/user.php +++ b/phpBB/phpbb/user.php @@ -31,6 +31,11 @@ class user extends \phpbb\session */ public $timezone; + /** + * @var string Class name of datetime object + */ + protected $datetime; + var $lang_name = false; var $lang_id = false; var $lang_path; @@ -42,12 +47,14 @@ class user extends \phpbb\session /** * Constructor to set the lang path + * @param string $datetime_class Class name of datetime class */ - function __construct() + function __construct($datetime_class) { global $phpbb_root_path; $this->lang_path = $phpbb_root_path . 'language/'; + $this->datetime = $datetime_class; } /** @@ -727,7 +734,7 @@ class user extends \phpbb\session public function create_datetime($time = 'now', \DateTimeZone $timezone = null) { $timezone = $timezone ?: $this->timezone; - return new \phpbb\datetime($this, $time, $timezone); + return new $this->datetime($this, $time, $timezone); } /** @@ -918,4 +925,17 @@ class user extends \phpbb\session return $forum_ids; } + + /** + * Set class name of datetime class + * + * @param string $datetime Class name to set + * @return null + */ + public function set_datetime_class($datetime) + { + $this->datetime = $datetime; + } + + } -- cgit v1.2.1