From 9e217d87c095170460a8580d5215ddf7cbe639f4 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Sun, 2 Sep 2018 02:09:56 +0200 Subject: Template refactoring to use twig --- src/Renderer/Twig/Extensions/Globals.php | 40 +++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'src/Renderer/Twig/Extensions/Globals.php') diff --git a/src/Renderer/Twig/Extensions/Globals.php b/src/Renderer/Twig/Extensions/Globals.php index f9bffbc8..1a4df42c 100644 --- a/src/Renderer/Twig/Extensions/Globals.php +++ b/src/Renderer/Twig/Extensions/Globals.php @@ -2,6 +2,7 @@ namespace Engelsystem\Renderer\Twig\Extensions; +use Carbon\Carbon; use Twig_Extension as TwigExtension; use Twig_Extension_GlobalsInterface as GlobalsInterface; @@ -16,8 +17,45 @@ class Globals extends TwigExtension implements GlobalsInterface { global $user; + $eventConfig = $this->getEventConfig(); + if (empty($eventConfig)) { + $eventConfig = []; + } + return [ - 'user' => isset($user) ? $user : [], + 'user' => isset($user) ? $user : [], + 'event_config' => $this->filterEventConfig($eventConfig), ]; } + + /** + * @return array + * @codeCoverageIgnore + */ + protected function getEventConfig() + { + return EventConfig(); + } + + /** + * @param $eventConfig + * @return mixed + */ + protected function filterEventConfig($eventConfig) + { + array_walk($eventConfig, function (&$value, $key) { + if (is_null($value) || !in_array($key, [ + 'buildup_start_date', + 'event_start_date', + 'event_end_date', + 'teardown_end_date', + ])) { + return; + } + + $value = Carbon::createFromTimestamp($value); + }); + + return $eventConfig; + } } -- cgit v1.2.3-54-g00ecf