Set the metadata
public setMetadata ( array $metadata ) : |
||
$metadata | array | An array with metadata |
return |
/** * @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()); }
/** * @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()); }
/** * 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); }