Merge "Simplify HTMLTitleTextField::validate"
[lhc/web/wiklou.git] / includes / actions / McrRestoreAction.php
1 <?php
2 /**
3 * Temporary action for restoring multi-content revisions
4 * @file
5 * @ingroup Actions
6 */
7
8 /**
9 * Temporary action for restoring multi-content revisions.
10 *
11 * This is intended to go away when real MCR support is added to EditPage and
12 * the standard revert-by-edit behavior can be implemented there instead.
13 *
14 * @ingroup Actions
15 * @since 1.32
16 * @deprecated since 1.32
17 */
18 class McrRestoreAction extends McrUndoAction {
19
20 public function getName() {
21 return 'mcrrestore';
22 }
23
24 public function getDescription() {
25 return '';
26 }
27
28 protected function initFromParameters() {
29 $curRev = $this->page->getRevision();
30 if ( !$curRev ) {
31 throw new ErrorPageError( 'mcrundofailed', 'nopagetext' );
32 }
33 $this->curRev = $curRev->getRevisionRecord();
34 $this->cur = $this->getRequest()->getInt( 'cur', $this->curRev->getId() );
35
36 $this->undo = $this->cur;
37 $this->undoafter = $this->getRequest()->getInt( 'restore' );
38
39 if ( $this->undo == 0 || $this->undoafter == 0 ) {
40 throw new ErrorPageError( 'mcrundofailed', 'mcrundo-missingparam' );
41 }
42 }
43
44 protected function addStatePropagationFields( HTMLForm $form ) {
45 $form->addHiddenField( 'restore', $this->undoafter );
46 $form->addHiddenField( 'cur', $this->curRev->getId() );
47 }
48
49 protected function alterForm( HTMLForm $form ) {
50 parent::alterForm( $form );
51
52 $form->setWrapperLegendMsg( 'confirm-mcrrestore-title' );
53 }
54
55 }