MediaWiki  master
PurgeAction.php
Go to the documentation of this file.
1 <?php
28 class PurgeAction extends FormAction {
29 
30  private $redirectParams;
31 
32  public function getName() {
33  return 'purge';
34  }
35 
36  public function getDescription() {
37  return '';
38  }
39 
40  public function onSubmit( $data ) {
41  return $this->getWikiPage()->doPurge();
42  }
43 
44  public function show() {
45  $this->setHeaders();
46 
47  // This will throw exceptions if there's a problem
48  $this->checkCanExecute( $this->getUser() );
49 
50  $user = $this->getUser();
51 
52  if ( $user->pingLimiter( 'purge' ) ) {
53  // TODO: Display actionthrottledtext
54  return;
55  }
56 
57  if ( $this->getRequest()->wasPosted() ) {
58  $this->redirectParams = wfArrayToCgi( array_diff_key(
59  $this->getRequest()->getQueryValues(),
60  [ 'title' => null, 'action' => null ]
61  ) );
62  if ( $this->onSubmit( [] ) ) {
63  $this->onSuccess();
64  }
65  } else {
66  $this->redirectParams = $this->getRequest()->getVal( 'redirectparams', '' );
67  $form = $this->getForm();
68  if ( $form->show() ) {
69  $this->onSuccess();
70  }
71  }
72  }
73 
74  protected function usesOOUI() {
75  return true;
76  }
77 
78  protected function getFormFields() {
79  return [
80  'intro' => [
81  'type' => 'info',
82  'raw' => true,
83  'default' => $this->msg( 'confirm-purge-top' )->parse()
84  ]
85  ];
86  }
87 
88  protected function alterForm( HTMLForm $form ) {
89  $form->setWrapperLegendMsg( 'confirm-purge-title' );
90  $form->setSubmitTextMsg( 'confirm_purge_button' );
91  }
92 
93  protected function postText() {
94  return $this->msg( 'confirm-purge-bottom' )->parse();
95  }
96 
97  public function onSuccess() {
98  $this->getOutput()->redirect( $this->getTitle()->getFullURL( $this->redirectParams ) );
99  }
100 
101  public function doesWrites() {
102  return true;
103  }
104 }
PurgeAction\postText
postText()
Definition: PurgeAction.php:93
Action\setHeaders
setHeaders()
Set output headers for noindexing etc.
Definition: Action.php:395
Action\getRequest
getRequest()
Get the WebRequest being used for this instance.
Definition: Action.php:146
PurgeAction
User-requested page cache purging.
Definition: PurgeAction.php:28
FormAction
An action which shows a form and does something based on the input from the form.
Definition: FormAction.php:30
PurgeAction\show
show()
The basic pattern for actions is to display some sort of HTMLForm UI, maybe with some stuff underneat...
Definition: PurgeAction.php:44
PurgeAction\getName
getName()
Return the name of the action this object responds to.
Definition: PurgeAction.php:32
Action\checkCanExecute
checkCanExecute(User $user)
Checks if the given user (identified by an object) can perform this action.
Definition: Action.php:329
PurgeAction\usesOOUI
usesOOUI()
Whether the form should use OOUI.
Definition: PurgeAction.php:74
Action\getWikiPage
getWikiPage()
Get a WikiPage object.
Definition: Action.php:195
FormAction\getForm
getForm()
Get the HTMLForm to control behavior.
Definition: FormAction.php:81
PurgeAction\doesWrites
doesWrites()
Definition: PurgeAction.php:101
Action\getUser
getUser()
Shortcut to get the User being used for this instance.
Definition: Action.php:166
Action\getTitle
getTitle()
Shortcut to get the Title object from the page.
Definition: Action.php:216
PurgeAction\getFormFields
getFormFields()
Get an HTMLForm descriptor array.
Definition: PurgeAction.php:78
PurgeAction\onSubmit
onSubmit( $data)
Process the form on POST submission.
Definition: PurgeAction.php:40
HTMLForm\setSubmitTextMsg
setSubmitTextMsg( $msg)
Set the text for the submit button to a message.
Definition: HTMLForm.php:1420
Action\msg
msg( $key,... $params)
Get a Message object with context set Parameters are the same as wfMessage()
Definition: Action.php:228
HTMLForm\setWrapperLegendMsg
setWrapperLegendMsg( $msg)
Prompt the whole form to be wrapped in a "<fieldset>", with this message as its "<legend>" element.
Definition: HTMLForm.php:1625
PurgeAction\$redirectParams
$redirectParams
Definition: PurgeAction.php:30
PurgeAction\onSuccess
onSuccess()
Do something exciting on successful processing of the form.
Definition: PurgeAction.php:97
Action\getOutput
getOutput()
Get the OutputPage being used for this instance.
Definition: Action.php:156
PurgeAction\alterForm
alterForm(HTMLForm $form)
Play with the HTMLForm if you need to more substantially.
Definition: PurgeAction.php:88
PurgeAction\getDescription
getDescription()
Returns the description that goes below the <h1> tag.
Definition: PurgeAction.php:36
HTMLForm
Object handling generic submission, CSRF protection, layout and other logic for UI forms in a reusabl...
Definition: HTMLForm.php:143
wfArrayToCgi
wfArrayToCgi( $array1, $array2=null, $prefix='')
This function takes one or two arrays as input, and returns a CGI-style string, e....
Definition: GlobalFunctions.php:330