From c1f9b1f7b1b77776192048005dcc66dcf3df2bfb Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 27 Dec 2014 15:41:37 +0100 Subject: Update to MediaWiki 1.24.1 --- includes/job/jobs/AssembleUploadChunksJob.php | 127 -------------------------- 1 file changed, 127 deletions(-) delete mode 100644 includes/job/jobs/AssembleUploadChunksJob.php (limited to 'includes/job/jobs/AssembleUploadChunksJob.php') diff --git a/includes/job/jobs/AssembleUploadChunksJob.php b/includes/job/jobs/AssembleUploadChunksJob.php deleted file mode 100644 index 6237e568..00000000 --- a/includes/job/jobs/AssembleUploadChunksJob.php +++ /dev/null @@ -1,127 +0,0 @@ -removeDuplicates = true; - } - - public function run() { - $scope = RequestContext::importScopedSession( $this->params['session'] ); - $context = RequestContext::getMain(); - try { - $user = $context->getUser(); - if ( !$user->isLoggedIn() ) { - $this->setLastError( "Could not load the author user from session." ); - return false; - } - - if ( count( $_SESSION ) === 0 ) { - // Empty session probably indicates that we didn't associate - // with the session correctly. Note that being able to load - // the user does not necessarily mean the session was loaded. - // Most likely cause by suhosin.session.encrypt = On. - $this->setLastError( "Error associating with user session. Try setting suhosin.session.encrypt = Off" ); - return false; - } - - UploadBase::setSessionStatus( - $this->params['filekey'], - array( 'result' => 'Poll', 'stage' => 'assembling', 'status' => Status::newGood() ) - ); - - $upload = new UploadFromChunks( $user ); - $upload->continueChunks( - $this->params['filename'], - $this->params['filekey'], - $context->getRequest() - ); - - // Combine all of the chunks into a local file and upload that to a new stash file - $status = $upload->concatenateChunks(); - if ( !$status->isGood() ) { - UploadBase::setSessionStatus( - $this->params['filekey'], - array( 'result' => 'Failure', 'stage' => 'assembling', 'status' => $status ) - ); - $this->setLastError( $status->getWikiText() ); - return false; - } - - // We have a new filekey for the fully concatenated file - $newFileKey = $upload->getLocalFile()->getFileKey(); - - // Remove the old stash file row and first chunk file - $upload->stash->removeFileNoAuth( $this->params['filekey'] ); - - // Build the image info array while we have the local reference handy - $apiMain = new ApiMain(); // dummy object (XXX) - $imageInfo = $upload->getImageInfo( $apiMain->getResult() ); - - // Cleanup any temporary local file - $upload->cleanupTempFile(); - - // Cache the info so the user doesn't have to wait forever to get the final info - UploadBase::setSessionStatus( - $this->params['filekey'], - array( - 'result' => 'Success', - 'stage' => 'assembling', - 'filekey' => $newFileKey, - 'imageinfo' => $imageInfo, - 'status' => Status::newGood() - ) - ); - } catch ( MWException $e ) { - UploadBase::setSessionStatus( - $this->params['filekey'], - array( - 'result' => 'Failure', - 'stage' => 'assembling', - 'status' => Status::newFatal( 'api-error-stashfailed' ) - ) - ); - $this->setLastError( get_class( $e ) . ": " . $e->getText() ); - return false; - } - return true; - } - - public function getDeduplicationInfo() { - $info = parent::getDeduplicationInfo(); - if ( is_array( $info['params'] ) ) { - $info['params'] = array( 'filekey' => $info['params']['filekey'] ); - } - return $info; - } - - public function allowRetries() { - return false; - } -} -- cgit v1.2.3-54-g00ecf