setMetadata() public method

Set the metadata
public setMetadata ( array $metadata ) : Image
$metadata array An array with metadata
return Image
Esempio n. 1
0
 /**
  * @covers Imbo\Model\Image::setMetadata
  * @covers Imbo\Model\Image::getMetadata
  */
 public function testCanSetAndGetMetadata()
 {
     $this->assertNull($this->image->getMetadata());
     $data = array('foo' => 'bar', 'bar' => 'foo');
     $this->assertSame($this->image, $this->image->setMetadata($data));
     $this->assertSame($data, $this->image->getMetadata());
 }
Esempio n. 2
0
 /**
  * @covers Imbo\Model\Image::getData
  */
 public function testGetData()
 {
     $metadata = ['foo' => 'bar', 'bar' => 'foo'];
     $mimeType = 'image/png';
     $blob = 'some string';
     $filesize = strlen($blob);
     $checksum = md5($blob);
     $extension = 'png';
     $width = 123;
     $height = 234;
     $added = new DateTime();
     $updated = new DateTime();
     $user = '******';
     $identifier = 'identifier';
     $this->image->setMetadata($metadata)->setMimeType($mimeType)->setBlob($blob)->setExtension($extension)->setWidth($width)->setHeight($height)->setAddedDate($added)->setUpdatedDate($updated)->setUser($user)->setImageIdentifier($identifier)->hasBeenTransformed(true)->setOriginalChecksum($checksum);
     $this->assertSame(['filesize' => $filesize, 'mimeType' => $mimeType, 'extension' => $extension, 'metadata' => $metadata, 'width' => $width, 'height' => $height, 'addedDate' => $added, 'updatedDate' => $updated, 'user' => $user, 'imageIdentifier' => $identifier, 'checksum' => $checksum, 'originalChecksum' => $checksum, 'hasBeenTransformed' => true], $this->image->getData());
 }
Esempio n. 3
0
 /**
  * Load images
  *
  * @param EventInterface $event An event instance
  */
 public function loadImages(EventInterface $event)
 {
     $query = $this->getImagesQuery();
     $params = $event->getRequest()->query;
     $returnMetadata = false;
     if ($params->has('page')) {
         $query->page($params->get('page'));
     }
     if ($params->has('limit')) {
         $query->limit($params->get('limit'));
     }
     if ($params->has('metadata')) {
         $query->returnMetadata($params->get('metadata'));
         $returnMetadata = true;
     }
     if ($params->has('from')) {
         $query->from($params->get('from'));
     }
     if ($params->has('to')) {
         $query->to($params->get('to'));
     }
     if ($params->has('sort')) {
         $sort = $params->get('sort');
         if (is_array($sort)) {
             $query->sort($sort);
         }
     }
     if ($params->has('ids')) {
         $ids = $params->get('ids');
         if (is_array($ids)) {
             $query->imageIdentifiers($ids);
         }
     }
     if ($params->has('checksums')) {
         $checksums = $params->get('checksums');
         if (is_array($checksums)) {
             $query->checksums($checksums);
         }
     }
     if ($params->has('originalChecksums')) {
         $checksums = $params->get('originalChecksums');
         if (is_array($checksums)) {
             $query->originalChecksums($checksums);
         }
     }
     $publicKey = $event->getRequest()->getPublicKey();
     $response = $event->getResponse();
     $database = $event->getDatabase();
     // Create the model and set some pagination values
     $model = new Model\Images();
     $model->setLimit($query->limit())->setPage($query->page());
     $images = $database->getImages($publicKey, $query, $model);
     $modelImages = array();
     foreach ($images as $image) {
         $entry = new Model\Image();
         $entry->setFilesize($image['size'])->setWidth($image['width'])->setHeight($image['height'])->setPublicKey($publicKey)->setImageIdentifier($image['imageIdentifier'])->setChecksum($image['checksum'])->setOriginalChecksum(isset($image['originalChecksum']) ? $image['originalChecksum'] : null)->setMimeType($image['mime'])->setExtension($image['extension'])->setAddedDate($image['added'])->setUpdatedDate($image['updated']);
         if ($returnMetadata) {
             $entry->setMetadata($image['metadata']);
         }
         $modelImages[] = $entry;
     }
     // Add images to the model
     $model->setImages($modelImages);
     if ($params->has('fields')) {
         $fields = $params->get('fields');
         if (is_array($fields)) {
             $model->setFields($fields);
         }
     }
     $lastModified = $database->getLastModified($publicKey);
     $response->setModel($model)->setLastModified($lastModified);
 }