public function execute() { global $wgUser; // Check whether upload is enabled if ( !UploadBase::isEnabled() ) { $this->dieUsageMsg( array( 'uploaddisabled' ) ); } $this->mParams = $this->extractRequestParams(); $this->validateParams( $this->mParams ); $request = $this->getMain()->getRequest(); $this->mUpload = new ResumableUploadHandler; $status = $this->mUpload->initialize( $request->getVal( 'done', null ), $request->getVal( 'offset', null ), $request->getVal( 'filename', null ), $request->getVal( 'chunksession', null ), $request->getFileTempName( 'chunk' ), $request->getFileSize( 'chunk' ), $request->getSessionData( UploadBase::getSessionKeyname() ) ); if ( $status !== true ) { $this->dieUsage( $status, 'chunk-init-error' ); } $ret = $this->performUpload( ); if(is_array($ret)) { foreach($ret as $key => $val) { $this->getResult()->addValue(null, $key, $val); } } else { $this->dieUsage($ret, 'error'); } }