1<?php
2
3namespace dokuwiki\Action;
4
5use dokuwiki\Ui\Editor;
6
7/**
8 * Class Locked
9 *
10 * Show a locked screen when a page is locked
11 *
12 * @package dokuwiki\Action
13 */
14class Locked extends AbstractAction
15{
16    /** @inheritdoc */
17    public function minimumPermission()
18    {
19        return AUTH_READ;
20    }
21
22    /** @inheritdoc */
23    public function tplContent()
24    {
25        $this->showBanner();
26        (new Editor())->show();
27    }
28
29    /**
30     * Display error on locked pages
31     *
32     * @return void
33     * @author   Andreas Gohr <andi@splitbrain.org>
34     *
35     */
36    public function showBanner()
37    {
38        global $ID;
39        global $conf;
40        global $lang;
41        global $INFO;
42
43        $locktime = filemtime(wikiLockFN($ID));
44        $expire = dformat($locktime + $conf['locktime']);
45        $min = round(($conf['locktime'] - (time() - $locktime)) / 60);
46
47        // print intro
48        echo p_locale_xhtml('locked');
49
50        echo '<ul>';
51        echo '<li><div class="li"><strong>' . $lang['lockedby'] . '</strong> ' .
52            editorinfo($INFO['locked']) . '</div></li>';
53        echo '<li><div class="li"><strong>' . $lang['lockexpire'] . '</strong> ' .
54            $expire . ' (' . $min . ' min)</div></li>';
55        echo '</ul>' . DOKU_LF;
56    }
57}
58