/** * @test */ public function basicGettersAndSettersShouldWork() { $upload = new FileUpload(ROOT_TESTS . '/data/self-lussing-manatee.jpg'); $this->assertNull($upload->getOverrideBasename()); $this->assertNull($upload->getOverrideFilename()); $this->assertInstanceOf('DateTime', $upload->getDateUploaded()); $this->assertEquals('image/jpeg', $upload->getMimeType()); $this->assertEquals(23239, $upload->getSize()); $this->assertEquals(ROOT_TESTS . '/data/self-lussing-manatee.jpg', $upload->getRealPath()); $overrideBaseName = 'lussen'; $overrideFileName = 'lussen.hof'; $overrideDate = new DateTime('1978-03-21 09:09:09'); $upload->setOverrideBaseName($overrideBaseName); $upload->setOverrideFileName($overrideFileName); $upload->setDateUploaded($overrideDate); $this->assertEquals($overrideBaseName, $upload->getOverrideBasename()); $this->assertEquals($overrideFileName, $upload->getOverrideFilename()); $this->assertEquals($overrideDate, $upload->getDateUploaded()); }
/** * @param File $file * @param FileUpload $upload * @return Resource */ public function findResourceForUpload(File $file, FileUpload $upload) { $file = clone $file; $hash = sha1_file($upload->getRealPath()); $profileObj = $this->profiles->getProfile($file->getProfile()); $finder = new ResourceFinder(array('hash' => $hash)); $resources = $this->backend->findByFinder($finder); if ($resources) { foreach ($resources as $resource) { if (!$resource->isExclusive()) { $file->setResource($resource); if (!$profileObj->isSharedResourceAllowed($file)) { $file->unsetResource(); } break; } } } if (!$file->getResource()) { $resource = Resource::create(); $resource->setDateCreated(new DateTime()); $resource->setHash($hash); $resource->setSize($upload->getSize()); $resource->setMimetype($upload->getMimeType()); $file->setResource($resource); if (!$profileObj->isSharedResourceAllowed($file)) { $resource->setExclusive(true); } $this->create($resource, $upload->getRealPath()); $file->setResource($resource); } return $file->getResource(); }