xref: /dokuwiki/inc/Ui/PageDraft.php (revision e2d055f5c6617b7cc57c19fa727b968f3689e13c)
1f1dcc217SSatoshi Sahara<?php
2f1dcc217SSatoshi Sahara
3f1dcc217SSatoshi Saharanamespace dokuwiki\Ui;
4f1dcc217SSatoshi Sahara
579a2d784SGerrit Uitslaguse dokuwiki\Draft;
6f1dcc217SSatoshi Saharause dokuwiki\Form\Form;
7f1dcc217SSatoshi Sahara
8f1dcc217SSatoshi Sahara/**
9f1dcc217SSatoshi Sahara * DokuWiki Page Draft Interface
10f1dcc217SSatoshi Sahara *
11f1dcc217SSatoshi Sahara * @package dokuwiki\Ui
12f1dcc217SSatoshi Sahara */
13f1dcc217SSatoshi Saharaclass PageDraft extends Ui
14f1dcc217SSatoshi Sahara{
15f1dcc217SSatoshi Sahara    /**
16f1dcc217SSatoshi Sahara     * Display the Page Draft Form
17f1dcc217SSatoshi Sahara     * ask the user about how to handle an exisiting draft
18f1dcc217SSatoshi Sahara     *
19*e2d055f5SAndreas Gohr     * @return void
20f1dcc217SSatoshi Sahara     * @author   Andreas Gohr <andi@splitbrain.org>
21f1dcc217SSatoshi Sahara     *
22f1dcc217SSatoshi Sahara     */
23f1dcc217SSatoshi Sahara    public function show()
24f1dcc217SSatoshi Sahara    {
25f1dcc217SSatoshi Sahara        global $INFO;
26f1dcc217SSatoshi Sahara        global $lang;
27f1dcc217SSatoshi Sahara
2879a2d784SGerrit Uitslag        $draft = new Draft($INFO['id'], $INFO['client']);
29f1dcc217SSatoshi Sahara        $text = $draft->getDraftText();
30f1dcc217SSatoshi Sahara
31f1dcc217SSatoshi Sahara        // print intro
32f1dcc217SSatoshi Sahara        print p_locale_xhtml('draft');
33f1dcc217SSatoshi Sahara
34e4c881bdSSatoshi Sahara        // print difference
35e4c881bdSSatoshi Sahara        (new PageDiff($INFO['id']))->compareWith($text)->preference('showIntro', false)->show();
36f1dcc217SSatoshi Sahara
37f1dcc217SSatoshi Sahara        // create the draft form
38f1dcc217SSatoshi Sahara        $form = new Form(['id' => 'dw__editform']);
39f1dcc217SSatoshi Sahara        $form->addTagOpen('div')->addClass('no');
40edb50e6aSSatoshi Sahara        $form->setHiddenField('id', $INFO['id']);
41f1dcc217SSatoshi Sahara        $form->setHiddenField('date', $draft->getDraftDate());
42f1dcc217SSatoshi Sahara        $form->setHiddenField('wikitext', $text);
43f1dcc217SSatoshi Sahara
44f1dcc217SSatoshi Sahara        $form->addTagOpen('div')->id('draft__status');
45f1dcc217SSatoshi Sahara        $form->addHTML($draft->getDraftMessage());
46f1dcc217SSatoshi Sahara        $form->addTagClose('div');
47f1dcc217SSatoshi Sahara        $form->addButton('do[recover]', $lang['btn_recover'])->attrs(['type' => 'submit', 'tabindex' => '1']);
48f1dcc217SSatoshi Sahara        $form->addButton('do[draftdel]', $lang['btn_draftdel'])->attrs(['type' => 'submit', 'tabindex' => '2']);
49f1dcc217SSatoshi Sahara        $form->addButton('do[show]', $lang['btn_cancel'])->attrs(['type' => 'submit', 'tabindex' => '3']);
50f1dcc217SSatoshi Sahara        $form->addTagClose('div');
51f1dcc217SSatoshi Sahara
52c6977b3aSSatoshi Sahara        print $form->toHTML('Draft');
53f1dcc217SSatoshi Sahara    }
54f1dcc217SSatoshi Sahara
55f1dcc217SSatoshi Sahara}
56