From 27cbb830a7bd72f13181acc5999a6bed4f74f5ae Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 15 Apr 2011 23:40:43 -0700 Subject: more work on email contacts --- include/poller.php | 103 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 70 insertions(+), 33 deletions(-) (limited to 'include/poller.php') diff --git a/include/poller.php b/include/poller.php index b878ef295..37109f17d 100644 --- a/include/poller.php +++ b/include/poller.php @@ -1,4 +1,5 @@ set_baseurl(get_config('system','url')); @@ -85,6 +89,9 @@ function poller_run($argv, $argc){ continue; foreach($res as $contact) { + + $xml = false; + if($manual_id) $contact['last-update'] = '0000-00-00 00:00:00'; @@ -158,7 +165,7 @@ function poller_run($argv, $argc){ : datetime_convert('UTC','UTC',$contact['last-update'], ATOM_TIME) ); - if($contact['network'] === 'dfrn') { + if($contact['network'] === NETWORK_DFRN) { $idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']); @@ -175,12 +182,12 @@ function poller_run($argv, $argc){ . '&type=data&last_update=' . $last_update . '&perm=' . $perm ; - $xml = fetch_url($url); + $handshake_xml = fetch_url($url); - logger('poller: handshake with url ' . $url . ' returns xml: ' . $xml, LOGGER_DATA); + logger('poller: handshake with url ' . $url . ' returns xml: ' . $handshake_xml, LOGGER_DATA); - if(! $xml) { + if(! $handshake_xml) { logger("poller: $url appears to be dead - marking for death "); // dead connection - might be a transient event, or this might // mean the software was uninstalled or the domain expired. @@ -197,7 +204,7 @@ function poller_run($argv, $argc){ continue; } - if(! strstr($xml,'status) == 1) { logger("poller: $url replied status 1 - marking for death "); @@ -265,52 +272,82 @@ function poller_run($argv, $argc){ $xml = post_url($contact['poll'],$postvars); } - else { + elseif(($contact['network'] === NETWORK_OSTATUS) + || ($contact['network'] === NETWORK_DIASPORA) + || ($contact['network'] === NETWORK_FEED) ) { - // $contact['network'] !== 'dfrn' + // Upgrading DB fields from an older Friendika version + // Will only do this once per notify-enabled OStatus contact if(($contact['notify']) && (! $contact['writable'])) { q("UPDATE `contact` SET `writable` = 1 WHERE `id` = %d LIMIT 1", intval($contact['id']) ); } + $xml = fetch_url($contact['poll']); } - - logger('poller: received xml : ' . $xml, LOGGER_DATA); - - if(! strstr($xml,'