File: PageDraft.php

package info (click to toggle)
dokuwiki 0.0.20220731.a-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 32,244 kB
  • sloc: php: 187,701; javascript: 5,931; sql: 1,204; sh: 672; xml: 384; perl: 216; makefile: 77
file content (55 lines) | stat: -rw-r--r-- 1,598 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php

namespace dokuwiki\Ui;

use dokuwiki\Draft;
use dokuwiki\Form\Form;

/**
 * DokuWiki Page Draft Interface
 *
 * @package dokuwiki\Ui
 */
class PageDraft extends Ui
{
    /**
     * Display the Page Draft Form
     * ask the user about how to handle an exisiting draft
     *
     * @author   Andreas Gohr <andi@splitbrain.org>
     *
     * @return void
     */
    public function show()
    {
        global $INFO;
        global $lang;

        $draft = new Draft($INFO['id'], $INFO['client']);
        $text  = $draft->getDraftText();

        // print intro
        print p_locale_xhtml('draft');

        // print difference
        (new PageDiff($INFO['id']))->compareWith($text)->preference('showIntro', false)->show();

        // create the draft form
        $form = new Form(['id' => 'dw__editform']);
        $form->addTagOpen('div')->addClass('no');
        $form->setHiddenField('id', $INFO['id']);
        $form->setHiddenField('date', $draft->getDraftDate());
        $form->setHiddenField('wikitext', $text);

        $form->addTagOpen('div')->id('draft__status');
        $form->addHTML($draft->getDraftMessage());
        $form->addTagClose('div');
        $form->addButton('do[recover]',  $lang['btn_recover'] )->attrs(['type' => 'submit', 'tabindex' => '1']);
        $form->addButton('do[draftdel]', $lang['btn_draftdel'])->attrs(['type' => 'submit', 'tabindex' => '2']);
        $form->addButton('do[show]',     $lang['btn_cancel']  )->attrs(['type' => 'submit', 'tabindex' => '3']);
        $form->addTagClose('div');

        print $form->toHTML('Draft');
    }

}