$this->checkPermissions( $user );
// Fetch the file (usually a no-op)
- /** @var $status Status */
+ /** @var Status $status */
$status = $this->mUpload->fetchFile();
if ( !$status->isGood() ) {
$this->dieStatus( $status );
$this->mParams['filekey'], $this->mParams['filename'], !$this->mParams['async']
);
} elseif ( isset( $this->mParams['file'] ) ) {
+ // Can't async upload directly from a POSTed file, we'd have to
+ // stash the file and then queue the publish job. The user should
+ // just submit the two API queries to perform those two steps.
+ if ( $this->mParams['async'] ) {
+ $this->dieWithError( 'apierror-cannot-async-upload-file' );
+ }
+
$this->mUpload = new UploadFromFile();
$this->mUpload->initialize(
$this->mParams['filename'],
$this->mParams['text'] = $this->mParams['comment'];
}
- /** @var $file LocalFile */
+ /** @var LocalFile $file */
$file = $this->mUpload->getLocalFile();
// For preferences mode, we want to watch if 'watchdefault' is set,
$result['result'] = 'Poll';
$result['stage'] = 'queued';
} else {
- /** @var $status Status */
+ /** @var Status $status */
$status = $this->mUpload->performUpload( $this->mParams['comment'],
$this->mParams['text'], $watch, $this->getUser(), $this->mParams['tags'] );
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Upload';
+ return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Upload';
}
}