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
|
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?
|
* Is this method available for the user?
|
||||||
* This is checked on the notifications options
|
* This is checked on the notifications options
|
||||||
*/
|
*/
|
||||||
public static function is_available()
|
public function is_available()
|
||||||
{
|
{
|
||||||
// Email is always available
|
// Email is always available
|
||||||
return true;
|
return true;
|
||||||
|
@ -89,7 +96,7 @@ class phpbb_notifications_method_email extends phpbb_notifications_method_base
|
||||||
'U_UNSUBSCRIBE' => $notification->get_unsubscribe_url(),
|
'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?)
|
// 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
|
interface phpbb_notifications_method_interface
|
||||||
{
|
{
|
||||||
|
public function is_available();
|
||||||
|
|
||||||
public function notify();
|
public function notify();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,20 +17,46 @@ if (!defined('IN_PHPBB'))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Jabber notification method class
|
* Jabber notification method class
|
||||||
* This class handles sending Jabber notifications for notifications
|
* This class handles sending Jabber messages for notifications
|
||||||
*
|
*
|
||||||
* @package 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 ($this->global_available() && $this->phpbb_container->get('user')->data['jabber']);
|
||||||
return false; // for now
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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()
|
public function notify()
|
||||||
{
|
{
|
||||||
// message the user
|
if (!$this->global_available())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent::notify();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue