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