]> git.mxchange.org Git - friendica.git/blobdiff - include/delivery.php
Merge remote-tracking branch 'upstream/develop' into rewrites/app_get_baseurl_static
[friendica.git] / include / delivery.php
index 66f5e931ba1c095608fc018f9cdeb893e763c548..f7245942a9e329c03a98f655086926884d293420 100644 (file)
@@ -53,11 +53,11 @@ function delivery_run(&$argv, &$argc){
                        dbesc($item_id),
                        dbesc($contact_id)
                );
-               if (!count($r)) {
+               if (!dbm::is_result($r)) {
                        continue;
                }
 
-               if (App::maxload_reached())
+               if ($a->maxload_reached())
                        return;
 
                // It's ours to deliver. Remove it from the queue.
@@ -131,7 +131,7 @@ function delivery_run(&$argv, &$argc){
                                intval($item_id)
                        );
 
-                       if ((!count($r)) || (!intval($r[0]['parent']))) {
+                       if ((!dbm::is_result($r)) || (!intval($r[0]['parent']))) {
                                continue;
                        }
 
@@ -178,13 +178,13 @@ function delivery_run(&$argv, &$argc){
 
                $r = q("SELECT `contact`.*, `user`.`pubkey` AS `upubkey`, `user`.`prvkey` AS `uprvkey`,
                        `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`,
-                       `user`.`page-flags`, `user`.`prvnets`
+                       `user`.`page-flags`, `user`.`account-type`, `user`.`prvnets`
                        FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid`
                        WHERE `contact`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
                        intval($uid)
                );
 
-               if (!count($r))
+               if (!dbm::is_result($r))
                        continue;
 
                $owner = $r[0];
@@ -323,7 +323,7 @@ function delivery_run(&$argv, &$argc){
 
                                // perform local delivery if we are on the same site
 
-                               if (link_compare($basepath,$a->get_baseurl())) {
+                               if (link_compare($basepath,App::get_baseurl())) {
 
                                        $nickname = basename($contact['url']);
                                        if ($contact['issued-id'])
@@ -381,7 +381,14 @@ function delivery_run(&$argv, &$argc){
                                if ($deliver_status == (-1)) {
                                        logger('notifier: delivery failed: queuing message');
                                        add_to_queue($contact['id'],NETWORK_DFRN,$atom);
+
+                                       // The message could not be delivered. We mark the contact as "dead"
+                                       mark_for_death($contact);
+                               } else {
+                                       // We successfully delivered a message, the contact is alive
+                                       unmark_for_death($contact);
                                }
+
                                break;
 
                        case NETWORK_OSTATUS:
@@ -471,14 +478,14 @@ function delivery_run(&$argv, &$argc){
                                                                dbesc($it['parent-uri']),
                                                                intval($uid));
 
-                                                       if (count($r) AND ($r[0]['title'] != ''))
+                                                       if (dbm::is_result($r) AND ($r[0]['title'] != ''))
                                                                $subject = $r[0]['title'];
                                                        else {
                                                                $r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d LIMIT 1",
                                                                        dbesc($it['parent-uri']),
                                                                        intval($uid));
 
-                                                               if (count($r) AND ($r[0]['title'] != ''))
+                                                               if (dbm::is_result($r) AND ($r[0]['title'] != ''))
                                                                        $subject = $r[0]['title'];
                                                        }
                                                }
@@ -501,7 +508,7 @@ function delivery_run(&$argv, &$argc){
                                        break;
 
                                if ($mail) {
-                                       diaspora::send_mail($item,$owner,$contact);
+                                       Diaspora::send_mail($item,$owner,$contact);
                                        break;
                                }
 
@@ -523,22 +530,22 @@ function delivery_run(&$argv, &$argc){
                                if (($target_item['deleted']) && (($target_item['uri'] === $target_item['parent-uri']) || $followup)) {
                                        // top-level retraction
                                        logger('diaspora retract: '.$loc);
-                                       diaspora::send_retraction($target_item,$owner,$contact,$public_message);
+                                       Diaspora::send_retraction($target_item,$owner,$contact,$public_message);
                                        break;
                                } elseif ($followup) {
                                        // send comments and likes to owner to relay
                                        logger('diaspora followup: '.$loc);
-                                       diaspora::send_followup($target_item,$owner,$contact,$public_message);
+                                       Diaspora::send_followup($target_item,$owner,$contact,$public_message);
                                        break;
                                } elseif ($target_item['uri'] !== $target_item['parent-uri']) {
                                        // we are the relay - send comments, likes and relayable_retractions to our conversants
                                        logger('diaspora relay: '.$loc);
-                                       diaspora::send_relay($target_item,$owner,$contact,$public_message);
+                                       Diaspora::send_relay($target_item,$owner,$contact,$public_message);
                                        break;
                                } elseif ($top_level && !$walltowall) {
                                        // currently no workable solution for sending walltowall
                                        logger('diaspora status: '.$loc);
-                                       diaspora::send_status($target_item,$owner,$contact,$public_message);
+                                       Diaspora::send_status($target_item,$owner,$contact,$public_message);
                                        break;
                                }