X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiUpload.php;h=a283b5a215341eb91a4fac9bf044d4a67c70598b;hb=db920e6cf1d23638c2fece1bbeb9d17bdae6de10;hp=f8213740644c34fbd9e51d5909f71b1e6c686ad2;hpb=704f30728956daaaf818ef30fcf4c7adf89ec037;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiUpload.php b/includes/api/ApiUpload.php index f821374064..a283b5a215 100644 --- a/includes/api/ApiUpload.php +++ b/includes/api/ApiUpload.php @@ -494,6 +494,13 @@ class ApiUpload extends ApiBase { $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'], @@ -637,7 +644,8 @@ class ApiUpload extends ApiBase { break; case UploadBase::HOOK_ABORTED: - $this->dieWithError( $params, 'hookaborted', [ 'details' => $verification['error'] ] ); + $msg = $verification['error'] === '' ? 'hookaborted' : $verification['error']; + $this->dieWithError( $msg, 'hookaborted', [ 'details' => $verification['error'] ] ); break; default: $this->dieWithError( 'apierror-unknownerror-nocode', 'unknown-error', @@ -920,6 +928,6 @@ class ApiUpload extends ApiBase { } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Upload'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Upload'; } }