From a57a96cbddbfdad65823aeca2901f26b62c9b12d Mon Sep 17 00:00:00 2001
From: Marc Alexander <admin@m-a-styles.de>
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