Exemplo n.º 1
0
 /**
  * @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());
 }
Exemplo n.º 2
0
 /**
  * @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();
 }