<?php namespace dokuwiki\Ui; use dokuwiki\Form\Form; /** * DokuWiki Page Conflict Interface * * @package dokuwiki\Ui */ class PageConflict extends Ui { protected $text; protected $summary; /** * PageConflict Ui constructor * * @param string $text wiki text * @param string $summary edit summary */ public function __construct($text = '', $summary = '') { $this->text = $text; $this->summary = $summary; } /** * Show conflict form to ask whether save anyway or cancel the page edits * * @return void * @author Andreas Gohr <andi@splitbrain.org> * */ public function show() { global $INFO; global $lang; // print intro echo p_locale_xhtml('conflict'); // create the form $form = new Form(['id' => 'dw__editform']); $form->addTagOpen('div')->addClass('no'); $form->setHiddenField('id', $INFO['id']); $form->setHiddenField('wikitext', $this->text); $form->setHiddenField('summary', $this->summary); $form->addButton('do[save]', $lang['btn_save'])->attrs(['type' => 'submit', 'accesskey' => 's']); $form->addButton('do[cancel]', $lang['btn_cancel'])->attrs(['type' => 'submit']); $form->addTagClose('div'); echo $form->toHTML('Conflict'); echo '<br /><br /><br /><br />'; // print difference (new PageDiff($INFO['id']))->compareWith($this->text)->preference('showIntro', false)->show(); } }