actually create notice file for 'unconfigured/unmanaged domain' and redirect it for potential dynamic contents (e.g. file extension php) to work properly

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2023-11-26 15:19:49 +01:00
parent 2e87633ef7
commit 6a1e7cc539
2 changed files with 8 additions and 3 deletions

View File

@@ -263,6 +263,7 @@ class FileDir
* @param string $servername
*
* @return string
* @throws Exception
*/
public static function getUnknownDomainTemplate(string $servername = "")
{
@@ -276,7 +277,9 @@ class FileDir
'SERVERNAME' => $servername,
];
$tpl_content = PhpHelper::replaceVariables($template['value'], $replace_arr);
$tpl_ext = $template['file_extension'];
} else {
$tpl_ext = 'html';
$unconfiguredPath = FileDir::makeCorrectFile(Froxlor::getInstallDir() . '/templates/misc/unconfigured/index.html');
if (file_exists($unconfiguredPath)) {
$tpl_content = file_get_contents($unconfiguredPath);
@@ -284,7 +287,9 @@ class FileDir
$tpl_content = lng('admin.templates.unconfigured_content_fallback');
}
}
return $tpl_content;
$redirect_file = FileDir::makeCorrectFile(Froxlor::getInstallDir().'/notice.'.$tpl_ext);
file_put_contents($redirect_file, $tpl_content);
return basename($redirect_file);
}
/**

View File

@@ -121,8 +121,8 @@ if ($_SERVER['SERVER_NAME'] != Settings::Get('system.hostname') &&
(!empty(Settings::Get('system.froxloraliases')) && !in_array($_SERVER['SERVER_NAME'], array_map('trim', explode(',', Settings::Get('system.froxloraliases')))))
)) {
// not the froxlor system-hostname, show info page for domains not configured in froxlor
$output = FileDir::getUnknownDomainTemplate($_SERVER['SERVER_NAME']);
echo $output;
$redirect_file = FileDir::getUnknownDomainTemplate($_SERVER['SERVER_NAME']);
header('Location: '.$redirect_file);
die();
}