49 parent::__construct( $main, $action );
63 $sourceUrl = $this->file->getArchiveVirtualUrl( $this->archiveName );
64 $status = $this->file->upload(
66 $this->params[
'comment'],
67 $this->params[
'comment'],
74 if ( $status->isGood() ) {
75 $result = [
'result' =>
'Success' ];
78 'result' =>
'Failure',
92 $title = Title::makeTitleSafe(
NS_FILE, $this->params[
'filename'] );
98 $localRepo = $this->repoGroup->getLocalRepo();
101 $this->file = $localRepo->newFile(
$title );
102 if ( !$this->file->exists() ) {
107 $this->archiveName = $this->params[
'archivename'];
108 $oldFile = $localRepo->newFromArchiveName(
$title, $this->archiveName );
109 if ( !$oldFile->exists() ) {
144 'action=filerevert&filename=Wiki.png&comment=Revert&' .
145 'archivename=20110305152740!Wiki.png&token=123ABC'
146 =>
'apihelp-filerevert-example-revert',
wfEscapeWikiText( $text)
Escapes the given text so that it may be output using addWikiText() without any linking,...
This abstract class implements many basic API functions, and is the base of all API classes.
dieWithError( $msg, $code=null, $data=null, $httpCode=0)
Abort execution with an error.
getResult()
Get the result object.
extractRequestParams( $options=[])
Using getAllowedParams(), this function makes an array of the values provided by the user,...
checkTitleUserPermissions( $pageIdentity, $actions, array $options=[])
Helper function for permission-denied errors.
getModuleName()
Get the name of the module being executed by this instance.
useTransactionalTimeLimit()
Call wfTransactionalTimeLimit() if this request was POSTed.
getAllowedParams()
Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (ar...
isWriteMode()
Indicates whether this module requires write mode.
validateParameters()
Validate the user parameters and set $this->archiveName and $this->file.
__construct(ApiMain $main, $action, RepoGroup $repoGroup)
execute()
Evaluates the parameters, performs the requested query, and sets up the result.
mustBePosted()
Indicates whether this module must be called with a POST request.
needsToken()
Returns the token type this module requires in order to execute.
getExamplesMessages()
Returns usage examples for this module.
This is the main API class, used for both external and internal processing.
Class to represent a local file in the wiki's own database.
Prioritized list of file repositories.