diff options
Diffstat (limited to 'phpBB/includes/notification/method')
| -rw-r--r-- | phpBB/includes/notification/method/base.php | 116 | ||||
| -rw-r--r-- | phpBB/includes/notification/method/email.php | 52 | ||||
| -rw-r--r-- | phpBB/includes/notification/method/interface.php | 48 | ||||
| -rw-r--r-- | phpBB/includes/notification/method/jabber.php | 69 | ||||
| -rw-r--r-- | phpBB/includes/notification/method/messenger_base.php | 100 | 
5 files changed, 0 insertions, 385 deletions
| diff --git a/phpBB/includes/notification/method/base.php b/phpBB/includes/notification/method/base.php deleted file mode 100644 index b633956d01..0000000000 --- a/phpBB/includes/notification/method/base.php +++ /dev/null @@ -1,116 +0,0 @@ -<?php -/** -* -* @package notifications -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ -	exit; -} - -/** -* Base notifications method class -* @package notifications -*/ -abstract class phpbb_notification_method_base implements phpbb_notification_method_interface -{ -	/** @var phpbb_notification_manager */ -	protected $notification_manager; - -	/** @var phpbb_user_loader */ -	protected $user_loader; - -	/** @var phpbb_db_driver */ -	protected $db; - -	/** @var phpbb_cache_driver_interface */ -	protected $cache; - -	/** @var phpbb_template */ -	protected $template; - -	/** @var phpbb_extension_manager */ -	protected $extension_manager; - -	/** @var phpbb_user */ -	protected $user; - -	/** @var phpbb_auth */ -	protected $auth; - -	/** @var phpbb_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 $db -	* @param phpbb_cache_driver_interface $cache -	* @param phpbb_user $user -	* @param phpbb_auth $auth -	* @param phpbb_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 $db, phpbb_cache_driver_interface $cache, $user, phpbb_auth $auth, phpbb_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_interface $notification -	*/ -	public function add_to_queue(phpbb_notification_type_interface $notification) -	{ -		$this->queue[] = $notification; -	} - -	/** -	* Empty the queue -	*/ -	protected function empty_queue() -	{ -		$this->queue = array(); -	} -} diff --git a/phpBB/includes/notification/method/email.php b/phpBB/includes/notification/method/email.php deleted file mode 100644 index 571b0ec656..0000000000 --- a/phpBB/includes/notification/method/email.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** -* -* @package notifications -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ -	exit; -} - -/** -* Email notification method class -* This class handles sending emails for notifications -* -* @package notifications -*/ -class phpbb_notification_method_email extends phpbb_notification_method_messenger_base -{ -	/** -	* Get notification method name -	* -	* @return string -	*/ -	public function get_type() -	{ -		return 'email'; -	} - -	/** -	* Is this method available for the user? -	* This is checked on the notifications options -	*/ -	public function is_available() -	{ -		return $this->config['email_enable'] && $this->user->data['user_email']; -	} - -	/** -	* Parse the queue and notify the users -	*/ -	public function notify() -	{ -		return $this->notify_using_messenger(NOTIFY_EMAIL); -	} -} diff --git a/phpBB/includes/notification/method/interface.php b/phpBB/includes/notification/method/interface.php deleted file mode 100644 index ef875942cc..0000000000 --- a/phpBB/includes/notification/method/interface.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** -* -* @package notifications -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ -	exit; -} - -/** -* Base notifications method interface -* @package notifications -*/ -interface phpbb_notification_method_interface -{ -	/** -	* Get notification method name -	* -	* @return string -	*/ -	public function get_type(); - -	/** -	* Is this method available for the user? -	* This is checked on the notifications options -	*/ -	public function is_available(); - -	/** -	* Add a notification to the queue -	* -	* @param phpbb_notification_type_interface $notification -	*/ -	public function add_to_queue(phpbb_notification_type_interface $notification); - -	/** -	* Parse the queue and notify the users -	*/ -	public function notify(); -} diff --git a/phpBB/includes/notification/method/jabber.php b/phpBB/includes/notification/method/jabber.php deleted file mode 100644 index d3b756d020..0000000000 --- a/phpBB/includes/notification/method/jabber.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php -/** -* -* @package notifications -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ -	exit; -} - -/** -* Jabber notification method class -* This class handles sending Jabber messages for notifications -* -* @package notifications -*/ -class phpbb_notification_method_jabber extends phpbb_notification_method_messenger_base -{ -	/** -	* Get notification method name -	* -	* @return string -	*/ -	public function get_type() -	{ -		return 'jabber'; -	} - -	/** -	* Is this method available for the user? -	* This is checked on the notifications options -	*/ -	public function is_available() -	{ -		return ($this->global_available() && $this->user->data['user_jabber']); -	} - -	/** -	* Is this method available at all? -	* This is checked before notifications are sent -	*/ -	public function global_available() -	{ -		return !( -			empty($this->config['jab_enable']) || -			empty($this->config['jab_host']) || -			empty($this->config['jab_username']) || -			empty($this->config['jab_password']) || -			!@extension_loaded('xml') -		); -	} - -	public function notify() -	{ -		if (!$this->global_available()) -		{ -			return; -		} - -		return $this->notify_using_messenger(NOTIFY_IM, 'short/'); -	} -} diff --git a/phpBB/includes/notification/method/messenger_base.php b/phpBB/includes/notification/method/messenger_base.php deleted file mode 100644 index 4966aa94bc..0000000000 --- a/phpBB/includes/notification/method/messenger_base.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/** -* -* @package notifications -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ -	exit; -} - -/** -* Abstract notification method handling email and jabber notifications -* using the phpBB messenger. -* -* @package notifications -*/ -abstract class phpbb_notification_method_messenger_base extends phpbb_notification_method_base -{ -	/** -	* Notify using phpBB messenger -	* -	* @param int $notify_method				Notify method for messenger (e.g. NOTIFY_IM) -	* @param string $template_dir_prefix	Base directory to prepend to the email template name -	* -	* @return null -	*/ -	protected function notify_using_messenger($notify_method, $template_dir_prefix = '') -	{ -		if (empty($this->queue)) -		{ -			return; -		} - -		// Load all users we want to notify (we need their email address) -		$user_ids = $users = array(); -		foreach ($this->queue as $notification) -		{ -			$user_ids[] = $notification->user_id; -		} - -		// We do not send emails to banned users -		if (!function_exists('phpbb_get_banned_user_ids')) -		{ -			include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext); -		} -		$banned_users = phpbb_get_banned_user_ids($user_ids); - -		// Load all the users we need -		$this->user_loader->load_users($user_ids); - -		// Load the messenger -		if (!class_exists('messenger')) -		{ -			include($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext); -		} -		$messenger = new messenger(); -		$board_url = generate_board_url(); - -		// Time to go through the queue and send emails -		foreach ($this->queue as $notification) -		{ -			if ($notification->get_email_template() === false) -			{ -				continue; -			} - -			$user = $this->user_loader->get_user($notification->user_id); - -			if ($user['user_type'] == USER_IGNORE || in_array($notification->user_id, $banned_users)) -			{ -				continue; -			} - -			$messenger->template($template_dir_prefix . $notification->get_email_template(), $user['user_lang']); - -			$messenger->set_addresses($user); - -			$messenger->assign_vars(array_merge(array( -				'USERNAME'						=> $user['username'], - -				'U_NOTIFICATION_SETTINGS'		=> generate_board_url() . '/ucp.' . $this->php_ext . '?i=ucp_notifications', -			), $notification->get_email_template_variables())); - -			$messenger->send($notify_method); -		} - -		// Save the queue in the messenger class (has to be called or these emails could be lost?) -		$messenger->save_queue(); - -		// We're done, empty the queue -		$this->empty_queue(); -	} -} | 
