public static function selectGalleries($params = array())
{
$galleries = $GLOBALS['injector']->getInstance('Ansel_Storage')->listGalleries($params);
$params = new Horde_Support_Array($params);
$tree = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Tree')->create('gallery_tree', 'Select');
// Remove the ignored gallery, make sure it's also not the selected
if ($params->ignore) {
if ($params->selected == $params->ignore) {
$params->selected = null;
}
}
foreach ($galleries as $gallery) {
$gallery_id = $gallery->id;
$gallery_name = $gallery->get('name');
$label = Horde_String::abbreviate($gallery_name);
$len = Horde_String::length($gallery_name);
$treeparams = array();
$treeparams['selected'] = $gallery_id == $params->selected;
$parent = $gallery->getParent();
$parent = empty($parent) ? null : $parent->id;
$tree->addNode(array('id' => $gallery->id, 'parent' => $parent, 'label' => $label, 'params' => $treeparams));
}
return $tree->getTree();
}