Merge remote-tracking branch 'upstream/develop' into diasppora-delivery
[friendica.git/.git] / src / Worker / Notifier.php
index d4ec33b..8a35a34 100644 (file)
@@ -8,6 +8,7 @@ use Friendica\BaseObject;
 use Friendica\Core\Addon;
 use Friendica\Core\Config;
 use Friendica\Core\Hook;
+use Friendica\Core\Logger;
 use Friendica\Core\Protocol;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
@@ -57,7 +58,7 @@ class Notifier
        {
                $a = BaseObject::getApp();
 
-               logger('notifier: invoked: '.$cmd.': '.$item_id, LOGGER_DEBUG);
+               Logger::log('notifier: invoked: '.$cmd.': '.$item_id, Logger::DEBUG);
 
                $top_level = false;
                $recipients = [];
@@ -104,7 +105,7 @@ class Notifier
 
                        $inboxes = ActivityPub\Transmitter::fetchTargetInboxesforUser(0);
                        foreach ($inboxes as $inbox) {
-                               logger('Account removal for user ' . $item_id . ' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
+                               Logger::log('Account removal for user ' . $item_id . ' to ' . $inbox .' via ActivityPub', Logger::DEBUG);
                                Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
                                        'APDelivery', Delivery::REMOVAL, '', $inbox, $item_id);
                        }
@@ -147,7 +148,7 @@ class Notifier
                        }
 
                        if ((count($items) == 1) && ($items[0]['id'] === $target_item['id']) && ($items[0]['uri'] === $items[0]['parent-uri'])) {
-                               logger('notifier: top level post');
+                               Logger::log('notifier: top level post');
                                $top_level = true;
                        }
                }
@@ -184,7 +185,7 @@ class Notifier
                        $condition = ['uri' => $target_item["thr-parent"], 'uid' => $target_item["uid"]];
                        $thr_parent = Item::selectFirst($fields, $condition);
 
-                       logger('GUID: '.$target_item["guid"].': Parent is '.$parent['network'].'. Thread parent is '.$thr_parent['network'], LOGGER_DEBUG);
+                       Logger::log('GUID: '.$target_item["guid"].': Parent is '.$parent['network'].'. Thread parent is '.$thr_parent['network'], Logger::DEBUG);
 
                        // This is IMPORTANT!!!!
 
@@ -248,7 +249,7 @@ class Notifier
                                $recipients = [$parent['contact-id']];
                                $recipients_followup  = [$parent['contact-id']];
 
-                               logger('notifier: followup '.$target_item["guid"].' to '.$conversant_str, LOGGER_DEBUG);
+                               Logger::log('notifier: followup '.$target_item["guid"].' to '.$conversant_str, Logger::DEBUG);
 
                                //if (!$target_item['private'] && $target_item['wall'] &&
                                if (!$target_item['private'] &&
@@ -278,16 +279,16 @@ class Notifier
                                        $push_notify = false;
                                }
 
-                               logger("Notify ".$target_item["guid"]." via PuSH: ".($push_notify?"Yes":"No"), LOGGER_DEBUG);
+                               Logger::log("Notify ".$target_item["guid"]." via PuSH: ".($push_notify?"Yes":"No"), Logger::DEBUG);
                        } else {
                                $followup = false;
 
-                               logger('Distributing directly '.$target_item["guid"], LOGGER_DEBUG);
+                               Logger::log('Distributing directly '.$target_item["guid"], Logger::DEBUG);
 
                                // don't send deletions onward for other people's stuff
 
                                if ($target_item['deleted'] && !intval($target_item['wall'])) {
-                                       logger('notifier: ignoring delete notification for non-wall item');
+                                       Logger::log('notifier: ignoring delete notification for non-wall item');
                                        return;
                                }
 
@@ -328,7 +329,7 @@ class Notifier
                                }
 
                                if (count($url_recipients)) {
-                                       logger('notifier: '.$target_item["guid"].' url_recipients ' . print_r($url_recipients,true));
+                                       Logger::log('notifier: '.$target_item["guid"].' url_recipients ' . print_r($url_recipients,true));
                                }
 
                                $conversants = array_unique($conversants);
