1f21dad39SAndreas Gohr<?php 2f21dad39SAndreas Gohr 3f21dad39SAndreas Gohrnamespace dokuwiki\Action; 4f21dad39SAndreas Gohr 56723156fSAndreas Gohruse dokuwiki\Ui\Editor; 66723156fSAndreas Gohruse dokuwiki\Ui\PageView; 76723156fSAndreas Gohruse dokuwiki\Draft; 825dd2a2fSSatoshi Saharause dokuwiki\Ui; 925dd2a2fSSatoshi Sahara 10ab583a1bSAndreas Gohr/** 11ab583a1bSAndreas Gohr * Class Preview 12ab583a1bSAndreas Gohr * 13ab583a1bSAndreas Gohr * preview during editing 14ab583a1bSAndreas Gohr * 15ab583a1bSAndreas Gohr * @package dokuwiki\Action 16ab583a1bSAndreas Gohr */ 1725dd2a2fSSatoshi Saharaclass Preview extends Edit 1825dd2a2fSSatoshi Sahara{ 19ab583a1bSAndreas Gohr /** @inheritdoc */ 2025dd2a2fSSatoshi Sahara public function preProcess() 2125dd2a2fSSatoshi Sahara { 220f9e19d9SAndreas Gohr header('X-XSS-Protection: 0'); 230f9e19d9SAndreas Gohr $this->savedraft(); 24f21dad39SAndreas Gohr parent::preProcess(); 25f21dad39SAndreas Gohr } 26f21dad39SAndreas Gohr 27ab583a1bSAndreas Gohr /** @inheritdoc */ 2825dd2a2fSSatoshi Sahara public function tplContent() 2925dd2a2fSSatoshi Sahara { 30f21dad39SAndreas Gohr global $TEXT; 31*73022918SAndreas Gohr (new Editor())->show(); 326723156fSAndreas Gohr (new PageView($TEXT))->show(); 33f21dad39SAndreas Gohr } 34f21dad39SAndreas Gohr 350f9e19d9SAndreas Gohr /** 360f9e19d9SAndreas Gohr * Saves a draft on preview 370f9e19d9SAndreas Gohr */ 3825dd2a2fSSatoshi Sahara protected function savedraft() 3925dd2a2fSSatoshi Sahara { 400aabe6f8SMichael Große global $ID, $INFO; 416723156fSAndreas Gohr $draft = new Draft($ID, $INFO['client']); 420aabe6f8SMichael Große if (!$draft->saveDraft()) { 430aabe6f8SMichael Große $errors = $draft->getErrors(); 440aabe6f8SMichael Große foreach ($errors as $error) { 450aabe6f8SMichael Große msg(hsc($error), -1); 460aabe6f8SMichael Große } 470f9e19d9SAndreas Gohr } 480f9e19d9SAndreas Gohr } 49f21dad39SAndreas Gohr} 50