1*60a48169SSatoshi Sahara<?php 2*60a48169SSatoshi Sahara 3*60a48169SSatoshi Saharanamespace dokuwiki\Ui; 4*60a48169SSatoshi Sahara 5*60a48169SSatoshi Saharause dokuwiki\Extension\Event; 6*60a48169SSatoshi Sahara 7*60a48169SSatoshi Sahara/** 8*60a48169SSatoshi Sahara * DokuWiki Conflict Insterface 9*60a48169SSatoshi Sahara * 10*60a48169SSatoshi Sahara * @package dokuwiki\Ui 11*60a48169SSatoshi Sahara */ 12*60a48169SSatoshi Saharaclass PageView extends Ui 13*60a48169SSatoshi Sahara{ 14*60a48169SSatoshi Sahara /** 15*60a48169SSatoshi Sahara * Show a wiki page 16*60a48169SSatoshi Sahara * 17*60a48169SSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 18*60a48169SSatoshi Sahara * 19*60a48169SSatoshi Sahara * @triggers HTML_SHOWREV_OUTPUT 20*60a48169SSatoshi Sahara * @param null|string $txt wiki text or null for showing $ID 21*60a48169SSatoshi Sahara * @return void 22*60a48169SSatoshi Sahara */ 23*60a48169SSatoshi Sahara public function show($txt = null) 24*60a48169SSatoshi Sahara { 25*60a48169SSatoshi Sahara global $ID; 26*60a48169SSatoshi Sahara global $REV; 27*60a48169SSatoshi Sahara global $HIGH; 28*60a48169SSatoshi Sahara global $INFO; 29*60a48169SSatoshi Sahara global $DATE_AT; 30*60a48169SSatoshi Sahara 31*60a48169SSatoshi Sahara //disable section editing for old revisions or in preview 32*60a48169SSatoshi Sahara if ($txt || $REV) { 33*60a48169SSatoshi Sahara $secedit = false; 34*60a48169SSatoshi Sahara } else { 35*60a48169SSatoshi Sahara $secedit = true; 36*60a48169SSatoshi Sahara } 37*60a48169SSatoshi Sahara 38*60a48169SSatoshi Sahara if (!is_null($txt)) { 39*60a48169SSatoshi Sahara //PreviewHeader 40*60a48169SSatoshi Sahara echo '<br id="scroll__here" />'; 41*60a48169SSatoshi Sahara 42*60a48169SSatoshi Sahara // print intro for preview 43*60a48169SSatoshi Sahara echo p_locale_xhtml('preview'); 44*60a48169SSatoshi Sahara echo '<div class="preview"><div class="pad">'; 45*60a48169SSatoshi Sahara $html = html_secedit(p_render('xhtml', p_get_instructions($txt), $info), $secedit); 46*60a48169SSatoshi Sahara if ($INFO['prependTOC']) $html = tpl_toc(true) . $html; 47*60a48169SSatoshi Sahara echo $html; 48*60a48169SSatoshi Sahara echo '<div class="clearer"></div>'; 49*60a48169SSatoshi Sahara echo '</div></div>'; 50*60a48169SSatoshi Sahara 51*60a48169SSatoshi Sahara } else { 52*60a48169SSatoshi Sahara if ($REV || $DATE_AT) { 53*60a48169SSatoshi Sahara // print intro for old revisions 54*60a48169SSatoshi Sahara $data = array('rev' => &$REV, 'date_at' => &$DATE_AT); 55*60a48169SSatoshi Sahara Event::createAndTrigger('HTML_SHOWREV_OUTPUT', $data, [$this, 'showrev']); 56*60a48169SSatoshi Sahara } 57*60a48169SSatoshi Sahara $html = p_wiki_xhtml($ID, $REV, true, $DATE_AT); 58*60a48169SSatoshi Sahara $html = html_secedit($html, $secedit); 59*60a48169SSatoshi Sahara if ($INFO['prependTOC']) $html = tpl_toc(true) . $html; 60*60a48169SSatoshi Sahara $html = html_hilight($html, $HIGH); 61*60a48169SSatoshi Sahara echo $html; 62*60a48169SSatoshi Sahara } 63*60a48169SSatoshi Sahara } 64*60a48169SSatoshi Sahara 65*60a48169SSatoshi Sahara /** 66*60a48169SSatoshi Sahara * Show a revision warning 67*60a48169SSatoshi Sahara * 68*60a48169SSatoshi Sahara * @author Szymon Olewniczak <dokuwiki@imz.re> 69*60a48169SSatoshi Sahara */ 70*60a48169SSatoshi Sahara public function showrev() 71*60a48169SSatoshi Sahara { 72*60a48169SSatoshi Sahara print p_locale_xhtml('showrev'); 73*60a48169SSatoshi Sahara } 74*60a48169SSatoshi Sahara 75*60a48169SSatoshi Sahara 76*60a48169SSatoshi Sahara} 77