[CORE][QUEUE] Error checking and type declaration on handling notice queue events
Patch submitted by XRevan86
This commit is contained in:
parent
de91d28f6f
commit
aaabf82eff
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
* Common superclass for all IM sending queue handlers.
|
||||
@ -35,8 +35,13 @@ class ImQueueHandler extends QueueHandler
|
||||
* @param Notice $notice
|
||||
* @return boolean success
|
||||
*/
|
||||
function handle($notice)
|
||||
function handle($notice): bool
|
||||
{
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not broadcasting");
|
||||
return true;
|
||||
}
|
||||
|
||||
$this->plugin->broadcastNotice($notice);
|
||||
if ($notice->isLocal()) {
|
||||
$this->plugin->publicNotice($notice);
|
||||
|
@ -17,20 +17,25 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
* Queue handler for pushing new notices to ping servers.
|
||||
*/
|
||||
class PingQueueHandler extends QueueHandler {
|
||||
|
||||
function transport() {
|
||||
function transport()
|
||||
{
|
||||
return 'ping';
|
||||
}
|
||||
|
||||
function handle($notice) {
|
||||
function handle($notice): bool
|
||||
{
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not broadcasting");
|
||||
return true;
|
||||
}
|
||||
|
||||
require_once INSTALLDIR . '/lib/ping.php';
|
||||
return ping_broadcast_notice($notice);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
* Queue handler for letting plugins handle stuff.
|
||||
@ -40,8 +40,13 @@ class PluginQueueHandler extends QueueHandler
|
||||
return 'plugin';
|
||||
}
|
||||
|
||||
function handle($notice)
|
||||
function handle($notice): bool
|
||||
{
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not broadcasting");
|
||||
return true;
|
||||
}
|
||||
|
||||
try {
|
||||
Event::handle('HandleQueuedNotice', array(&$notice));
|
||||
} catch (NoProfileException $unp) {
|
||||
|
@ -46,7 +46,7 @@ class QueueHandler
|
||||
* @param mixed $object
|
||||
* @return boolean true on success, false on failure
|
||||
*/
|
||||
function handle($object)
|
||||
function handle($object): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -17,9 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
* Queue handler for pushing new notices to local subscribers using SMS.
|
||||
@ -31,8 +29,13 @@ class SmsQueueHandler extends QueueHandler
|
||||
return 'sms';
|
||||
}
|
||||
|
||||
function handle($notice)
|
||||
function handle($notice): bool
|
||||
{
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not broadcasting");
|
||||
return true;
|
||||
}
|
||||
|
||||
require_once(INSTALLDIR.'/lib/mail.php');
|
||||
return mail_broadcast_notice_sms($notice);
|
||||
}
|
||||
|
@ -17,9 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
* Prepare WebSub and Salmon distributions for an outgoing message.
|
||||
@ -46,9 +44,12 @@ class OStatusQueueHandler extends QueueHandler
|
||||
return 'ostatus';
|
||||
}
|
||||
|
||||
function handle($notice)
|
||||
function handle($notice): bool
|
||||
{
|
||||
assert($notice instanceof Notice);
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not distributing");
|
||||
return true;
|
||||
}
|
||||
|
||||
$this->notice = $notice;
|
||||
$this->user = User::getKV('id', $notice->profile_id);
|
||||
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
* Process a feed distribution POST from a WebSub (previously PuSH) hub.
|
||||
@ -31,9 +31,12 @@ class PushInQueueHandler extends QueueHandler
|
||||
return 'pushin';
|
||||
}
|
||||
|
||||
function handle($data)
|
||||
function handle($data): bool
|
||||
{
|
||||
assert(is_array($data));
|
||||
if (!is_array($data)) {
|
||||
common_log(LOG_ERR, "Got bogus data, not processing");
|
||||
return true;
|
||||
}
|
||||
|
||||
$feedsub_id = $data['feedsub_id'];
|
||||
$post = $data['post'];
|
||||
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
class RSSCloudQueueHandler extends QueueHandler
|
||||
{
|
||||
@ -26,8 +26,13 @@ class RSSCloudQueueHandler extends QueueHandler
|
||||
return 'rsscloud';
|
||||
}
|
||||
|
||||
function handle($notice)
|
||||
function handle($notice): bool
|
||||
{
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not using");
|
||||
return true;
|
||||
}
|
||||
|
||||
try {
|
||||
$profile = $notice->getProfile();
|
||||
} catch (Exception $e) {
|
||||
|
@ -17,6 +17,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
* Check for subscription mirroring options on each newly seen post!
|
||||
*
|
||||
@ -30,8 +32,13 @@ class MirrorQueueHandler extends QueueHandler
|
||||
return 'mirror';
|
||||
}
|
||||
|
||||
function handle($notice)
|
||||
function handle($notice): bool
|
||||
{
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not mirroring");
|
||||
return true;
|
||||
}
|
||||
|
||||
$mirror = new SubMirror();
|
||||
$mirror->subscribed = $notice->profile_id;
|
||||
if ($mirror->find()) {
|
||||
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
require_once dirname(__DIR__) . '/twitter.php';
|
||||
|
||||
@ -28,8 +28,13 @@ class TwitterQueueHandler extends QueueHandler
|
||||
return 'twitter';
|
||||
}
|
||||
|
||||
function handle($notice)
|
||||
function handle($notice): bool
|
||||
{
|
||||
if (!($notice instanceof Notice)) {
|
||||
common_log(LOG_ERR, "Got a bogus notice, not broadcasting");
|
||||
return true;
|
||||
}
|
||||
|
||||
$ok = broadcast_twitter($notice);
|
||||
return $ok || common_config('twitter', 'ignore_errors');
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user