create static host-meta instead of symlink and .htaccess
This commit is contained in:
parent
34a0128ddf
commit
5161758921
1 changed files with 28 additions and 29 deletions
|
@ -4,33 +4,32 @@ $thisAppDir = dirname($appInfoDir);
|
|||
$appsDir = dirname($thisAppDir);
|
||||
$ownCloudDir = dirname($appsDir);
|
||||
$docRoot = $_SERVER['DOCUMENT_ROOT'];
|
||||
if(file_exists($docRoot . '/.well-known/host-meta')) {
|
||||
OC_Log::write(
|
||||
'user_webfinger',
|
||||
$docRoot . "/.well-known already exists; installation aborted",
|
||||
OC_Log::ERROR
|
||||
);
|
||||
} else {
|
||||
if(@symlink($thisAppDir, $docRoot . '/.well-known')) {
|
||||
OC_Log::write(
|
||||
'user_webfinger',
|
||||
"Webfinger symlink created at " . $docRoot . "/.well-known",
|
||||
OC_Log::INFO
|
||||
);
|
||||
} else {
|
||||
if(@symlink($thisAppDir, $ownCloudDir . '/.well-known')) {
|
||||
OC_Log::write(
|
||||
'user_webfinger',
|
||||
"Couldn't create webfinger symlink in document root, linked to " . $ownCloudDir . "/.well-known instead",
|
||||
OC_Log::WARN
|
||||
);
|
||||
} else {
|
||||
OC_Log::write(
|
||||
'user_webfinger',
|
||||
"Couldn't create webfinger symlink, either check write permissions or create the link manually!",
|
||||
OC_Log::ERROR
|
||||
);
|
||||
}
|
||||
}
|
||||
try {
|
||||
$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));
|
||||
}
|
||||
?>
|
||||
$serverName = $_SERVER['SERVER_NAME'];
|
||||
$lrddTmpl = 'http';
|
||||
if(isset($_SERVER['HTTPS'])) {
|
||||
$lrddTmpl .= 's';
|
||||
}
|
||||
$lrddTmpl .= '://' . $serverName . $webRoot . '/apps/user_webfinger/webfinger.php?q={uri}';
|
||||
$hostMetaPath = $docRoot . '/.well-known/host-meta';
|
||||
$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>";
|
||||
@mkdir(dirname($hostMetaPath));
|
||||
$hostMeta = fopen($hostMetaPath, 'w');
|
||||
if(!$hostMeta) {
|
||||
die("Could not open " . $hostMetaPath . " for writing, please check permissions!");
|
||||
}
|
||||
if(!fwrite($hostMeta, $hostMetaContents, strlen($hostMetaContents))) {
|
||||
die("Could not write to " . $hostMetaPath . ", please check permissions!");
|
||||
}
|
||||
fclose($hostMeta);
|
||||
|
|
Loading…
Reference in a new issue