]> source.dussan.org Git - nextcloud-server.git/commitdiff
move host-meta to JRD because I can't work out how to deal with ampersands in XRD
authorMichiel de Jong <michiel@unhosted.org>
Fri, 11 May 2012 10:00:31 +0000 (12:00 +0200)
committerMichiel de Jong <michiel@unhosted.org>
Fri, 11 May 2012 13:21:45 +0000 (15:21 +0200)
apps/user_webfinger/host-meta.php

index 30072a728b90af46996954649a217d7731369bcb..7a60a81a4aeb12b3edbef6d65ee2f1cb1bae24fa 100644 (file)
@@ -1,31 +1,25 @@
 <?php
 $hostMetaHeader = array(
        'Access-Control-Allow-Origin' => '*',
-       'Content-Type' => 'application/xml+xrd'
+       'Content-Type' => 'application/json+jrd'
 );
 $ownCloudDir = dirname($appsDir);
 $docRoot = $_SERVER['DOCUMENT_ROOT'];
 try {
-    $webRoot = substr(realpath($ownCloudDir), strlen(realpath($docRoot)));
+               $webRoot = substr(realpath($ownCloudDir), strlen(realpath($docRoot)));
 } catch(Exception $e) {
-    // some servers fail on realpath(), let's try it the unsecure way:
-    $webRoot = substr($ownCloudDir, strlen($docRoot));
+               // some servers fail on realpath(), let's try it the unsecure way:
+               $webRoot = substr($ownCloudDir, strlen($docRoot));
 }
 $serverName = $_SERVER['SERVER_NAME'];
 $lrddTmpl = 'http';
 if(isset($_SERVER['HTTPS'])) {
-    $lrddTmpl .= 's';
+               $lrddTmpl .= 's';
 }
 $lrddTmpl .= '://' . $serverName . $webRoot . '/public.php?service=webfinger&q={uri}';
 $hostMetaPath = $docRoot . '/.well-known/host-meta';
 $hostMetaDir = $docRoot . '/.well-known';
-$hostMetaContents = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<XRD xmlns=\"http://docs.oasis-open.org/ns/xri/xrd-1.0\" xmlns:hm=\"http://host-meta.net/xrd/1.0\">
-    <hm:Host xmlns=\"http://host-meta.net/xrd/1.0\">" . $serverName . "</hm:Host>
-    <Link rel=\"lrdd\" template=\"" . $lrddTmpl . "\">
-        <Title>Resource Descriptor</Title>
-    </Link>
-</XRD>";
+$hostMetaContents = "{\"links\":[{\"rel\":\"lrdd\",\"template\":\"http://mich.oc/public.php?service=webfinger&q={uri}\"}]}";
 foreach($hostMetaHeader as $header => $value) {
        header($header . ": " . $value);
 }