aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/notification/method
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/notification/method')
-rw-r--r--phpBB/includes/notification/method/base.php116
-rw-r--r--phpBB/includes/notification/method/email.php52
-rw-r--r--phpBB/includes/notification/method/interface.php48
-rw-r--r--phpBB/includes/notification/method/jabber.php69
-rw-r--r--phpBB/includes/notification/method/messenger_base.php100
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();
- }
-}