/** 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); } } }