page->doPurge(); } /** * purge is slightly weird because it can be either formed or formless depending * on user permissions */ public function show() { $this->setHeaders(); // This will throw exceptions if there's a problem $this->checkCanExecute( $this->getUser() ); if ( $this->getUser()->isAllowed( 'purge' ) ) { $this->redirectParams = wfArrayToCgi( array_diff_key( $this->getRequest()->getQueryValues(), array( 'title' => null, 'action' => null ) ) ); if ( $this->onSubmit( array() ) ) { $this->onSuccess(); } } else { $this->redirectParams = $this->getRequest()->getVal( 'redirectparams', '' ); $form = $this->getForm(); if ( $form->show() ) { $this->onSuccess(); } } } protected function alterForm( HTMLForm $form ) { $form->setSubmitTextMsg( 'confirm_purge_button' ); } protected function preText() { return $this->msg( 'confirm-purge-top' )->parse(); } protected function postText() { return $this->msg( 'confirm-purge-bottom' )->parse(); } public function onSuccess() { $this->getOutput()->redirect( $this->getTitle()->getFullURL( $this->redirectParams ) ); } }