]> git.mxchange.org Git - friendica.git/blobdiff - include/delivery.php
Merge pull request #2110 from annando/1511-subscribe-feed
[friendica.git] / include / delivery.php
index bf41b3d13a61d72ee6f424996ebc4b76f7067dbb..dc02faaba8e03d1957797861a6cd4a0ee9defa59 100644 (file)
@@ -2,6 +2,7 @@
 require_once("boot.php");
 require_once('include/queue_fn.php');
 require_once('include/html2plain.php');
+require_once("include/ostatus.php");
 
 function delivery_run(&$argv, &$argc){
        global $a, $db;
@@ -60,7 +61,7 @@ function delivery_run(&$argv, &$argc){
                if(function_exists('sys_getloadavg')) {
                        $load = sys_getloadavg();
                        if(intval($load[0]) > $maxsysload) {
-                               logger('system: load ' . $load . ' too high. Delivery deferred to next queue run.');
+                               logger('system: load ' . $load[0] . ' too high. Delivery deferred to next queue run.');
                                return;
                        }
                }
@@ -340,9 +341,9 @@ function delivery_run(&$argv, &$argc){
                                                $ssl_policy = get_config('system','ssl_policy');
                                                fix_contact_ssl_policy($x[0],$ssl_policy);
 
-                                               // If we are setup as a soapbox we aren't accepting input from this person
+                                               // If we are setup as a soapbox we aren't accepting top level posts from this person
 
-                                               if($x[0]['page-flags'] == PAGE_SOAPBOX)
+                                               if (($x[0]['page-flags'] == PAGE_SOAPBOX) AND $top_level)
                                                        break;
 
                                                require_once('library/simplepie/simplepie.inc');
@@ -391,7 +392,8 @@ function delivery_run(&$argv, &$argc){
                                                        continue;
 
                                                if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire))
-                                                       $slaps[] = atom_entry($item,'html',null,$owner,true);
+                                                       $slaps[] = ostatus_salmon($item,$owner);
+                                                       //$slaps[] = atom_entry($item,'html',null,$owner,true);
                                        }
 
                                        logger('notifier: slapdelivery: ' . $contact['name']);
@@ -520,11 +522,16 @@ function delivery_run(&$argv, &$argc){
                                if((! $contact['pubkey']) && (! $public_message))
                                        break;
 
-                               if($target_item['verb'] === ACTIVITY_DISLIKE) {
-                                       // unsupported
-                                       break;
+                               $unsupported_activities = array(ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE);
+
+                               //don't transmit activities which are not supported by diaspora
+                               foreach($unsupported_activities as $act) {
+                                       if(activity_match($target_item['verb'],$act)) {
+                                               break 2;
+                                       }
                                }
-                               elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri'])) {
+
+                               if(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri'])) {
                                        // top-level retraction
                                        logger('delivery: diaspora retract: ' . $loc);
 
@@ -565,6 +572,6 @@ function delivery_run(&$argv, &$argc){
 }
 
 if (array_search(__file__,get_included_files())===0){
-  delivery_run($argv,$argc);
+  delivery_run($_SERVER["argv"],$_SERVER["argc"]);
   killme();
 }