X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fpoller.php;h=66df080a9dbdce632b77e153a735072892cd0334;hb=3ad7c395fb9a33319531e04673563e7c9983d8f0;hp=fc45ff9c3e16865086a4ff8c4f67318e48cf1fe2;hpb=13fa27f7578d292d8d722554ce6211e8e0bc91af;p=friendica.git diff --git a/include/poller.php b/include/poller.php index fc45ff9c3e..66df080a9d 100644 --- a/include/poller.php +++ b/include/poller.php @@ -1,14 +1,19 @@ set_baseurl(get_config('system','url')); logger('poller: start'); - + // run queue delivery process in the background $php_path = ((x($a->config,'php_path') && strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); - proc_close(proc_open("\"$php_path\" \"include/queue.php\" &", array(), $foo)); - + proc_run($php_path,"include/queue.php"); + + // clear old cache + q("DELETE FROM `cache` WHERE `updated`<'%s'", + dbesc(datetime_convert('UTC','UTC',"now - 30 days"))); + $manual_id = 0; $hub_update = false; - $force = false; + $force = false; if(($argc > 1) && ($argv[1] == 'force')) $force = true; + if(($argc > 1) && intval($argv[1])) { + $manual_id = intval($argv[1]); + $force = true; + } + + $sql_extra = (($manual_id) ? " AND `id` = $manual_id " : ""); + // 'stat' clause is a temporary measure until we have federation subscriptions working both directions $contacts = q("SELECT * FROM `contact` WHERE ( ( `network` = 'dfrn' AND ( `dfrn-id` != '' OR (`issued-id` != '' AND `duplex` = 1))) - OR ( `network` = 'stat' AND `poll` != '' ) ) + OR ( `network` IN ( 'stat', 'feed' ) AND `poll` != '' )) + $sql_extra AND `self` = 0 AND `blocked` = 0 AND `readonly` = 0 ORDER BY RAND()"); - if(! count($contacts)) - killme(); + if(! count($contacts)){ + return; + } foreach($contacts as $contact) { + if($manual_id) + $contact['last-update'] = '0000-00-00 00:00:00'; + if($contact['priority'] || $contact['subhub']) { $hub_update = true; @@ -61,7 +82,7 @@ $contact['priority'] = (($interval !== false) ? intval($interval) : 3); $hub_update = false; - if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day")) + if((datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day")) || $force) $hub_update = true; } @@ -217,6 +238,7 @@ $xml = post_url($contact['poll'],$postvars); } else { + // $contact['network'] !== 'dfrn' $xml = fetch_url($contact['poll']); @@ -224,8 +246,14 @@ logger('poller: received xml : ' . $xml, LOGGER_DATA); - if(! strlen($xml)) + if(! strstr($xml,'