Автор: Christer Edvartsen (cogo@starzinger.net)
Пример #1
0
 /**
  * Delete all image variations attached to an image
  *
  * If any of the delete operations fail Imbo will trigger an error
  *
  * @param EventInterface $event The current event
  */
 public function deleteVariations(EventInterface $event)
 {
     $request = $event->getRequest();
     $publicKey = $request->getPublicKey();
     $imageIdentifier = $request->getImageIdentifier();
     try {
         $this->database->deleteImageVariations($publicKey, $imageIdentifier);
     } catch (DatabaseException $e) {
         trigger_error(sprintf('Could not delete image variation metadata for %s (%s)', $publicKey, $imageIdentifier), E_USER_WARNING);
     }
     try {
         $this->storage->deleteImageVariations($publicKey, $imageIdentifier);
     } catch (StorageException $e) {
         trigger_error(sprintf('Could not delete image variations from storage for %s (%s)', $publicKey, $imageIdentifier), E_USER_WARNING);
     }
 }
Пример #2
0
 public function testCanDeleteOneOrMoreImageVariations()
 {
     $key = 'key';
     $id = 'imageId';
     $blob = file_get_contents(FIXTURES_DIR . '/colors.png');
     $this->assertTrue($this->adapter->storeImageVariation($key, $id, $blob, 100));
     $this->assertTrue($this->adapter->storeImageVariation($key, $id, 'blob2', 200));
     $this->assertTrue($this->adapter->storeImageVariation($key, $id, 'blob3', 300));
     $this->assertSame($blob, $this->adapter->getImageVariation($key, $id, 100));
     $this->assertSame('blob2', $this->adapter->getImageVariation($key, $id, 200));
     $this->assertSame('blob3', $this->adapter->getImageVariation($key, $id, 300));
     $this->assertTrue($this->adapter->deleteImageVariations($key, $id, 100));
     $this->assertNull($this->adapter->getImageVariation($key, $id, 100));
     $this->assertSame('blob2', $this->adapter->getImageVariation($key, $id, 200));
     $this->assertSame('blob3', $this->adapter->getImageVariation($key, $id, 300));
     $this->assertTrue($this->adapter->deleteImageVariations($key, $id));
     $this->assertNull($this->adapter->getImageVariation($key, $id, 200));
     $this->assertNull($this->adapter->getImageVariation($key, $id, 300));
 }