diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/webfinger.php | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/mod/webfinger.php b/mod/webfinger.php index 74bfc3ce5..e35767338 100644 --- a/mod/webfinger.php +++ b/mod/webfinger.php @@ -4,6 +4,7 @@ function webfinger_content(&$a) { + $o .= '<h3>Webfinger Diagnostic</h3>'; $o .= '<form action="webfinger" method="get">'; @@ -11,18 +12,34 @@ function webfinger_content(&$a) { $o .= '<input type="submit" name="submit" value="Submit" /></form>'; $o .= '<br /><br />'; - + + $old = false; if(x($_GET,'addr')) { $addr = trim($_GET['addr']); - if(strpos($addr,'@') !== false) { +// if(strpos($addr,'@') !== false) { $res = webfinger_rfc7033($addr,true); - if(! $res) + if(! $res) { $res = old_webfinger($addr); + $old = true; + } +// } +// else { +// if(function_exists('lrdd')) +// $res = lrdd($addr); +// } + + if($res && $old) { + foreach($res as $r) { + if($r['@attributes']['rel'] === 'http://microformats.org/profile/hcard') { + $hcard = unamp($r['@attributes']['href']); + require_once('library/HTML5/Parser.php'); + $res['vcard'] = scrape_vcard($hcard); + break; + } + } } - else { - if(function_exists('lrdd')) - $res = lrdd($addr); - } + + $o .= '<pre>'; $o .= str_replace("\n",'<br />',print_r($res,true)); $o .= '</pre>'; |