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;
}