xref: /dokuwiki/inc/Action/Locked.php (revision 73022918a947abda7eee4d7d2302ffd28fdb78e0)
1f21dad39SAndreas Gohr<?php
2f21dad39SAndreas Gohr
3f21dad39SAndreas Gohrnamespace dokuwiki\Action;
4f21dad39SAndreas Gohr
56723156fSAndreas Gohruse dokuwiki\Ui\Editor;
625dd2a2fSSatoshi Saharause dokuwiki\Ui;
725dd2a2fSSatoshi Sahara
8ab583a1bSAndreas Gohr/**
9ab583a1bSAndreas Gohr * Class Locked
10ab583a1bSAndreas Gohr *
11ab583a1bSAndreas Gohr * Show a locked screen when a page is locked
12ab583a1bSAndreas Gohr *
13ab583a1bSAndreas Gohr * @package dokuwiki\Action
14ab583a1bSAndreas Gohr */
1525dd2a2fSSatoshi Saharaclass Locked extends AbstractAction
1625dd2a2fSSatoshi Sahara{
17f21dad39SAndreas Gohr    /** @inheritdoc */
1825dd2a2fSSatoshi Sahara    public function minimumPermission()
1925dd2a2fSSatoshi Sahara    {
20f21dad39SAndreas Gohr        return AUTH_READ;
21f21dad39SAndreas Gohr    }
22f21dad39SAndreas Gohr
23ab583a1bSAndreas Gohr    /** @inheritdoc */
2425dd2a2fSSatoshi Sahara    public function tplContent()
2525dd2a2fSSatoshi Sahara    {
26f0049a83SSatoshi Sahara        $this->showBanner();
27*73022918SAndreas Gohr        (new Editor())->show();
28f21dad39SAndreas Gohr    }
29f21dad39SAndreas Gohr
30f0049a83SSatoshi Sahara    /**
31f0049a83SSatoshi Sahara     * Display error on locked pages
32f0049a83SSatoshi Sahara     *
33f0049a83SSatoshi Sahara     * @author   Andreas Gohr <andi@splitbrain.org>
34f0049a83SSatoshi Sahara     *
35f0049a83SSatoshi Sahara     * @return void
36f0049a83SSatoshi Sahara     */
37a215faf2SSatoshi Sahara    public function showBanner()
38f0049a83SSatoshi Sahara    {
39f0049a83SSatoshi Sahara        global $ID;
40f0049a83SSatoshi Sahara        global $conf;
41f0049a83SSatoshi Sahara        global $lang;
42f0049a83SSatoshi Sahara        global $INFO;
43f0049a83SSatoshi Sahara
44f0049a83SSatoshi Sahara        $locktime = filemtime(wikiLockFN($ID));
45f0049a83SSatoshi Sahara        $expire = dformat($locktime + $conf['locktime']);
46f0049a83SSatoshi Sahara        $min    = round(($conf['locktime'] - (time() - $locktime) )/60);
47f0049a83SSatoshi Sahara
48f0049a83SSatoshi Sahara        // print intro
49f0049a83SSatoshi Sahara        print p_locale_xhtml('locked');
50f0049a83SSatoshi Sahara
51f0049a83SSatoshi Sahara        print '<ul>';
52f0049a83SSatoshi Sahara        print '<li><div class="li"><strong>'.$lang['lockedby'].'</strong> '.editorinfo($INFO['locked']).'</div></li>';
53f0049a83SSatoshi Sahara        print '<li><div class="li"><strong>'.$lang['lockexpire'].'</strong> '.$expire.' ('.$min.' min)</div></li>';
54f0049a83SSatoshi Sahara        print '</ul>'.DOKU_LF;
55f0049a83SSatoshi Sahara    }
56f21dad39SAndreas Gohr}
57