unset($db_host, $db_user, $db_pass, $db_data);
};
- require_once('include/pidfile.php');
require_once('include/Scrape.php');
+ require_once("include/socgraph.php");
load_config('config');
load_config('system');
return;
}
- $lockpath = get_lockpath();
- if ($lockpath != '') {
- $pidfile = new pidfile($lockpath, 'update_gcontact'.$contact_id);
- if ($pidfile->is_already_running()) {
- logger("update_gcontact: Already running for contact ".$contact_id);
- if ($pidfile->running_time() > 9*60) {
- $pidfile->kill();
- logger("killed stale process");
- }
- exit;
- }
- }
+ // Don't check this stuff if the function is called by the poller
+ if (App::callstack() != "poller_run")
+ if (App::is_already_running('update_gcontact'.$contact_id, '', 540))
+ return;
$r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id));
if (!$r)
return;
+ if (!in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
+ return;
+
$data = probe_url($r[0]["url"]);
- if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
+ if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
+ if ($r[0]["server_url"] != "")
+ poco_check_server($r[0]["server_url"], $r[0]["network"]);
+
+ q("UPDATE `gcontact` SET `last_failure` = '%s' WHERE `id` = %d",
+ dbesc(datetime_convert()), intval($contact_id));
return;
+ }
if (($data["name"] == "") AND ($r[0]['name'] != ""))
$data["name"] = $r[0]['name'];