aboutsummaryrefslogtreecommitdiffstats
path: root/mod/webfinger.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/webfinger.php')
-rw-r--r--mod/webfinger.php31
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>';