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 { 25f0049a83SSatoshi Sahara $this->showBanner(); 2625dd2a2fSSatoshi Sahara (new Ui\Editor)->show(); 27f21dad39SAndreas Gohr } 28f21dad39SAndreas Gohr 29f0049a83SSatoshi Sahara /** 30f0049a83SSatoshi Sahara * Display error on locked pages 31f0049a83SSatoshi Sahara * 32f0049a83SSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 33f0049a83SSatoshi Sahara * 34f0049a83SSatoshi Sahara * @return void 35f0049a83SSatoshi Sahara */ 36*a215faf2SSatoshi Sahara public function showBanner() 37f0049a83SSatoshi Sahara { 38f0049a83SSatoshi Sahara global $ID; 39f0049a83SSatoshi Sahara global $conf; 40f0049a83SSatoshi Sahara global $lang; 41f0049a83SSatoshi Sahara global $INFO; 42f0049a83SSatoshi Sahara 43f0049a83SSatoshi Sahara $locktime = filemtime(wikiLockFN($ID)); 44f0049a83SSatoshi Sahara $expire = dformat($locktime + $conf['locktime']); 45f0049a83SSatoshi Sahara $min = round(($conf['locktime'] - (time() - $locktime) )/60); 46f0049a83SSatoshi Sahara 47f0049a83SSatoshi Sahara // print intro 48f0049a83SSatoshi Sahara print p_locale_xhtml('locked'); 49f0049a83SSatoshi Sahara 50f0049a83SSatoshi Sahara print '<ul>'; 51f0049a83SSatoshi Sahara print '<li><div class="li"><strong>'.$lang['lockedby'].'</strong> '.editorinfo($INFO['locked']).'</div></li>'; 52f0049a83SSatoshi Sahara print '<li><div class="li"><strong>'.$lang['lockexpire'].'</strong> '.$expire.' ('.$min.' min)</div></li>'; 53f0049a83SSatoshi Sahara print '</ul>'.DOKU_LF; 54f0049a83SSatoshi Sahara } 55f0049a83SSatoshi Sahara 56f21dad39SAndreas Gohr} 57