display event countdowns on start page

This commit is contained in:
msquare 2016-09-29 09:25:06 +02:00
parent 50bf7feff0
commit 6685beb397
3 changed files with 78 additions and 25 deletions

View File

@ -306,10 +306,20 @@ function guest_login() {
} }
} }
return page_with_title(login_title(), [ $event_config = EventConfig();
if ($event_config === false) {
engelsystem_error("Unable to load event config.");
}
return page([
div('col-md-12', [
msg(), msg(),
div('row', [ div('row', [
div('col-md-6', [ div('col-md-4', [
EventConfig_countdown_page($event_config)
]),
div('col-md-4', [
heading(login_title(), 2),
form([ form([
form_text('nick', _("Nick"), $nick), form_text('nick', _("Nick"), $nick),
form_password('password', _("Password")), form_password('password', _("Password")),
@ -320,16 +330,17 @@ function guest_login() {
info(_("Please note: You have to activate cookies!"), true) info(_("Please note: You have to activate cookies!"), true)
]) ])
]), ]),
div('col-md-6', [ div('col-md-4', [
'<h2>' . register_title() . '</h2>', heading(register_title(), 2),
get_register_hint(), get_register_hint(),
'<h2>' . _("What can I do?") . '</h2>', heading(_("What can I do?"), 2),
'<p>' . _("Please read about the jobs you can do to help us.") . '</p>', '<p>' . _("Please read about the jobs you can do to help us.") . '</p>',
buttons([ buttons([
button(page_link_to('angeltypes') . '&action=about', _("Teams/Job description") . ' &raquo;') button(page_link_to('angeltypes') . '&action=about', _("Teams/Job description") . ' &raquo;')
]) ])
]) ])
]) ])
])
]); ]);
} }

View File

@ -1,12 +1,49 @@
<?php <?php
/**
* Shows basic event infos and countdowns.
* @param EventConfig $event_config The event configuration
*/
function EventConfig_countdown_page($event_config) {
if ($event_config == null) {
return info(_("We got no information about the event right now."), true);
}
$elements = [];
if ($event_config['event_name'] != null) {
$elements[] = heading($event_config['event_name'], 2);
}
if ($event_config['event_start_date'] != null && $event_config['event_end_date'] != null) {
$elements[] = sprintf(_("from %s to %s"), date("Y-m-d", $event_config['event_start_date']), date("Y-m-d", $event_config['event_end_date']));
}
if ($event_config['buildup_start_date'] != null && time() < $event_config['buildup_start_date']) {
$elements[] = '<h2 class="moment-countdown" data-timestamp="' . $event_config['buildup_start_date'] . '">' . _("Buildup starts in %c") . '</h2>';
}
if ($event_config['event_start_date'] != null && time() < $event_config['event_start_date']) {
$elements[] = '<h2 class="moment-countdown" data-timestamp="' . $event_config['event_start_date'] . '">' . _("Event starts in %c") . '</h2>';
}
if ($event_config['event_end_date'] != null && time() < $event_config['event_end_date'] && ($event_config['event_start_date'] == null || time() > $event_config['event_start_date'])) {
$elements[] = '<h2 class="moment-countdown" data-timestamp="' . $event_config['event_end_date'] . '">' . _("Event ends in %c") . '</h2>';
}
if ($event_config['teardown_end_date'] != null && time() < $event_config['teardown_end_date'] && ($event_config['event_start_date'] == null || time() > $event_config['event_start_date'])) {
$elements[] = '<h2 class="moment-countdown" data-timestamp="' . $event_config['teardown_end_date'] . '">' . _("Teardown ends in %c") . '</h2>';
}
return join("", $elements);
}
/** /**
* Converts event name and start+end date into a line of text. * Converts event name and start+end date into a line of text.
*/ */
function EventConfig_info() { function EventConfig_info($event_config) {
$event_config = EventConfig(); if ($event_config == null) {
if ($event_config === false) { return "";
engelsystem_error("Unable to load event config.");
} }
// Event name, start+end date are set // Event name, start+end date are set

View File

@ -155,6 +155,11 @@ if (isset($_REQUEST['p']) && preg_match("/^[a-z0-9_]*$/i", $_REQUEST['p']) && (i
} }
} }
$event_config = EventConfig();
if ($event_config === false) {
engelsystem_error("Unable to load event config.");
}
echo template_render('../templates/layout.html', array( echo template_render('../templates/layout.html', array(
'theme' => isset($user) ? $user['color'] : $default_theme, 'theme' => isset($user) ? $user['color'] : $default_theme,
'title' => $title, 'title' => $title,
@ -165,7 +170,7 @@ echo template_render('../templates/layout.html', array(
'faq_url' => $faq_url, 'faq_url' => $faq_url,
'contact_email' => $contact_email, 'contact_email' => $contact_email,
'locale' => locale(), 'locale' => locale(),
'event_info' => EventConfig_info() . '<br />' 'event_info' => EventConfig_info($event_config) . '<br />'
)); ));
?> ?>