xref: /plugin/today/action.php (revision 6fbe93960df735a9983404b33ba7853b0dcd1fd0)
1*6fbe9396SMichael Große<?php
2*6fbe9396SMichael Große
3*6fbe9396SMichael Großedeclare(strict_types=1);
4*6fbe9396SMichael Große
5*6fbe9396SMichael Großeuse dokuwiki\Extension\ActionPlugin;
6*6fbe9396SMichael Großeuse dokuwiki\Extension\Event;
7*6fbe9396SMichael Großeuse dokuwiki\Extension\EventHandler;
8*6fbe9396SMichael Große
9*6fbe9396SMichael Großefinal class action_plugin_today extends ActionPlugin
10*6fbe9396SMichael Große{
11*6fbe9396SMichael Große    public function register(EventHandler $controller): void
12*6fbe9396SMichael Große    {
13*6fbe9396SMichael Große        $controller->register_hook('ACTION_ACT_PREPROCESS', 'BEFORE', $this, 'redirectToTodayPage');
14*6fbe9396SMichael Große    }
15*6fbe9396SMichael Große
16*6fbe9396SMichael Große    public function redirectToTodayPage(Event $event, ?array $param): void
17*6fbe9396SMichael Große    {
18*6fbe9396SMichael Große        if ($event->data === 'today') {
19*6fbe9396SMichael Große            global $INPUT;
20*6fbe9396SMichael Große            $namespace = $INPUT->str('namespace') ?? '';
21*6fbe9396SMichael Große            $today = date('Y-m-d');
22*6fbe9396SMichael Große            send_redirect(wl("{$namespace}:{$today}"));
23*6fbe9396SMichael Große        }
24*6fbe9396SMichael Große    }
25*6fbe9396SMichael Große}
26