diff options
Diffstat (limited to 'phpBB/phpbb/notification/method/base.php')
| -rw-r--r-- | phpBB/phpbb/notification/method/base.php | 113 | 
1 files changed, 113 insertions, 0 deletions
| diff --git a/phpBB/phpbb/notification/method/base.php b/phpBB/phpbb/notification/method/base.php new file mode 100644 index 0000000000..a0bbed6fcd --- /dev/null +++ b/phpBB/phpbb/notification/method/base.php @@ -0,0 +1,113 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\notification\method; + +/** +* Base notifications method class +*/ +abstract class base implements \phpbb\notification\method\method_interface +{ +	/** @var \phpbb\notification\manager */ +	protected $notification_manager; + +	/** @var \phpbb\user_loader */ +	protected $user_loader; + +	/** @var \phpbb\db\driver\driver_interface */ +	protected $db; + +	/** @var \phpbb\cache\driver\driver_interface */ +	protected $cache; + +	/** @var \phpbb\template\template */ +	protected $template; + +	/** @var \phpbb\extension\manager */ +	protected $extension_manager; + +	/** @var \phpbb\user */ +	protected $user; + +	/** @var \phpbb\auth\auth */ +	protected $auth; + +	/** @var \phpbb\config\config */ +	protected $config; + +	/** @var string */ +	protected $phpbb_root_path; + +	/** @var string */ +	protected $php_ext; + +	/** +	* Queue of messages to be sent +	* +	* @var array +	*/ +	protected $queue = array(); + +	/** +	* Notification Method Base Constructor +	*  +	* @param \phpbb\user_loader $user_loader +	* @param \phpbb\db\driver\driver_interface $db +	* @param \phpbb\cache\driver\driver_interface $cache +	* @param \phpbb\user $user +	* @param \phpbb\auth\auth $auth +	* @param \phpbb\config\config $config +	* @param string $phpbb_root_path +	* @param string $php_ext +	* @return \phpbb\notification\method\base +	*/ +	public function __construct(\phpbb\user_loader $user_loader, \phpbb\db\driver\driver_interface $db, \phpbb\cache\driver\driver_interface $cache, $user, \phpbb\auth\auth $auth, \phpbb\config\config $config, $phpbb_root_path, $php_ext) +	{ +		$this->user_loader = $user_loader; +		$this->db = $db; +		$this->cache = $cache; +		$this->user = $user; +		$this->auth = $auth; +		$this->config = $config; +		$this->phpbb_root_path = $phpbb_root_path; +		$this->php_ext = $php_ext; +	} + +	/** +	* Set notification manager (required) +	*  +	* @param \phpbb\notification\manager $notification_manager +	*/ +	public function set_notification_manager(\phpbb\notification\manager $notification_manager) +	{ +		$this->notification_manager = $notification_manager; +	} + +	/** +	* Add a notification to the queue +	* +	* @param \phpbb\notification\type\type_interface $notification +	*/ +	public function add_to_queue(\phpbb\notification\type\type_interface $notification) +	{ +		$this->queue[] = $notification; +	} + +	/** +	* Empty the queue +	*/ +	protected function empty_queue() +	{ +		$this->queue = array(); +	} +} | 
