Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5959446
PurgeAction.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
PurgeAction.php
View Options
<?php
/**
* User-requested page cache purging.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*
* @file
* @ingroup Actions
*/
use
MediaWiki\HTMLForm\HTMLForm
;
use
MediaWiki\Permissions\PermissionStatus
;
use
MediaWiki\Status\Status
;
/**
* User-requested page cache purging
*
* @ingroup Actions
*/
class
PurgeAction
extends
FormAction
{
/** @var string */
private
$redirectParams
;
public
function
getName
()
{
return
'purge'
;
}
public
function
getDescription
()
{
return
''
;
}
public
function
onSubmit
(
$data
)
{
$authority
=
$this
->
getAuthority
();
$page
=
$this
->
getWikiPage
();
$status
=
PermissionStatus
::
newEmpty
();
if
(
!
$authority
->
authorizeAction
(
'purge'
,
$status
)
)
{
return
Status
::
wrap
(
$status
);
}
return
$page
->
doPurge
();
}
public
function
show
()
{
$this
->
setHeaders
();
// This will throw exceptions if there's a problem
$this
->
checkCanExecute
(
$this
->
getUser
()
);
if
(
$this
->
getRequest
()->
wasPosted
()
)
{
$this
->
redirectParams
=
wfArrayToCgi
(
array_diff_key
(
$this
->
getRequest
()->
getQueryValues
(),
[
'title'
=>
null
,
'action'
=>
null
]
)
);
$result
=
$this
->
onSubmit
(
[]
);
if
(
$result
===
true
)
{
$this
->
onSuccess
();
}
elseif
(
$result
instanceof
Status
)
{
if
(
$result
->
isOK
()
)
{
$this
->
onSuccess
();
}
else
{
$this
->
getOutput
()->
addHTML
(
$result
->
getHTML
()
);
}
}
}
else
{
$this
->
redirectParams
=
$this
->
getRequest
()->
getVal
(
'redirectparams'
,
''
);
$form
=
$this
->
getForm
();
if
(
$form
->
show
()
)
{
$this
->
onSuccess
();
}
}
}
protected
function
usesOOUI
()
{
return
true
;
}
protected
function
getFormFields
()
{
return
[
'intro'
=>
[
'type'
=>
'info'
,
'raw'
=>
true
,
'default'
=>
$this
->
msg
(
'confirm-purge-top'
)->
parse
()
]
];
}
protected
function
alterForm
(
HTMLForm
$form
)
{
$form
->
setWrapperLegendMsg
(
'confirm-purge-title'
);
$form
->
setSubmitTextMsg
(
'confirm_purge_button'
);
}
protected
function
postText
()
{
return
$this
->
msg
(
'confirm-purge-bottom'
)->
parse
();
}
public
function
onSuccess
()
{
$this
->
getOutput
()->
redirect
(
$this
->
getTitle
()->
getFullURL
(
$this
->
redirectParams
)
);
}
public
function
doesWrites
()
{
return
true
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Oct 3, 06:31 (2 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
72/56/7de3bf3a11d74af8a85f1daa8c9a
Default Alt Text
PurgeAction.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment