diff --git a/mod/home.php b/mod/home.php index beda739fdb..f3138d1867 100644 --- a/mod/home.php +++ b/mod/home.php @@ -24,8 +24,6 @@ function home_init(App $a) { if(! function_exists('home_content')) { function home_content(App $a) { - $o = ''; - if (x($_SESSION,'theme')) { unset($_SESSION['theme']); } @@ -33,21 +31,31 @@ function home_content(App $a) { unset($_SESSION['mobile-theme']); } - /// @TODO No absolute path used, maybe risky (security) - if (file_exists('home.html')) { - if (file_exists('home.css')) { + $customhome = False; + $defaultheader = '

'.((x($a->config,'sitename')) ? sprintf(t("Welcome to %s"), $a->config['sitename']) : "").'

'; + + $homefilepath = $a->basepath . '/home.html'; + $cssfilepath = $a->basepath . '/home.css'; + if (file_exists($homefilepath)) { + $customhome = $homefilepath; + if (file_exists($cssfilepath)) { $a->page['htmlhead'] .= ''; } + } - $o .= file_get_contents('home.html'); - } else { - $o .= '

'.((x($a->config,'sitename')) ? sprintf(t("Welcome to %s"), $a->config['sitename']) : "").'

'; - } + $login = Login::form($a->query_string, $a->config['register_policy'] == REGISTER_CLOSED ? 0 : 1); - $o .= Login::form($a->query_string, $a->config['register_policy'] == REGISTER_CLOSED ? 0 : 1); + $content = ''; + call_hooks("home_content",$content); - call_hooks("home_content",$o); + $tpl = get_markup_template('home.tpl'); + return replace_macros($tpl, [ + '$defaultheader' => $defaultheader, + '$customhome' => $customhome, + '$login' => $login, + '$content' => $content + ]); return $o; diff --git a/view/templates/home.tpl b/view/templates/home.tpl new file mode 100644 index 0000000000..6e50a75306 --- /dev/null +++ b/view/templates/home.tpl @@ -0,0 +1,14 @@ + +{{* custom content from hook will replace everything. *}} +{{if $content != '' }} + {{$content}} +{{else}} + + {{if $customhome != false }} + {{include file="$customhome"}} + {{else}} + {{$defaultheader}} + {{/if}} + + {{$login}} +{{/if}}