Example #1
0
 /**
  * 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;
     }
 }