aboutsummaryrefslogtreecommitdiffstats
path: root/mod/webfinger.php
blob: e357673385ba65989f53db7a79a65807426856d7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php



function webfinger_content(&$a) {


	$o .= '<h3>Webfinger Diagnostic</h3>';

	$o .= '<form action="webfinger" method="get">';
	$o .= 'Lookup address: <input type="text" style="width: 250px;" name="addr" value="' . $_GET['addr'] .'" />';
	$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) {
			$res = webfinger_rfc7033($addr,true);
			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;
				}
			}
		}


		$o .= '<pre>';
		$o .= str_replace("\n",'<br />',print_r($res,true));
		$o .= '</pre>';
	}
	return $o;
}