Ansel_Api::listImages PHP Method

listImages() public method

The return has the URL because in a lot of cases you'll want the url also. Using api call getImageURL results in a lot of overhead when e.g. generating a select list.
public listImages ( integer $gallery_id, array $params = [] ) : array
$gallery_id integer Gallery id to get images from.
$params array Additional parameters:
 (string)app          Application scope to use [ansel].
 (string)view         View size to generate URLs for [thumb].
 (boolean)full        Return a full URL [false].
 (integer)from        Start image.
 (integer)limit       Max count of images to return.
 (string)style        Use this gallery style.
 (string)slug         Gallery slug (ignore gallery_id).
return array Hash of image data (see below) keyed by image_id.
 name
 caption
 type
 uploaded
 original_date
 url
    public function listImages($gallery_id, array $params = array())
    {
        $params = new Horde_Support_Array($params);
        if ($params->app) {
            $GLOBALS['injector']->getInstance('Ansel_Config')->set('scope', $params->app);
        }
        $storage = $GLOBALS['injector']->getInstance('Ansel_Storage');
        if ($params->slug) {
            $gallery = $storage->getGalleryBySlug($params->slug);
        } else {
            $gallery = $storage->getGallery($gallery_id);
        }
        $images = $gallery->listImages($params->get('from', 0), $params->get('limit', 0));
        if ($params->style) {
            $params->style = Ansel::getStyleDefinition($params->style);
        } else {
            $params->style = $gallery->getStyle();
        }
        $counter = 0;
        $imagelist = array();
        foreach ($images as $id) {
            $image = $storage->getImage($id);
            $imagelist[$id]['name'] = $image->filename;
            $imagelist[$id]['caption'] = $image->caption;
            $imagelist[$id]['type'] = $image->type;
            $imagelist[$id]['uploaded'] = $image->uploaded;
            $imagelist[$id]['original_date'] = $image->originalDate;
            $imagelist[$id]['url'] = Ansel::getImageUrl($id, $params->get('view', 'thumb'), $params->get('full', false), $params->style);
            if ($params->app && $GLOBALS['conf']['vfs']['src'] != 'direct') {
                $imagelist[$id]['url']->add('app', $params->app);
            }
            $imagelist[$id]['url'] = $imagelist[$id]['url']->toString();
        }
        return $imagelist;
    }