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(); 2773022918SAndreas 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 49*26dfc232SAndreas Gohr echo p_locale_xhtml('locked'); 50f0049a83SSatoshi Sahara 51*26dfc232SAndreas Gohr echo '<ul>'; 52*26dfc232SAndreas Gohr echo '<li><div class="li"><strong>'.$lang['lockedby'].'</strong> '.editorinfo($INFO['locked']).'</div></li>'; 53*26dfc232SAndreas Gohr echo '<li><div class="li"><strong>'.$lang['lockexpire'].'</strong> '.$expire.' ('.$min.' min)</div></li>'; 54*26dfc232SAndreas Gohr echo '</ul>'.DOKU_LF; 55f0049a83SSatoshi Sahara } 56f21dad39SAndreas Gohr} 57