Imbo\Http\Response\Formatter\JSON::formatImages PHP Method

formatImages() public method

public formatImages ( Images $model )
$model Imbo\Model\Images
    public function formatImages(Model\Images $model)
    {
        $images = $model->getImages();
        $data = [];
        // Fields to display
        if ($fields = $model->getFields()) {
            $fields = array_fill_keys($fields, 1);
        }
        foreach ($images as $image) {
            $entry = ['added' => $this->dateFormatter->formatDate($image->getAddedDate()), 'updated' => $this->dateFormatter->formatDate($image->getUpdatedDate()), 'checksum' => $image->getChecksum(), 'originalChecksum' => $image->getOriginalChecksum(), 'extension' => $image->getExtension(), 'size' => $image->getFilesize(), 'width' => $image->getWidth(), 'height' => $image->getHeight(), 'mime' => $image->getMimeType(), 'imageIdentifier' => $image->getImageIdentifier(), 'user' => $image->getUser()];
            // Add metadata if the field is to be displayed
            if (empty($fields) || isset($fields['metadata'])) {
                $metadata = $image->getMetadata();
                if (is_array($metadata)) {
                    if (empty($metadata)) {
                        $metadata = new stdClass();
                    }
                    $entry['metadata'] = $metadata;
                }
            }
            // Remove elements that should not be displayed
            if (!empty($fields)) {
                foreach (array_keys($entry) as $key) {
                    if (!isset($fields[$key])) {
                        unset($entry[$key]);
                    }
                }
            }
            $data[] = $entry;
        }
        return $this->encode(['search' => ['hits' => $model->getHits(), 'page' => $model->getPage(), 'limit' => $model->getLimit(), 'count' => $model->getCount()], 'images' => $data]);
    }