xref: /plugin/today/action.php (revision c2de205a397cb4b27109538cf7248712fb4aa6e0)
16fbe9396SMichael Große<?php
26fbe9396SMichael Große
36fbe9396SMichael Großedeclare(strict_types=1);
46fbe9396SMichael Große
56fbe9396SMichael Großeuse dokuwiki\Extension\ActionPlugin;
66fbe9396SMichael Großeuse dokuwiki\Extension\Event;
76fbe9396SMichael Großeuse dokuwiki\Extension\EventHandler;
86fbe9396SMichael Große
96fbe9396SMichael Großefinal class action_plugin_today extends ActionPlugin
106fbe9396SMichael Große{
116fbe9396SMichael Große    public function register(EventHandler $controller): void
126fbe9396SMichael Große    {
136fbe9396SMichael Große        $controller->register_hook('ACTION_ACT_PREPROCESS', 'BEFORE', $this, 'redirectToTodayPage');
146fbe9396SMichael Große    }
156fbe9396SMichael Große
166fbe9396SMichael Große    public function redirectToTodayPage(Event $event, ?array $param): void
176fbe9396SMichael Große    {
186fbe9396SMichael Große        if ($event->data === 'today') {
196fbe9396SMichael Große            global $INPUT;
20*c2de205aSMichael Große            $namespace = $INPUT->has('namespace') ? $INPUT->str('namespace') : '';
21*c2de205aSMichael Große            $format = $INPUT->has('format') ? $INPUT->str('format') : 'Y-m-d';
22*c2de205aSMichael Große            $today = date($format);
236fbe9396SMichael Große            send_redirect(wl("{$namespace}:{$today}"));
246fbe9396SMichael Große        }
256fbe9396SMichael Große    }
266fbe9396SMichael Große}
27