]> git.mxchange.org Git - friendica.git/blobdiff - include/poller.php
Merge remote-tracking branch 'friendika/master' into newui
[friendica.git] / include / poller.php
index 6ac99fc7d0cf5304721a2ba449769499970202aa..e80b696bf8615f9ca89df7963f01a76f1cd4d9c1 100644 (file)
@@ -80,15 +80,20 @@ function poller_run($argv, $argc){
        $d = datetime_convert();
 
        if(! $restart)
-               call_hooks('cron', $d);
+               proc_run('php','include/cronhooks.php');
 
+       // Only poll from those with suitable relationships,
+       // and which have a polling address and ignore Diaspora since 
+       // we are unable to match those posts with a Diaspora GUID and prevent duplicates.
 
        $contacts = q("SELECT `id` FROM `contact` 
                WHERE ( `rel` = %d OR `rel` = %d ) AND `poll` != ''
+               AND `network` != '%s'
                $sql_extra 
                AND `self` = 0 AND `blocked` = 0 AND `readonly` = 0 ORDER BY RAND()",
                intval(CONTACT_IS_SHARING),
-               intval(CONTACT_IS_FRIEND)
+               intval(CONTACT_IS_FRIEND),
+               dbesc(NETWORK_DIASPORA)
        );
 
        if(! count($contacts)) {
@@ -101,7 +106,7 @@ function poller_run($argv, $argc){
                        intval($c['id'])
                );
 
-               if(! count($res))
+               if((! $res) || (! count($res)))
                        continue;
 
                foreach($res as $contact) {
@@ -421,8 +426,10 @@ function poller_run($argv, $argc){
                                                        $datarray['contact-id'] = $contact['id'];
                                                        if($datarray['parent-uri'] === $datarray['uri'])
                                                                $datarray['private'] = 1;
-                                                       if(! get_pconfig($importer_uid,'system','allow_public_email_replies'))
+                                                       if(! get_pconfig($importer_uid,'system','allow_public_email_replies')) {
                                                                $datarray['private'] = 1;
+                                                               $datarray['allow_cid'] = '<' . $contact['id'] . '>';
+                                                       }
                                                        $datarray['author-name'] = $contact['name'];
                                                        $datarray['author-link'] = 'mailbox';
                                                        $datarray['author-avatar'] = $contact['photo'];