Example #1
0
 /** Get the user's redirect from the model
  * @access private
  * @return $string
  */
 private function _getUserRedirect()
 {
     $redirects = new LoginRedirect();
     $redirect = $redirects->getConfig();
     if (is_array($redirect)) {
         $clean = array_flip($redirect);
         $uri = array_values($clean);
     } else {
         $uri = array('/database' => 'Simple search');
     }
     return $uri[0];
 }
 /** The constructor
  * @access public
  * @param array $options
  * @return void
  */
 public function __construct(array $options = null)
 {
     parent::__construct($options);
     $loginredirect = new LoginRedirect();
     $loginredirect_options = $loginredirect->getOptions();
     $this->setName('configureLoginRedirect');
     $uri = new Zend_Form_Element_Select('uri');
     $uri->setLabel('Page: ')->setRequired(true)->addMultiOptions(array(null => 'Please choose a page', 'Available pages' => $loginredirect_options))->addValidator('InArray', false, array(array_keys($loginredirect_options)))->setAttribs(array('class' => 'input-xxlarge selectpicker show-menu-arrow'));
     $hash = new Zend_Form_Element_Hash('csrf');
     $hash->setValue($this->_salt)->setTimeout(4800);
     $submit = new Zend_Form_Element_Submit('submit');
     $submit->setLabel('Submit login redirect configuration');
     $this->addElements(array($uri, $submit, $hash));
     $this->addDisplayGroup(array('uri'), 'options');
     $this->options->setLegend('Choose page: ');
     $this->addDisplayGroup(array('submit'), 'buttons');
     parent::init();
 }
 /** Set up the redirect action for a user
  * @access public
  * @return void
  */
 public function redirectAction()
 {
     $form = new ConfigureLoginRedirectForm();
     $this->view->form = $form;
     $loginRedirect = new LoginRedirect();
     $current = $loginRedirect->getConfig();
     $currentUri = array_keys($current);
     $form->populate(array('uri' => $currentUri[0]));
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             $loginRedirect->updateConfig($form->getValues());
             $this->getFlash()->addMessage('Page after logging in updated');
             $this->redirect('/users/configuration/');
         } else {
             $form->populate($current);
         }
     }
 }