Newscoop\GimmeBundle\Serializer\Image\ImageUriHandler::serializeToJson PHP Method

serializeToJson() public method

public serializeToJson ( JMS\Serializer\JsonSerializationVisitor $visitor, $data, array $type )
$visitor JMS\Serializer\JsonSerializationVisitor
$type array
    public function serializeToJson(JsonSerializationVisitor $visitor, $data, array $type)
    {
        if (property_exists($data, 'videoUrl') && is_string($data->getVideoUrl())) {
            return $data->getVideoUrl();
        }
        if (!property_exists($data, 'imageId') && !property_exists($data, 'image')) {
            return;
        }
        if (property_exists($data, 'image') && is_string($data->image)) {
            $imageUri = $this->linkService->getBaseUrl($this->zendRouter->assemble(array('controller' => 'images', 'action' => null)) . '/' . $data->image);
            return $imageUri;
        } elseif (property_exists($data, 'imageId') && $data->imageId) {
            $image = $this->imageService->find($data->imageId);
            $imageSrc = $this->imageService->getSrc($image->getPath(), $image->getWidth(), $image->getHeight());
            $imageUri = $this->linkService->getBaseUrl($this->zendRouter->assemble(array('src' => $imageSrc), 'image', true, false));
            return $imageUri;
        } elseif (property_exists($data, 'image') && is_object($data->image)) {
            $image = $data->image;
            $imageSrc = $this->imageService->getSrc($image->getPath(), $image->getWidth(), $image->getHeight());
            $imageUri = $this->linkService->getBaseUrl($this->zendRouter->assemble(array('src' => $imageSrc), 'image', false, false));
            return $imageUri;
        }
    }