X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fupdate_gcontact.php;h=97c825352eb26919930ea92c99727077875389d9;hb=33b61ab26283deccb9ecf7f7b28fce7aa27ef2f1;hp=05cfba96c114bd2be90fef899ad33ac5d8d09cd6;hpb=0f41f35041bb4f240d359a1ffed91f8bc4eb89a4;p=friendica.git diff --git a/include/update_gcontact.php b/include/update_gcontact.php index 05cfba96c1..97c825352e 100644 --- a/include/update_gcontact.php +++ b/include/update_gcontact.php @@ -1,91 +1,55 @@ set_baseurl(get_config('system','url')); - - load_hooks(); + require_once 'include/probe.php'; + require_once 'include/socgraph.php'; logger('update_gcontact: start'); - $manual_id = 0; - $generation = 0; - $hub_update = false; - $force = false; - $restart = false; - - if(($argc > 1) && (intval($argv[1]))) + if (($argc > 1) && (intval($argv[1]))) { $contact_id = intval($argv[1]); + } - if(($argc > 2) && ($argv[2] == "force")) - $force = true; - - if(!$contact_id) { + if (!$contact_id) { logger('update_gcontact: no contact'); 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; - } - } - $r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id)); - if (!$r) + if (!dbm::is_result($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'] != "")) + if (($data["name"] == "") && ($r[0]['name'] != "")) $data["name"] = $r[0]['name']; - if (($data["nick"] == "") AND ($r[0]['nick'] != "")) + if (($data["nick"] == "") && ($r[0]['nick'] != "")) $data["nick"] = $r[0]['nick']; - if (($data["addr"] == "") AND ($r[0]['addr'] != "")) + if (($data["addr"] == "") && ($r[0]['addr'] != "")) $data["addr"] = $r[0]['addr']; - if (($data["photo"] == "") AND ($r[0]['photo'] != "")) + if (($data["photo"] == "") && ($r[0]['photo'] != "")) $data["photo"] = $r[0]['photo']; @@ -99,16 +63,17 @@ function update_gcontact_run(&$argv, &$argc){ ); q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s' - WHERE `uid` = 0 AND `nurl` = '%s'", + WHERE `uid` = 0 AND `addr` = '' AND `nurl` = '%s'", dbesc($data["name"]), dbesc($data["nick"]), dbesc($data["addr"]), dbesc($data["photo"]), dbesc(normalise_link($data["url"])) ); -} -if (array_search(__file__,get_included_files())===0){ - update_gcontact_run($_SERVER["argv"],$_SERVER["argc"]); - killme(); + q("UPDATE `contact` SET `addr` = '%s' + WHERE `uid` != 0 AND `addr` = '' AND `nurl` = '%s'", + dbesc($data["addr"]), + dbesc(normalise_link($data["url"])) + ); }