aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/notification/method
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2013-07-14 11:57:53 -0400
committerJoas Schilling <nickvergessen@gmx.de>2013-07-14 11:57:53 -0400
commitd7a85ebc245e76038b8ccd56524f045cc92a6c13 (patch)
tree66aa645c4d86636f0bce04a7125a7757a466b224 /phpBB/includes/notification/method
parentfa3cdb6bf2cfdca9c26168bd258752718bc8a43f (diff)
parentf6865dc33a8cedb7d21a64401ed80d2edbac36bd (diff)
downloadforums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar
forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.gz
forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.bz2
forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.tar.xz
forums-d7a85ebc245e76038b8ccd56524f045cc92a6c13.zip
Merge remote-tracking branch 'igorw/ticket/11574' into ticket/11574
* igorw/ticket/11574: (575 commits) [ticket/11702] Fix forum_posts left over for link-click counts in viewforum.php [ticket/11696] Move file to new directory [ticket/11696] Rename constructor to __construct() [ticket/11696] Remove manual loading of db_tools in extension controller test [ticket/11696] Rename db_tools.php so it can be autoloaded [ticket/11698] Moving all autoloadable files to phpbb/ [ticket/11694] Do not locate assets with root path [ticket/11692] Don't update search_type in dev migration if already appended [ticket/11675] Fix template loop [ticket/11690] Old module class names may get autoloaded by class_exists [ticket/9649] Display information on index for moderators on unapproved posts [ticket/10999] Fix assets_version in ACP [prep-release-3.0.12] More changelog items for the 3.0.12 release. [ticket/11687] Add assets_version to phpbb_config [ticket/11686] Not checking for phpBB Debug errors on functional tests [ticket/11670] Consistency with logo: Replace "phpBB(tm)" with "phpBB(R)". [ticket/11674] Do not include vendor folder if there are no dependencies. [ticket/11685] Remove logout confirmation page [ticket/11684] Remove useless confirmation page after login and admin login [ticket/9657] Define user before injecting ...
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();
- }
-}