Files
Jump/jumpapp/classes/Pages/HomePage.php

50 lines
1.9 KiB
PHP
Raw Normal View History

2022-03-15 21:38:39 +00:00
<?php
namespace Jump\Pages;
class HomePage extends AbstractPage {
protected function render_header(): string {
$template = $this->mustache->loadTemplate('header');
$greeting = null;
if (!$this->config->parse_bool($this->config->get('showgreeting'))) {
$greeting = 'home';
}
2022-04-13 16:28:12 +01:00
$csrfsection = $this->session->getSection('csrf');
2022-03-15 21:38:39 +00:00
return $template->render([
2022-04-13 16:28:12 +01:00
'csrftoken' => $csrfsection->get('token'),
2022-03-15 21:38:39 +00:00
'greeting' => $greeting,
'noindex' => $this->config->parse_bool($this->config->get('noindex')),
'title' => $this->config->get('sitename'),
'owmapikey' => !!$this->config->get('owmapikey', false),
'metrictemp' => $this->config->parse_bool($this->config->get('metrictemp')),
'ampmclock' => $this->config->parse_bool($this->config->get('ampmclock', false)),
2022-03-15 21:38:39 +00:00
]);
}
protected function render_content(): string {
return $this->cache->load(cachename: 'templates/sites', callback: function() {
$sites = new \Jump\Sites($this->config, $this->cache);
$template = $this->mustache->loadTemplate('sites');
return $template->render([
'hassites' => !empty($sites->get_sites()),
'sites' => $sites->get_sites_by_tag('home'),
]);
});
}
protected function render_footer(): string {
return $this->cache->load(cachename: 'templates/sites', key: 'footer', callback: function() {
$sites = new \Jump\Sites(config: $this->config, cache: $this->cache);
$tags = $sites->get_tags_for_template();
$template = $this->mustache->loadTemplate('footer');
return $template->render([
'hastags' => !empty($tags),
'tags' => $tags,
'showclock' => $this->config->parse_bool($this->config->get('showclock'))
]);
});
}
}