xref: /dokuwiki/inc/Action/Preview.php (revision 25dd2a2f8414f14b5ac77197ceb29a21b9c4749e)
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