/** * Contructor. * * Also handles any actions from the view. * * @return Ansel_View_Results */ public function __construct(array $params = array()) { global $prefs, $conf, $injector, $notification; $ansel_storage = $injector->getInstance('Ansel_Storage'); $this->_owner = Horde_Util::getFormData('owner', ''); $this->_browser = new Ansel_TagBrowser($injector->getInstance('Ansel_Tagger'), null, $this->_owner); $this->_page = Horde_Util::getFormData('page', 0); $actionID = Horde_Util::getFormData('actionID', ''); $image_id = Horde_Util::getFormData('image'); $vars = Horde_Variables::getDefaultVariables(); // Number perpage from prefs or config. $this->_perPage = min($prefs->getValue('tilesperpage'), $conf['thumbnail']['perpage']); // Common image actions. if (Ansel_ActionHandler::imageActions($actionID)) { Ansel::getUrlFor('view', array('view' => 'Results'), true)->redirect(); exit; } // Tag browsing actions. switch ($actionID) { case 'remove': $tag = Horde_Util::getFormData('tag'); if (isset($tag)) { $this->_browser->removeTag($tag); $this->_browser->save(); } break; case 'add': default: $tag = Horde_Util::getFormData('tag'); if (isset($tag)) { $this->_browser->addTag($tag); $this->_browser->save(); } break; } // Check for empty tag search and redirect if empty if ($this->_browser->tagCount() < 1) { Horde::url('browse.php', true)->redirect(); exit; } }