MediaWiki  1.34.0
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 requiresUnblock() {
37  return false;
38  }
39 
40  public function getDescription() {
41  return '';
42  }
43 
44  public function onSubmit( $data ) {
45  return $this->page->doPurge();
46  }
47 
48  public function show() {
49  $this->setHeaders();
50 
51  // This will throw exceptions if there's a problem
52  $this->checkCanExecute( $this->getUser() );
53 
54  $user = $this->getUser();
55 
56  if ( $user->pingLimiter( 'purge' ) ) {
57  // TODO: Display actionthrottledtext
58  return;
59  }
60 
61  if ( $this->getRequest()->wasPosted() ) {
62  $this->redirectParams = wfArrayToCgi( array_diff_key(
63  $this->getRequest()->getQueryValues(),
64  [ 'title' => null, 'action' => null ]
65  ) );
66  if ( $this->onSubmit( [] ) ) {
67  $this->onSuccess();
68  }
69  } else {
70  $this->redirectParams = $this->getRequest()->getVal( 'redirectparams', '' );
71  $form = $this->getForm();
72  if ( $form->show() ) {
73  $this->onSuccess();
74  }
75  }
76  }
77 
78  protected function usesOOUI() {
79  return true;
80  }
81 
82  protected function getFormFields() {
83  return [
84  'intro' => [
85  'type' => 'info',
86  'vertical-label' => true,
87  'raw' => true,
88  'default' => $this->msg( 'confirm-purge-top' )->parse()
89  ]
90  ];
91  }
92 
93  protected function alterForm( HTMLForm $form ) {
94  $form->setWrapperLegendMsg( 'confirm-purge-title' );
95  $form->setSubmitTextMsg( 'confirm_purge_button' );
96  }
97 
98  protected function postText() {
99  return $this->msg( 'confirm-purge-bottom' )->parse();
100  }
101 
102  public function onSuccess() {
103  $this->getOutput()->redirect( $this->getTitle()->getFullURL( $this->redirectParams ) );
104  }
105 
106  public function doesWrites() {
107  return true;
108  }
109 }
PurgeAction\postText
postText()
Definition: PurgeAction.php:98
Action\setHeaders
setHeaders()
Set output headers for noindexing etc.
Definition: Action.php:360
Action\getRequest
getRequest()
Get the WebRequest being used for this instance.
Definition: Action.php:198
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:28
PurgeAction\show
show()
The basic pattern for actions is to display some sort of HTMLForm UI, maybe with some stuff underneat...
Definition: PurgeAction.php:48
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:308
PurgeAction\requiresUnblock
requiresUnblock()
Whether this action can still be executed by a blocked user.
Definition: PurgeAction.php:36
PurgeAction\usesOOUI
usesOOUI()
Whether the form should use OOUI.
Definition: PurgeAction.php:78
FormAction\getForm
getForm()
Get the HTMLForm to control behavior.
Definition: FormAction.php:73
PurgeAction\doesWrites
doesWrites()
Indicates whether this action may perform database writes.
Definition: PurgeAction.php:106
Action\getUser
getUser()
Shortcut to get the User being used for this instance.
Definition: Action.php:218
Action\getTitle
getTitle()
Shortcut to get the Title object from the page.
Definition: Action.php:247
PurgeAction\getFormFields
getFormFields()
Get an HTMLForm descriptor array.
Definition: PurgeAction.php:82
PurgeAction\onSubmit
onSubmit( $data)
Process the form on POST submission.
Definition: PurgeAction.php:44
HTMLForm\setSubmitTextMsg
setSubmitTextMsg( $msg)
Set the text for the submit button to a message.
Definition: HTMLForm.php:1388
Action\msg
msg( $key,... $params)
Get a Message object with context set Parameters are the same as wfMessage()
Definition: Action.php:259
HTMLForm\setWrapperLegendMsg
setWrapperLegendMsg( $msg)
Prompt the whole form to be wrapped in a "<fieldset>", with this message as its "<legend>" element.
Definition: HTMLForm.php:1575
PurgeAction\$redirectParams
$redirectParams
Definition: PurgeAction.php:30
PurgeAction\onSuccess
onSuccess()
Do something exciting on successful processing of the form.
Definition: PurgeAction.php:102
Action\getOutput
getOutput()
Get the OutputPage being used for this instance.
Definition: Action.php:208
PurgeAction\alterForm
alterForm(HTMLForm $form)
Play with the HTMLForm if you need to more substantially.
Definition: PurgeAction.php:93
PurgeAction\getDescription
getDescription()
Returns the description that goes below the <h1> tag.
Definition: PurgeAction.php:40
HTMLForm
Object handling generic submission, CSRF protection, layout and other logic for UI forms in a reusabl...
Definition: HTMLForm.php:131
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:347