1f21dad39SAndreas Gohr<?php 2f21dad39SAndreas Gohr 3f21dad39SAndreas Gohrnamespace dokuwiki\Action; 4f21dad39SAndreas Gohr 5*25dd2a2fSSatoshi Saharause dokuwiki\Ui; 6*25dd2a2fSSatoshi Sahara 7ab583a1bSAndreas Gohr/** 8ab583a1bSAndreas Gohr * Class Preview 9ab583a1bSAndreas Gohr * 10ab583a1bSAndreas Gohr * preview during editing 11ab583a1bSAndreas Gohr * 12ab583a1bSAndreas Gohr * @package dokuwiki\Action 13ab583a1bSAndreas Gohr */ 14*25dd2a2fSSatoshi Saharaclass Preview extends Edit 15*25dd2a2fSSatoshi Sahara{ 16ab583a1bSAndreas Gohr /** @inheritdoc */ 17*25dd2a2fSSatoshi Sahara public function preProcess() 18*25dd2a2fSSatoshi Sahara { 190f9e19d9SAndreas Gohr header('X-XSS-Protection: 0'); 200f9e19d9SAndreas Gohr $this->savedraft(); 21f21dad39SAndreas Gohr parent::preProcess(); 22f21dad39SAndreas Gohr } 23f21dad39SAndreas Gohr 24ab583a1bSAndreas Gohr /** @inheritdoc */ 25*25dd2a2fSSatoshi Sahara public function tplContent() 26*25dd2a2fSSatoshi Sahara { 27f21dad39SAndreas Gohr global $TEXT; 28*25dd2a2fSSatoshi Sahara (new Ui\Editor)->show(); 29f21dad39SAndreas Gohr html_show($TEXT); 30f21dad39SAndreas Gohr } 31f21dad39SAndreas Gohr 320f9e19d9SAndreas Gohr /** 330f9e19d9SAndreas Gohr * Saves a draft on preview 340f9e19d9SAndreas Gohr */ 35*25dd2a2fSSatoshi Sahara protected function savedraft() 36*25dd2a2fSSatoshi Sahara { 370aabe6f8SMichael Große global $ID, $INFO; 380aabe6f8SMichael Große $draft = new \dokuwiki\Draft($ID, $INFO['client']); 390aabe6f8SMichael Große if (!$draft->saveDraft()) { 400aabe6f8SMichael Große $errors = $draft->getErrors(); 410aabe6f8SMichael Große foreach ($errors as $error) { 420aabe6f8SMichael Große msg(hsc($error), -1); 430aabe6f8SMichael Große } 440f9e19d9SAndreas Gohr } 450f9e19d9SAndreas Gohr } 460f9e19d9SAndreas Gohr 47f21dad39SAndreas Gohr} 48