/apps/myApp/profile.php?user="> * * '* but can also use complex database queries to generate the webfinger result **/ // calculate the documentroot // modified version of the one in lib/base.php that takes the .well-known symlink into account /*$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']); $SERVERROOT=str_replace("\\",'/',dirname(dirname(dirname(dirname(__FILE__))))); $SUBURI=substr(realpath($_SERVER["SCRIPT_FILENAME"]),strlen($SERVERROOT)); $WEBROOT=substr($SUBURI,0,-34); */ $userName = ''; $hostName = ''; $request = strip_tags(urldecode($_GET['q'])); if($_GET['q']) { $reqParts = explode('@', $request); if(count($reqParts)==2) { $userName = $reqParts[0]; $hostName = $reqParts[1]; } } if(substr($userName, 0, 5) == 'acct:') { $userName = substr($userName, 5); } if($userName == "") { $id = ""; } else { $id = $userName . '@' . $hostName; } if(isset($_SERVER['HTTPS'])) { $baseAddress = 'https://'; } else { $baseAddress = 'http://'; } $baseAddress .= $_SERVER['SERVER_NAME'].OC::$WEBROOT; if(empty($id)) { header("HTTP/1.0 400 Bad Request"); } define('WF_USER', $userName); define('WF_ID', $id); define('WF_BASEURL', $baseAddress); echo "{\"links\":["; $apps = OC_Appconfig::getApps(); foreach($apps as $app) { if(OCP\App::isEnabled($app)) { if(is_file(OC::$APPSROOT . '/apps/' . $app . '/appinfo/webfinger.php')) { require($app . '/appinfo/webfinger.php'); } } } echo "]}"; ?>