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