49 parent::checkCanExecute( $user );
51 $oldimage = $this->
getRequest()->getText(
'oldimage' );
52 if ( strlen( $oldimage ) < 16
53 || strpos( $oldimage,
'/' ) !==
false
54 || strpos( $oldimage,
'\\' ) !==
false
56 throw new ErrorPageError(
'internalerror',
'unexpected', [
'oldimage', $oldimage ] );
64 if ( !$this->oldFile->exists() ) {
74 $form->setWrapperLegendMsg(
'filerevert-legend' );
75 $form->setSubmitTextMsg(
'filerevert-submit' );
76 $form->addHiddenField(
'oldimage', $this->
getRequest()->getText(
'oldimage' ) );
77 $form->setTokenSalt( [
'revert', $this->
getTitle()->getPrefixedDBkey() ] );
83 $timestamp = $this->oldFile->getTimestamp();
87 $userDate =
$lang->userDate( $timestamp, $user );
88 $userTime =
$lang->userTime( $timestamp, $user );
89 $siteTs = MWTimestamp::getLocalInstance( $timestamp );
90 $ts = $siteTs->format(
'YmdHis' );
93 $tzMsg = $siteTs->getTimezoneMessage()->inContentLanguage()->text();
98 'vertical-label' =>
true,
100 'default' => $this->
msg(
'filerevert-intro',
101 $this->
getTitle()->getText(), $userDate, $userTime,
103 $this->page->getFile()->getArchiveUrl( $this->getRequest()->getText(
'oldimage' ) ),
109 'label-message' =>
'filerevert-comment',
110 'default' => $this->
msg(
'filerevert-defaultcomment', $siteDate, $siteTime,
111 $tzMsg )->inContentLanguage()->text()
119 $old = $this->
getRequest()->getText(
'oldimage' );
120 $localFile = $this->page->getFile();
123 $source = $localFile->getArchiveVirtualUrl( $old );
124 $comment = $data[
'comment'];
127 return Status::newFatal(
'filerevert-identical' );
131 return $localFile->upload(
143 $timestamp = $this->oldFile->getTimestamp();
146 $userDate =
$lang->userDate( $timestamp, $user );
147 $userTime =
$lang->userTime( $timestamp, $user );
149 $this->
getOutput()->addWikiMsg(
'filerevert-success', $this->
getTitle()->getText(),
150 $userDate, $userTime,
151 wfExpandUrl( $this->page->getFile()->getArchiveUrl( $this->getRequest()->getText(
'oldimage' ) ),
158 return $this->
msg(
'filerevert', $this->
getTitle()->getText() );
162 return OutputPage::buildBacklinkSubtitle( $this->
getTitle() );
wfExpandUrl( $url, $defaultProto=PROTO_CURRENT)
Expand a potentially local URL to a fully-qualified URL.
getTitle()
Shortcut to get the Title object from the page.
getOutput()
Get the OutputPage being used for this instance.
msg( $key)
Get a Message object with context set Parameters are the same as wfMessage()
getUser()
Shortcut to get the User being used for this instance.
useTransactionalTimeLimit()
Call wfTransactionalTimeLimit() if this request was POSTed.
getLanguage()
Shortcut to get the user Language being used for this instance.
getRequest()
Get the WebRequest being used for this instance.
An error page which can definitely be safely rendered using the OutputPage.
Class to represent a file in the oldimage table.
static newFromArchiveName( $title, $repo, $archiveName)
static singleton()
Get a RepoGroup instance.
File reversion user interface.
usesOOUI()
Whether the form should use OOUI.
onSubmit( $data)
Process the form on POST submission.
getFormFields()
Get an HTMLForm descriptor array.
getPageTitle()
Returns the name that goes in the <h1> page title.
alterForm(HTMLForm $form)
Play with the HTMLForm if you need to more substantially.
getDescription()
Returns the description that goes below the <h1> tag.
onSuccess()
Do something exciting on successful processing of the form.
doesWrites()
Indicates whether this action may perform database writes.
getName()
Return the name of the action this object responds to.
getRestriction()
Get the permission required to perform this action.
checkCanExecute(User $user)
Checks if the given user (identified by an object) can perform this action.
The User object encapsulates all of the user-specific settings (user_id, name, rights,...
this class mediates it Skin Encapsulates a look and feel for the wiki All of the functions that render HTML and make choices about how to render it are here and are called from various other places when and is meant to be subclassed with other skins that may override some of its functions The User object contains a reference to a and so rather than having a global skin object we just rely on the global User and get the skin with $wgUser and also has some character encoding functions and other locale stuff The current user interface language is instantiated as and the local content language as $wgContLang
if(!isset( $args[0])) $lang