<?php /** * * @package notifications * @copyright (c) 2012 phpBB Group * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 * */ namespace phpbb\notification\method; /** * Base notifications method class * @package notifications */ 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 */ 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 $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 $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(); } }