1f1dcc217SSatoshi Sahara<?php 2f1dcc217SSatoshi Sahara 3f1dcc217SSatoshi Saharanamespace dokuwiki\Ui; 4f1dcc217SSatoshi Sahara 5f1dcc217SSatoshi Saharause dokuwiki\Form\Form; 6f1dcc217SSatoshi Sahara 7f1dcc217SSatoshi Sahara/** 8f1dcc217SSatoshi Sahara * DokuWiki Page Conflict Interface 9f1dcc217SSatoshi Sahara * 10f1dcc217SSatoshi Sahara * @package dokuwiki\Ui 11f1dcc217SSatoshi Sahara */ 12f1dcc217SSatoshi Saharaclass PageConflict extends Ui 13f1dcc217SSatoshi Sahara{ 14f1dcc217SSatoshi Sahara protected $text; 15f1dcc217SSatoshi Sahara protected $summary; 16f1dcc217SSatoshi Sahara 17f1dcc217SSatoshi Sahara /** 18f1dcc217SSatoshi Sahara * PageConflict Ui constructor 19f1dcc217SSatoshi Sahara * 20f1dcc217SSatoshi Sahara * @param string $text wiki text 21f1dcc217SSatoshi Sahara * @param string $summary edit summary 22f1dcc217SSatoshi Sahara */ 23f1dcc217SSatoshi Sahara public function __construct($text = '', $summary = '') 24f1dcc217SSatoshi Sahara { 25f1dcc217SSatoshi Sahara $this->text = $text; 26f1dcc217SSatoshi Sahara $this->summary = $summary; 27f1dcc217SSatoshi Sahara } 28f1dcc217SSatoshi Sahara 29f1dcc217SSatoshi Sahara /** 30f1dcc217SSatoshi Sahara * Show conflict form to ask whether save anyway or cancel the page edits 31f1dcc217SSatoshi Sahara * 32e2d055f5SAndreas Gohr * @return void 33f1dcc217SSatoshi Sahara * @author Andreas Gohr <andi@splitbrain.org> 34f1dcc217SSatoshi Sahara * 35f1dcc217SSatoshi Sahara */ 36f1dcc217SSatoshi Sahara public function show() 37f1dcc217SSatoshi Sahara { 38edb50e6aSSatoshi Sahara global $INFO; 39f1dcc217SSatoshi Sahara global $lang; 40f1dcc217SSatoshi Sahara 41f1dcc217SSatoshi Sahara // print intro 42*26dfc232SAndreas Gohr echo p_locale_xhtml('conflict'); 43f1dcc217SSatoshi Sahara 44f1dcc217SSatoshi Sahara // create the form 45f1dcc217SSatoshi Sahara $form = new Form(['id' => 'dw__editform']); 46f1dcc217SSatoshi Sahara $form->addTagOpen('div')->addClass('no'); 47edb50e6aSSatoshi Sahara $form->setHiddenField('id', $INFO['id']); 48f1dcc217SSatoshi Sahara $form->setHiddenField('wikitext', $this->text); 49f1dcc217SSatoshi Sahara $form->setHiddenField('summary', $this->summary); 50f1dcc217SSatoshi Sahara 51f1dcc217SSatoshi Sahara $form->addButton('do[save]', $lang['btn_save'])->attrs(['type' => 'submit', 'accesskey' => 's']); 52f1dcc217SSatoshi Sahara $form->addButton('do[cancel]', $lang['btn_cancel'])->attrs(['type' => 'submit']); 53f1dcc217SSatoshi Sahara $form->addTagClose('div'); 54f1dcc217SSatoshi Sahara 55*26dfc232SAndreas Gohr echo $form->toHTML('Conflict'); 56f1dcc217SSatoshi Sahara 57*26dfc232SAndreas Gohr echo '<br /><br /><br /><br />'; 58f1dcc217SSatoshi Sahara 59e4c881bdSSatoshi Sahara // print difference 60e4c881bdSSatoshi Sahara (new PageDiff($INFO['id']))->compareWith($this->text)->preference('showIntro', false)->show(); 61f1dcc217SSatoshi Sahara } 62f1dcc217SSatoshi Sahara} 63