public function initialize( $done, $filename, $sessionKey, $path,
$fileSize, $sessionData )
{
+ $this->status = new Status;
+
$this->initFromSessionKey( $sessionKey, $sessionData );
if ( !$this->sessionKey && !$done ) {
// b) should only happen over POST
// c) we need the token to validate chunks are coming from a non-xss request
$token = urlencode( $wgUser->editToken() );
- ob_clean();
echo FormatJson::encode( array(
'uploadUrl' => wfExpandUrl( wfScript( 'api' ) ) . "?action=upload&" .
"token={$token}&format=json&enablechunks=true&chunksessionkey=" .
// return success:
// firefogg expects a specific result
// http://www.firefogg.org/dev/chunk_post.html
- ob_clean();
echo FormatJson::encode(
array( 'result' => 1, 'filesize' => $this->fileSize )
);
// firefogg expects a specific result
// http://www.firefogg.org/dev/chunk_post.html
- ob_clean();
echo FormatJson::encode( array(
'result' => 1,
'done' => 1,
);
$wgOut->disable();
}
+
+ return Status::newGood();
}
/**
public function verifyUpload() {
if ( $this->chunkMode != self::DONE ) {
- return Status::newGood();
+ return array('status' => UploadBase::OK);
}
return parent::verifyUpload();
}
ini_set('file_loads', true);
}
+ function testGetTitle() {
+ $filename = tempnam( wfTempDir(), "" );
+ $c = new UploadFromChunks();
+ $c->initialize(false, "temp.txt", null, $filename, 0, null);
+ $this->assertEquals(null, $c->getTitle());
+
+ $c = new UploadFromChunks();
+ $c->initialize(false, "temp.png", null, $filename, 0, null);
+ $this->assertEquals(Title::makeTitleSafe(NS_FILE, "Temp.png"), $c->getTitle());
+ }
+
function testGetEditToken() {
}
$req = new FauxRequest(
array('action' => 'upload',
'enablechunks' => '1',
- 'filename' => 'test.txt',
+ 'filename' => 'test.png',
'token' => $token,
));
$module = new ApiMain($req, true);
$req = new FauxRequest(
array('action' => 'upload',
'enablechunks' => '1',
- 'filename' => 'test.txt',
+ 'filename' => 'test.png',
'token' => $token,
));
$module = new ApiMain($req, true);