do zot_finger/import_xchan on zid requests so we get the info cached locally

This commit is contained in:
friendica 2012-12-06 20:05:42 -08:00
parent 2bb3369ae2
commit a0a8cde201
2 changed files with 11 additions and 42 deletions

View File

@ -1,60 +1,30 @@
<?php <?php
require_once("boot.php"); require_once('include/cli_startup.php');
require_once('include/Scrape.php'); require_once('include/zot.php');
require_once('include/socgraph.php');
function gprobe_run($argv, $argc){ function gprobe_run($argv, $argc){
global $a, $db;
if(is_null($a)) { cli_startup();
$a = new App;
}
if(is_null($db)) { $a = get_app();
@include(".htconfig.php");
require_once("dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
require_once('include/session.php');
require_once('include/datetime.php');
load_config('config');
load_config('system');
$a->set_baseurl(get_config('system','baseurl'));
load_hooks();
if($argc != 2) if($argc != 2)
return; return;
$url = hex2bin($argv[1]); $url = hex2bin($argv[1]);
$r = q("select * from gcontact where nurl = '%s' limit 1", $r = q("select * from xchan where xchan_addr = '%s' limit 1",
dbesc(normalise_link($url)) dbesc(normalise_link($url))
); );
if(! count($r)) { if(! $r) {
$x = zot_finger($url,null);
$arr = probe_url($url); if($x) {
if(count($arr) && x($arr,'network') && $arr['network'] === NETWORK_DFRN) { $j = json_decode($x,true);
q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`) $y = import_xchan($j);
values ( '%s', '%s', '%s', '%s') ",
dbesc($arr['name']),
dbesc($arr['url']),
dbesc(normalise_link($arr['url'])),
dbesc($arr['photo'])
);
} }
$r = q("select * from gcontact where nurl = '%s' limit 1",
dbesc(normalise_link($url))
);
} }
if(count($r))
poco_load(0,0,$r[0]['id'], str_replace('/channel/','/poco/',$r[0]['url']));
return; return;
} }

View File

@ -871,7 +871,6 @@ function delete_imported_item($sender,$item,$uid) {
function process_mail_delivery($sender,$arr,$deliveries) { function process_mail_delivery($sender,$arr,$deliveries) {
foreach($deliveries as $d) { foreach($deliveries as $d) {
$r = q("select * from channel where channel_hash = '%s' limit 1", $r = q("select * from channel where channel_hash = '%s' limit 1",
dbesc($d['hash']) dbesc($d['hash'])