- foreach($contacts as $c) {
-
- $res = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1",
- intval($c['id'])
- );
-
- if((! $res) || (! count($res)))
- continue;
-
- foreach($res as $contact) {
-
- $xml = false;
-
- if($manual_id)
- $contact['last-update'] = '0000-00-00 00:00:00';
-
- if(in_array($contact['network'], array(NETWORK_DFRN, NETWORK_ZOT, NETWORK_OSTATUS)))
- $contact['priority'] = 2;
-
- if($contact['subhub'] AND in_array($contact['network'], array(NETWORK_DFRN, NETWORK_ZOT, NETWORK_OSTATUS))) {
- // We should be getting everything via a hub. But just to be sure, let's check once a day.
- // (You can make this more or less frequent if desired by setting 'pushpoll_frequency' appropriately)
- // This also lets us update our subscription to the hub, and add or replace hubs in case it
- // changed. We will only update hubs once a day, regardless of 'pushpoll_frequency'.
-
- $poll_interval = get_config('system','pushpoll_frequency');
- $contact['priority'] = (($poll_interval !== false) ? intval($poll_interval) : 3);
- }
-
- if($contact['priority'] AND !$force) {
-
- $update = false;
-
- $t = $contact['last-update'];
-
- /**
- * Based on $contact['priority'], should we poll this site now? Or later?
- */
-
- switch ($contact['priority']) {
- case 5:
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 month"))
- $update = true;
- break;
- case 4:
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 week"))
- $update = true;
- break;
- case 3:
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
- $update = true;
- break;
- case 2:
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 12 hour"))
- $update = true;
- break;
- case 1:
- default:
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 hour"))
- $update = true;
- break;
- }
- if(!$update)
- continue;
- }
-
- logger("Polling ".$contact["network"]." ".$contact["id"]." ".$contact["nick"]." ".$contact["name"]);
-
- proc_run('php','include/onepoll.php',$contact['id']);
-
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
- }
- }