@@ -345,31 +346,31 @@ class Notifier
                        if (($thr_parent && ($thr_parent['network'] == Protocol::OSTATUS)) || ($parent['network'] == Protocol::OSTATUS)) {
                                $diaspora_delivery = false;
 
-                               logger('Some parent is OStatus for '.$target_item["guid"]." - Author: ".$thr_parent['author-id']." - Owner: ".$thr_parent['owner-id'], LOGGER_DEBUG);
+                               Logger::log('Some parent is OStatus for '.$target_item["guid"]." - Author: ".$thr_parent['author-id']." - Owner: ".$thr_parent['owner-id'], Logger::DEBUG);
 
                                // Send a salmon to the parent author
                                $probed_contact = DBA::selectFirst('contact', ['url', 'notify'], ['id' => $thr_parent['author-id']]);
                                if (DBA::isResult($probed_contact) && !empty($probed_contact["notify"])) {
-                                       logger('Notify parent author '.$probed_contact["url"].': '.$probed_contact["notify"]);
+                                       Logger::log('Notify parent author '.$probed_contact["url"].': '.$probed_contact["notify"]);
                                        $url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
                                }
 
                                // Send a salmon to the parent owner
                                $probed_contact = DBA::selectFirst('contact', ['url', 'notify'], ['id' => $thr_parent['owner-id']]);
                                if (DBA::isResult($probed_contact) && !empty($probed_contact["notify"])) {
-                                       logger('Notify parent owner '.$probed_contact["url"].': '.$probed_contact["notify"]);
+                                       Logger::log('Notify parent owner '.$probed_contact["url"].': '.$probed_contact["notify"]);
                                        $url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
                                }
 
                                // Send a salmon notification to every person we mentioned in the post
                                $arr = explode(',',$target_item['tag']);
                                foreach ($arr as $x) {
-                                       //logger('Checking tag '.$x, LOGGER_DEBUG);
+                                       //Logger::log('Checking tag '.$x, Logger::DEBUG);
                                        $matches = null;
                                        if (preg_match('/@\[url=([^\]]*)\]/',$x,$matches)) {
                                                        $probed_contact = Probe::uri($matches[1]);
                                                if ($probed_contact["notify"] != "") {
-                                                       logger('Notify mentioned user '.$probed_contact["url"].': '.$probed_contact["notify"]);
+                                                       Logger::log('Notify mentioned user '.$probed_contact["url"].': '.$probed_contact["notify"]);
                                                        $url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
                                                }
                                        }
@@ -423,7 +424,7 @@ class Notifier
                                        && !in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) {
                                        continue;
                                }
-                               logger("Deliver ".$item_id." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
+                               Logger::log("Deliver ".$item_id." to ".$contact['url']." via network ".$contact['network'], Logger::DEBUG);
 
                                Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
                                                'Delivery', $cmd, $item_id, (int)$contact['id']);
@@ -436,7 +437,7 @@ class Notifier
                        $slap = OStatus::salmon($target_item, $owner);
                        foreach ($url_recipients as $url) {
                                if ($url) {
-                                       logger('notifier: urldelivery: ' . $url);
+                                       Logger::log('notifier: urldelivery: ' . $url);
                                        $deliver_status = Salmon::slapper($owner, $url, $slap);
                                        /// @TODO Redeliver/queue these items on failure, though there is no contact record
                                }
@@ -473,19 +474,19 @@ class Notifier
                        $r = array_merge($r2, $r1);
 
                        if (DBA::isResult($r)) {
-                               logger('pubdeliver '.$target_item["guid"].': '.print_r($r,true), LOGGER_DEBUG);
+                               Logger::log('pubdeliver '.$target_item["guid"].': '.print_r($r,true), Logger::DEBUG);
 
                                foreach ($r as $rr) {
                                        // except for Diaspora batch jobs
                                        // Don't deliver to folks who have already been delivered to
 
                                        if (($rr['network'] !== Protocol::DIASPORA) && (in_array($rr['id'], $conversants))) {
-                                               logger('notifier: already delivered id=' . $rr['id']);
+                                               Logger::log('notifier: already delivered id=' . $rr['id']);
                                                continue;
                                        }
 
                                        if (!in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) {
-                                               logger('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
+                                               Logger::log('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
                                                Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
                                                                'Delivery', $cmd, $item_id, (int)$rr['id']);
                                        }
@@ -497,13 +498,13 @@ class Notifier
 
                // Notify PuSH subscribers (Used for OStatus distribution of regular posts)
                if ($push_notify) {
-                       logger('Activating internal PuSH for item '.$item_id, LOGGER_DEBUG);
+                       Logger::log('Activating internal PuSH for item '.$item_id, Logger::DEBUG);
 
                        // Handling the pubsubhubbub requests
                        PushSubscriber::publishFeed($owner['uid'], $a->queue['priority']);
                }
 
-               logger('notifier: calling hooks for ' . $cmd . ' ' . $item_id, LOGGER_DEBUG);
+               Logger::log('notifier: calling hooks for ' . $cmd . ' ' . $item_id, Logger::DEBUG);
 
                if ($normal_mode) {
                        Hook::fork($a->queue['priority'], 'notifier_normal', $target_item);
@@ -521,15 +522,15 @@ class Notifier
 
                if ($target_item['origin']) {
                        $inboxes = ActivityPub\Transmitter::fetchTargetInboxes($target_item, $uid);
-                       logger('Origin item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG);
+                       Logger::log('Origin item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', Logger::DEBUG);
                } elseif (!DBA::exists('conversation', ['item-uri' => $target_item['uri'], 'protocol' => Conversation::PARCEL_ACTIVITYPUB])) {
-                       logger('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' is no AP post. It will not be distributed.', LOGGER_DEBUG);
+                       Logger::log('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' is no AP post. It will not be distributed.', Logger::DEBUG);
                        return;
                } else {
                        // Remote items are transmitted via the personal inboxes.
                        // Doing so ensures that the dedicated receiver will get the message.
                        $personal = true;
-                       logger('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG);
+                       Logger::log('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', Logger::DEBUG);
                }
 
                if ($parent['origin']) {
@@ -538,7 +539,7 @@ class Notifier
                }
 
                if (empty($inboxes)) {
-                       logger('No inboxes found for item ' . $item_id . ' with URL ' . $target_item['uri'] . '. It will not be distributed.', LOGGER_DEBUG);
+                       Logger::log('No inboxes found for item ' . $item_id . ' with URL ' . $target_item['uri'] . '. It will not be distributed.', Logger::DEBUG);
                        return;
                }
 
@@ -546,7 +547,7 @@ class Notifier
                ActivityPub\Transmitter::createCachedActivityFromItem($item_id, true);
 
                foreach ($inboxes as $inbox) {
-                       logger('Deliver ' . $item_id .' to ' . $inbox .' via ActivityPub', LOGGER_DEBUG);
+                       Logger::log('Deliver ' . $item_id .' to ' . $inbox .' via ActivityPub', Logger::DEBUG);
 
                        Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
                                        'APDelivery', $cmd, $item_id, $inbox, $uid);