mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/11103] Jabber notification method
PHPBB3-11103
This commit is contained in:
parent
48cb98045e
commit
97fde62b14
3 changed files with 43 additions and 8 deletions
|
@ -23,11 +23,18 @@ if (!defined('IN_PHPBB'))
|
|||
*/
|
||||
class phpbb_notifications_method_email extends phpbb_notifications_method_base
|
||||
{
|
||||
/**
|
||||
* Notify method (since jabber gets sent through the same messenger, we let the jabber class inherit from this to reduce code duplication)
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
protected $notify_method = NOTIFY_EMAIL;
|
||||
|
||||
/**
|
||||
* Is this method available for the user?
|
||||
* This is checked on the notifications options
|
||||
*/
|
||||
public static function is_available()
|
||||
public function is_available()
|
||||
{
|
||||
// Email is always available
|
||||
return true;
|
||||
|
@ -89,7 +96,7 @@ class phpbb_notifications_method_email extends phpbb_notifications_method_base
|
|||
'U_UNSUBSCRIBE' => $notification->get_unsubscribe_url(),
|
||||
));
|
||||
|
||||
$messenger->send('email');
|
||||
$messenger->send($this->notify_method);
|
||||
}
|
||||
|
||||
// Save the queue in the messenger class (has to be called or these emails could be lost?)
|
||||
|
|
|
@ -21,5 +21,7 @@ if (!defined('IN_PHPBB'))
|
|||
*/
|
||||
interface phpbb_notifications_method_interface
|
||||
{
|
||||
public function is_available();
|
||||
|
||||
public function notify();
|
||||
}
|
||||
|
|
|
@ -17,20 +17,46 @@ if (!defined('IN_PHPBB'))
|
|||
|
||||
/**
|
||||
* Jabber notification method class
|
||||
* This class handles sending Jabber notifications for notifications
|
||||
* This class handles sending Jabber messages for notifications
|
||||
*
|
||||
* @package notifications
|
||||
*/
|
||||
class phpbb_notifications_method_jabber extends phpbb_notifications_method_base
|
||||
class phpbb_notifications_method_jabber extends phpbb_notifications_method_email
|
||||
{
|
||||
public static function is_available()
|
||||
/**
|
||||
* Notify method (since jabber gets sent through the same messenger, we let the jabber class inherit from this to reduce code duplication)
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
protected $notify_method = NOTIFY_IM;
|
||||
|
||||
/**
|
||||
* Is this method available for the user?
|
||||
* This is checked on the notifications options
|
||||
*/
|
||||
public function is_available()
|
||||
{
|
||||
// Is jabber enabled & can this user receive jabber messages?
|
||||
return false; // for now
|
||||
return ($this->global_available() && $this->phpbb_container->get('user')->data['jabber']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this method available at all?
|
||||
* This is checked before notifications are sent
|
||||
*/
|
||||
public function global_available()
|
||||
{
|
||||
$config = $this->phpbb_container->get('config');
|
||||
|
||||
return ($config['jab_enable'] && @extension_loaded('xml'));
|
||||
}
|
||||
|
||||
public function notify()
|
||||
{
|
||||
// message the user
|
||||
if (!$this->global_available())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
return parent::notify();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue