]> git.mxchange.org Git - friendica.git/blob - src/Worker/APDelivery.php
Logger Levels
[friendica.git] / src / Worker / APDelivery.php
1 <?php
2 /**
3  * @file src/Worker/APDelivery.php
4  */
5 namespace Friendica\Worker;
6
7 use Friendica\BaseObject;
8 use Friendica\Core\Logger;
9 use Friendica\Core\Worker;
10 use Friendica\Protocol\ActivityPub;
11 use Friendica\Model\Item;
12 use Friendica\Util\HTTPSignature;
13
14 class APDelivery extends BaseObject
15 {
16         /**
17          * @brief Delivers ActivityPub messages
18          *
19          * @param string $cmd
20          * @param integer $item_id
21          * @param string $inbox
22          * @param integer $uid
23          */
24         public static function execute($cmd, $item_id, $inbox, $uid)
25         {
26                 Logger::log('Invoked: ' . $cmd . ': ' . $item_id . ' to ' . $inbox, Logger::DEBUG);
27
28                 $success = true;
29
30                 if ($cmd == Delivery::MAIL) {
31                 } elseif ($cmd == Delivery::SUGGESTION) {
32                         $success = ActivityPub\Transmitter::sendContactSuggestion($uid, $inbox, $item_id);
33                 } elseif ($cmd == Delivery::RELOCATION) {
34                 } elseif ($cmd == Delivery::REMOVAL) {
35                         $success = ActivityPub\Transmitter::sendProfileDeletion($uid, $inbox);
36                 } elseif ($cmd == Delivery::PROFILEUPDATE) {
37                         $success = ActivityPub\Transmitter::sendProfileUpdate($uid, $inbox);
38                 } else {
39                         $data = ActivityPub\Transmitter::createCachedActivityFromItem($item_id);
40                         if (!empty($data)) {
41                                 $success = HTTPSignature::transmit($data, $inbox, $uid);
42                         }
43                 }
44
45                 if (!$success) {
46                         Worker::defer();
47                 }
48         }
49 }