public function loginAction()
 {
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $name = Zend_Auth::getInstance()->getIdentity()->name;
         $msg = 'You are already logged as <strong>%1$s</strong>. <br/>' . ' If you are not this user, ' . 'please logout and then reconect.';
         $this->_helper->flashMessenger->addMessage(array('info' => $msg, 'params' => $name));
         $this->_helper->redirector('index', 'profile', 'user');
     } else {
         $form = new User_Form_Login();
         $request = $this->getRequest();
         if ($request->isPost()) {
             if ($form->isValid($request->getPost())) {
                 try {
                     $user = $this->_processAuthentication($form->getValues());
                     $userName = $user->name;
                     $msg = 'You are now logged as <strong>%1$s</strong>';
                     $this->_helper->flashMessenger->addMessage(array('title' => 'Success authentication', 'success' => $msg, 'params' => $userName));
                     $login = new Agana_Auth_Helper_Login();
                     $login->redirectAfterLogin('user/profile');
                 } catch (Exception $e) {
                     $this->_helper->flashMessenger->addMessage(array('title' => 'Entry form validation', 'validation' => $e->getMessage()));
                 }
             } else {
                 $this->_helper->flashMessenger->addMessage(array('title' => 'Entry form validation', 'validation' => 'Some problem with fields content.'));
             }
         }
         $this->view->form = $form;
     }
 }
Esempio n. 2
0
 public function requireuserAction()
 {
     // 403 error -- authorization failed
     $this->getResponse()->setRawHeader($_SERVER['SERVER_PROTOCOL'] . '403 Forbidden');
     $this->view->status = false;
     $this->view->error = Zend_Registry::get('Zend_Translate')->_('You are not authorized to access this resource.');
     // Show the login form for them :P
     $this->view->form = $form = new User_Form_Login();
     $form->addError('Please sign in to continue..');
     $form->return_url->setValue(Zend_Controller_Front::getInstance()->getRouter()->assemble(array()));
     // Facebook login
     if (User_Model_DbTable_Facebook::authenticate($form)) {
         // Facebook login succeeded, redirect to home
         $this->_helper->redirector->gotoRoute(array(), 'home');
     }
 }
Esempio n. 3
0
 public function userLogin(User_Form_Login $form)
 {
     $username = $form->get('username')->getValue();
     $password = $form->get('password')->getValue();
     $userData = Doctrine_Query::create()->limit(1)->select('u.*')->from('User_Model_Mapper_User u')->where('u.username = ?', $username);
     $user = $userData->fetchOne();
     $authAdapter = new Application_Service_DoctrineAuthAdapter(NULL, 'User_Model_Mapper_User', 'username', 'password');
     $authAdapter->setIdentity($username);
     $authAdapter->setCredential(sha1($password));
     $auth = Zend_Auth::getInstance();
     $result = $auth->authenticate($authAdapter);
     if ($result->isValid()) {
         $auth->getStorage()->write($result->getIdentity()->username);
         $user->setLastVisit();
         $user->save();
         return true;
     } else {
         return false;
     }
 }
Esempio n. 4
0
 /**
  * Log-in request and validation
  *
  * @return void
  */
 public function loginAction()
 {
     // $bootstrap =  $this->getInvokeArg('bootstrap');
     //echo '<pre>';
     //print_r($bootstrap->getApplication()->getAutoloader());
     //exit;
     if (!Zend_Auth::getInstance()->hasIdentity()) {
         $form = new User_Form_Login();
         if ($this->_request->isPost() && $form->isValid($this->_request->getPost('loginForm', array()))) {
             // $this->_identity = $form->getValue('username');
             //$this->_credential = $form->getValue('password');
             if ($this->_authenticateUser()) {
                 $this->_redirect($form->getValue('redirect'));
             }
         }
         $this->view->assign(array('form' => $form, 'previousPage' => $this->_request->getParam('from', '/')));
     } else {
         $this->_redirect('/');
     }
 }
Esempio n. 5
0
 public function loginAction()
 {
     $form = new User_Form_Login();
     if ($this->getRequest()->isPost()) {
         if ($form->isValid($_POST)) {
             $user = $this->userService->findByLogin($form->getValue('login'));
             if (false === $user) {
                 $this->_helper->FlashMessenger('utilisateur  inconnu');
             } else {
                 $user->setPassword($form->getValue('password'));
                 if ($this->userService->authenticate($user)) {
                     $this->_redirect('/index/index');
                 } else {
                     $this->_helper->FlashMessenger('Echec d\'identification');
                 }
             }
         }
     }
     $this->view->messages = $this->_helper->getHelper('FlashMessenger')->getMessages();
     $this->view->loginForm = $form;
 }
Esempio n. 6
0
 public function loginAction()
 {
     // Already logged in
     if (Engine_Api::_()->user()->getViewer()->getIdentity()) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('You are already signed in.');
         if (null === $this->_helper->contextSwitch->getCurrentContext()) {
             $this->_helper->redirector->gotoRoute(array(), 'default', true);
         }
         return;
     }
     // Make form
     $this->view->form = $form = new User_Form_Login();
     $form->setAction($this->view->url(array('return_url' => null)));
     $form->populate(array('return_url' => $this->_getParam('return_url')));
     // Facebook login
     //    if( User_Model_DbTable_Facebook::authenticate($form) ) {
     //      // Facebook login succeeded, redirect to home
     //      return $this->_helper->redirector->gotoRoute(array(), 'default', true);
     //    }
     // Render
     $this->_helper->content->setEnabled();
     // Not a post
     if (!$this->getRequest()->isPost()) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('No action taken');
         return;
     }
     // Form not valid
     if (!$form->isValid($this->getRequest()->getPost())) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid data');
         return;
     }
     // Check login creds
     extract($form->getValues());
     // $email, $password, $remember
     $user_table = Engine_Api::_()->getDbtable('users', 'user');
     $user_select = $user_table->select()->where('email = ?', $email);
     // If post exists
     $user = $user_table->fetchRow($user_select);
     // Get ip address
     $db = Engine_Db_Table::getDefaultAdapter();
     $ipObj = new Engine_IP();
     $ipExpr = new Zend_Db_Expr($db->quoteInto('UNHEX(?)', bin2hex($ipObj->toBinary())));
     // Check if user exists
     if (empty($user)) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('No record of a member with that email was found.');
         $form->addError(Zend_Registry::get('Zend_Translate')->_('No record of a member with that email was found.'));
         // Register login
         Engine_Api::_()->getDbtable('logins', 'user')->insert(array('email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'no-member'));
         return;
     }
     // Check if user is verified and enabled
     if (!$user->enabled) {
         if (!$user->verified) {
             $this->view->status = false;
             $resend_url = $this->_helper->url->url(array('action' => 'resend', 'email' => $email), 'user_signup', true);
             $translate = Zend_Registry::get('Zend_Translate');
             $error = $translate->translate('This account still requires either email verification.');
             $error .= ' ';
             $error .= sprintf($translate->translate('Click <a href="%s">here</a> to resend the email.'), $resend_url);
             $form->getDecorator('errors')->setOption('escape', false);
             $form->addError($error);
             // Register login
             Engine_Api::_()->getDbtable('logins', 'user')->insert(array('user_id' => $user->getIdentity(), 'email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'disabled'));
             return;
         } else {
             if (!$user->approved) {
                 $this->view->status = false;
                 $translate = Zend_Registry::get('Zend_Translate');
                 $error = $translate->translate('This account still requires admin approval.');
                 $form->getDecorator('errors')->setOption('escape', false);
                 $form->addError($error);
                 // Register login
                 Engine_Api::_()->getDbtable('logins', 'user')->insert(array('user_id' => $user->getIdentity(), 'email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'disabled'));
                 return;
             }
         }
         // Should be handled by hooks or payment
         //return;
     }
     // Handle subscriptions
     if (Engine_Api::_()->hasModuleBootstrap('payment')) {
         // Check for the user's plan
         $subscriptionsTable = Engine_Api::_()->getDbtable('subscriptions', 'payment');
         if (!$subscriptionsTable->check($user)) {
             // Register login
             Engine_Api::_()->getDbtable('logins', 'user')->insert(array('user_id' => $user->getIdentity(), 'email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'unpaid'));
             // Redirect to subscription page
             $subscriptionSession = new Zend_Session_Namespace('Payment_Subscription');
             $subscriptionSession->unsetAll();
             $subscriptionSession->user_id = $user->getIdentity();
             return $this->_helper->redirector->gotoRoute(array('module' => 'payment', 'controller' => 'subscription', 'action' => 'index'), 'default', true);
         }
     }
     // Run pre login hook
     $event = Engine_Hooks_Dispatcher::getInstance()->callEvent('onUserLoginBefore', $user);
     foreach ((array) $event->getResponses() as $response) {
         if (is_array($response)) {
             if (!empty($response['error']) && !empty($response['message'])) {
                 $form->addError($response['message']);
             } else {
                 if (!empty($response['redirect'])) {
                     $this->_helper->redirector->gotoUrl($response['redirect'], array('prependBase' => false));
                 } else {
                     continue;
                 }
             }
             // Register login
             Engine_Api::_()->getDbtable('logins', 'user')->insert(array('user_id' => $user->getIdentity(), 'email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'third-party'));
             // Return
             return;
         }
     }
     // Version 3 Import compatibility
     if (empty($user->password)) {
         $compat = Engine_Api::_()->getApi('settings', 'core')->getSetting('core.compatibility.password');
         $migration = null;
         try {
             $migration = Engine_Db_Table::getDefaultAdapter()->select()->from('engine4_user_migration')->where('user_id = ?', $user->getIdentity())->limit(1)->query()->fetch();
         } catch (Exception $e) {
             $migration = null;
             $compat = null;
         }
         if (!$migration) {
             $compat = null;
         }
         if ($compat == 'import-version-3') {
             // Version 3 authentication
             $cryptedPassword = self::_version3PasswordCrypt($migration['user_password_method'], $migration['user_code'], $password);
             if ($cryptedPassword === $migration['user_password']) {
                 // Regenerate the user password using the given password
                 $user->salt = (string) rand(1000000, 9999999);
                 $user->password = $password;
                 $user->save();
                 Engine_Api::_()->user()->getAuth()->getStorage()->write($user->getIdentity());
                 // @todo should we delete the old migration row?
             } else {
                 $this->view->status = false;
                 $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid credentials');
                 $form->addError(Zend_Registry::get('Zend_Translate')->_('Invalid credentials supplied'));
                 return;
             }
             // End Version 3 authentication
         } else {
             $form->addError('There appears to be a problem logging in. Please reset your password with the Forgot Password link.');
             // Register login
             Engine_Api::_()->getDbtable('logins', 'user')->insert(array('user_id' => $user->getIdentity(), 'email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'v3-migration'));
             return;
         }
     } else {
         $authResult = Engine_Api::_()->user()->authenticate($email, $password);
         $authCode = $authResult->getCode();
         Engine_Api::_()->user()->setViewer();
         if ($authCode != Zend_Auth_Result::SUCCESS) {
             $this->view->status = false;
             $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid credentials');
             $form->addError(Zend_Registry::get('Zend_Translate')->_('Invalid credentials supplied'));
             // Register login
             Engine_Api::_()->getDbtable('logins', 'user')->insert(array('user_id' => $user->getIdentity(), 'email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'bad-password'));
             return;
         }
     }
     // -- Success! --
     // Register login
     $loginTable = Engine_Api::_()->getDbtable('logins', 'user');
     $loginTable->insert(array('user_id' => $user->getIdentity(), 'email' => $email, 'ip' => $ipExpr, 'timestamp' => new Zend_Db_Expr('NOW()'), 'state' => 'success', 'active' => true));
     $_SESSION['login_id'] = $login_id = $loginTable->getAdapter()->lastInsertId();
     // Remember
     if ($remember) {
         $lifetime = 1209600;
         // Two weeks
         Zend_Session::getSaveHandler()->setLifetime($lifetime, true);
         Zend_Session::rememberMe($lifetime);
     }
     // Increment sign-in count
     Engine_Api::_()->getDbtable('statistics', 'core')->increment('user.logins');
     // Test activity @todo remove
     $viewer = Engine_Api::_()->user()->getViewer();
     if ($viewer->getIdentity()) {
         $viewer->lastlogin_date = date("Y-m-d H:i:s");
         if ('cli' !== PHP_SAPI) {
             $viewer->lastlogin_ip = $ipExpr;
         }
         $viewer->save();
         Engine_Api::_()->getDbtable('actions', 'activity')->addActivity($viewer, $viewer, 'login');
     }
     // Assign sid to view for json context
     $this->view->status = true;
     $this->view->message = Zend_Registry::get('Zend_Translate')->_('Login successful');
     $this->view->sid = Zend_Session::getId();
     $this->view->sname = Zend_Session::getOptions('name');
     // Run post login hook
     $event = Engine_Hooks_Dispatcher::getInstance()->callEvent('onUserLoginAfter', $viewer);
     // Do redirection only if normal context
     if (null === $this->_helper->contextSwitch->getCurrentContext()) {
         // Redirect by form
         $uri = $form->getValue('return_url');
         if ($uri) {
             if (substr($uri, 0, 3) == '64-') {
                 $uri = base64_decode(substr($uri, 3));
             }
             return $this->_redirect($uri, array('prependBase' => false));
         }
         // Redirect by session
         $session = new Zend_Session_Namespace('Redirect');
         if (isset($session->uri)) {
             $uri = $session->uri;
             $opts = $session->options;
             $session->unsetAll();
             return $this->_redirect($uri, $opts);
         } else {
             if (isset($session->route)) {
                 $session->unsetAll();
                 return $this->_helper->redirector->gotoRoute($session->params, $session->route, $session->reset);
             }
         }
         // Redirect by hook
         foreach ((array) $event->getResponses() as $response) {
             if (is_array($response)) {
                 if (!empty($response['error']) && !empty($response['message'])) {
                     return $form->addError($response['message']);
                 } else {
                     if (!empty($response['redirect'])) {
                         return $this->_helper->redirector->gotoUrl($response['redirect'], array('prependBase' => false));
                     }
                 }
             }
         }
         // Just redirect to home
         return $this->_helper->redirector->gotoRoute(array('action' => 'home'), 'user_general', true);
     }
 }
Esempio n. 7
0
 public function identityExistsAction()
 {
     if (isset($_SESSION['quick_signup'])) {
         $email = $_SESSION['quick_signup']['email'];
         $this->view->email = $email;
         // Make form
         $this->view->form = $form = new User_Form_Login();
         $form->setAction($this->view->url(array('return_url' => null)));
     } else {
         return $this->_helper->requireAuth->forward();
     }
 }
Esempio n. 8
0
	  /**
	*loginAction
          *
          * @return void
          */
     public function loginAction()
	 {
	 	
	 	$userService = new User_Service_User();
	 	
		if( $userService->hasIdentity() ){
			$this->renderScript( 'index/logedin.phtml' );
		} else {
			$sessionRequest = new Zend_Session_Namespace( 'sessionRequest');
			$form = new User_Form_Login();
			if( $this->getRequest()->isPost() ){
				if( $form->isValid( $this->getRequest()->getPost() ) ){
					$result = $userService->authenticate( $this->getRequest()->getPost());
					switch( $result ){
						case User_Service_User::USER_AUTH_SUCCESS :
							$this->addSystemSuccess('Connecté');
							$form->reset();
							$this->_redirect( $sessionRequest->previous);
							break;
						default :
							$this->addSystemError('Echec de la connexion');
							$this->_redirect($sessionRequest->previous);
							break;
					}
				} else {
					$errors = $form->getErrors();
					$translate = Zend_Registry::get( 'translator');
					$errorMessage = 'Le formulaire contient des erreurs : <br />';
					foreach( $errors as $fieldName => $fieldErrors ){
						foreach( $fieldErrors as $error ){
							$errorMessage .= 'Champ ' . $fieldName . ' : ' . $translate->_($error) . '<br />';
						}
					}
					$this->addSystemError($errorMessage);
					$this->_redirect($sessionRequest->previous);
				}
			}
			$this->view->form = $form;
		}
	 }
Esempio n. 9
0
 public static function authenticate(User_Form_Login $form)
 {
     // Facebook login
     if ('none' == Engine_Api::_()->getApi('settings', 'core')->core_facebook_enable) {
         $form->removeElement('facebook');
     } else {
         $facebook = self::getFBInstance();
         if ($facebook->getSession()) {
             $form->removeElement('facebook');
             try {
                 $me = $facebook->api('/me');
                 $uid = Engine_Api::_()->getDbtable('Facebook', 'User')->fetchRow(array('facebook_uid = ?' => $facebook->getUser()));
                 if ($uid && $uid->user_id) {
                     if (Engine_Api::_()->user()->getUser($uid->user_id)->getIdentity()) {
                         // already integrated user account; sign in
                         Engine_Api::_()->user()->getAuth()->getStorage()->write($uid->user_id);
                         return true;
                     } else {
                         // no longer a site member
                         $uid->delete();
                         return false;
                     }
                 } else {
                     $notice = Zend_Registry::get('Zend_Translate')->translate('USER_FORM_AUTH_FACEBOOK_NOACCOUNT');
                     $router = Zend_Controller_Front::getInstance()->getRouter();
                     $notice = sprintf($notice, $router->assemble(array(), 'user_signup', true), $router->assemble(array('controller' => 'settings', 'action' => 'general'), 'user_extended', true));
                     $form->addNotice($notice);
                 }
             } catch (Facebook_Exception $e) {
                 $log = Zend_Registry::get('Zend_Log');
                 if ($log) {
                     $log->log($e->__toString(), Zend_Log::WARN);
                 }
             }
         }
     }
 }
Esempio n. 10
0
 public function loginAction()
 {
     // Already logged in
     if (Engine_Api::_()->user()->getViewer()->getIdentity()) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('You are already signed in.');
         if (null === $this->_helper->contextSwitch->getCurrentContext()) {
             $this->_helper->redirector->gotoRoute(array(), 'home');
         }
         return;
     }
     // Make form
     $this->view->form = $form = new User_Form_Login();
     $form->populate(array('return_url' => $this->_getParam('return_url')));
     // Facebook login
     if (User_Model_DbTable_Facebook::authenticate($form)) {
         // Facebook login succeeded, redirect to home
         $this->_helper->redirector->gotoRoute(array(), 'home');
     }
     // Not a post
     if (!$this->getRequest()->isPost()) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('No action taken');
         return;
     }
     // Form not valid
     if (!$form->isValid($this->getRequest()->getPost())) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid data');
         return;
     }
     // Check login creds
     extract($form->getValues());
     // $email, $password, $remember
     $user_table = Engine_Api::_()->getDbtable('users', 'user');
     $user_select = $user_table->select()->where('email = ?', $email);
     // If post exists
     $user = $user_table->fetchRow($user_select);
     // Check if user exists
     if (empty($user)) {
         $this->view->status = false;
         $this->view->error = Zend_Registry::get('Zend_Translate')->_('No record of a member with that email was found.');
         $form->addError(Zend_Registry::get('Zend_Translate')->_('No record of a member with that email was found.'));
         return;
     }
     // Check if user is verified and enabled
     if (!$user->verified || !$user->enabled) {
         $this->view->status = false;
         $translate = Zend_Registry::get('Zend_Translate');
         $error = $translate->translate('This account still requires either email verification or admin approval.');
         if (!empty($user) && !$user->verified) {
             $resend_url = $this->_helper->url->url(array('action' => 'resend', 'email' => $email), 'user_signup', true);
             $error .= ' ';
             $error .= sprintf($translate->translate('Click <a href="%s">here</a> to resend the email.'), $resend_url);
         }
         $form->getDecorator('errors')->setOption('escape', false);
         $form->addError($error);
         return;
     }
     // Version 3 Import compatibility
     if (empty($user->password)) {
         $compat = Engine_Api::_()->getApi('settings', 'core')->getSetting('core.compatibility.password');
         $migration = null;
         try {
             $migration = Engine_Db_Table::getDefaultAdapter()->select()->from('engine4_user_migration')->where('user_id = ?', $user->getIdentity())->limit(1)->query()->fetch();
         } catch (Exception $e) {
             $migration = null;
             $compat = null;
         }
         if (!$migration) {
             $compat = null;
         }
         if ($compat == 'import-version-3') {
             // Version 3 authentication
             $cryptedPassword = self::_version3PasswordCrypt($migration['user_password_method'], $migration['user_code'], $password);
             if ($cryptedPassword === $migration['user_password']) {
                 // Regenerate the user password using the given password
                 $user->salt = (string) rand(1000000, 9999999);
                 $user->password = $password;
                 $user->save();
                 Engine_Api::_()->user()->getAuth()->getStorage()->write($user->getIdentity());
                 // @todo should we delete the old migration row?
             } else {
                 $this->view->status = false;
                 $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid credentials');
                 $form->addError(Zend_Registry::get('Zend_Translate')->_('Invalid credentials supplied'));
                 return;
             }
             // End Version 3 authentication
         } else {
             $form->addError('There appears to be a problem logging in. Please reset your password with the Forgot Password link.');
             return;
         }
     } else {
         $authResult = Engine_Api::_()->user()->authenticate($email, $password);
         $authCode = $authResult->getCode();
         Engine_Api::_()->user()->setViewer();
         if ($authCode != Zend_Auth_Result::SUCCESS) {
             $this->view->status = false;
             $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid credentials');
             $form->addError(Zend_Registry::get('Zend_Translate')->_('Invalid credentials supplied'));
             return;
         }
     }
     // -- Success! --
     // Remember
     if ($remember) {
         $lifetime = 1209600;
         // Two weeks
         Zend_Session::getSaveHandler()->setLifetime($lifetime, true);
         Zend_Session::rememberMe($lifetime);
     }
     // Increment sign-in count
     Engine_Api::_()->getDbtable('statistics', 'core')->increment('user.logins');
     // Test activity @todo remove
     $viewer = Engine_Api::_()->user()->getViewer();
     if ($viewer->getIdentity()) {
         $viewer->lastlogin_date = date("Y-m-d H:i:s");
         $viewer->lastlogin_ip = $_SERVER['REMOTE_ADDR'];
         $viewer->save();
         Engine_Api::_()->getDbtable('actions', 'activity')->addActivity($viewer, $viewer, 'login');
     }
     // Assign sid to view for json context
     $this->view->status = true;
     $this->view->message = Zend_Registry::get('Zend_Translate')->_('Login successful');
     $this->view->sid = Zend_Session::getId();
     $this->view->sname = Zend_Session::getOptions('name');
     // Do redirection only if normal context
     if (null === $this->_helper->contextSwitch->getCurrentContext()) {
         // Redirect by form
         $uri = $form->getValue('return_url');
         if ($uri) {
             return $this->_redirect($uri, array('prependBase' => false));
         }
         // Redirect by session
         $session = new Zend_Session_Namespace('Redirect');
         if (isset($session->uri)) {
             $uri = $session->uri;
             $opts = $session->options;
             $session->unsetAll();
             return $this->_redirect($uri, $opts);
         } else {
             if (isset($session->route)) {
                 $session->unsetAll();
                 return $this->_helper->redirector->gotoRoute($session->params, $session->route, $session->reset);
             } else {
                 return $this->_helper->redirector->gotoRoute(array('action' => 'home'), 'user_general');
             }
         }
     }
 }
 public function requireuserAction()
 {
     // 403 error -- authorization failed
     $this->getResponse()->setRawHeader($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden');
     $this->view->status = false;
     $this->view->error = Zend_Registry::get('Zend_Translate')->_('You are not authorized to access this resource.');
     // Show the login form for them :P
     $this->view->form = $form = new User_Form_Login();
     $form->addError('Please sign in to continue..');
     $form->return_url->setValue(Zend_Controller_Front::getInstance()->getRouter()->assemble(array()));
     // Render
     $this->_helper->content->setEnabled();
 }
Esempio n. 12
0
	 public function connectAction()
	 {
		
		$form = new User_Form_Login();
		
		if( $this->getRequest()->isPost() )
		{
			if( $form->isValid( $this->getRequest()->getPost() ) ){
				$user = new User_Model_User();
				$user->setLogin($form->getValue('login') );
				$user->setPassword($form->getValue('password') );
				
				$userMapper = new User_Model_Mapper_User();
				if( $id = $userMapper->login( $user ) ){
					$this->addSystemSuccess('connexion');
					
					$this->_redirect( $this->_helper->url->url( array(), 'userList' ));
				} else {
					$this->addSystemError('Echec connexion');
				}
			} else {
				$this->addSystemError('echec connexion');
			}
		}
		
		$this->view->form = $form;		
	 }
Esempio n. 13
0
    $controller = $sm->get('controller');
    $controller->setModel($sm->get('User_Model'));
    return true;
}, 'User_AuthController' => function ($sm) {
    $controller = $sm->get('controller');
    $controller->setModel($sm->get('User_Auth'));
    $controller->setForm($sm->get('Login_Form'));
    return true;
}, 'User_RegisterController' => function ($sm) {
    $controller = $sm->get('controller');
    $controller->setModel($sm->get('User_Registration'));
    $controller->setFormRecovery($sm->get('Recovery_Form'));
    $controller->setFormRegistration($sm->get('Registration_Form'));
    return true;
}, 'Login_Form' => function ($sm) {
    $loginForm = new User_Form_Login();
    $loginForm->init();
    return $loginForm;
}, 'Recovery_Form' => function ($sm) {
    $recoveryForm = new User_Form_Recovery();
    $recoveryForm->init();
    return $recoveryForm;
}, 'Registration_Form' => function ($sm) {
    $registrationForm = new User_Form_Registration();
    $registrationForm->init();
    return $registrationForm;
}, 'ViewFormHelperManager' => function ($sm) {
    $manager = new \Zend\View\HelperPluginManager(new \Zend\Form\View\HelperConfig());
    $renderer = new \Zend\View\Renderer\PhpRenderer();
    $manager->setRenderer($renderer);
    $renderer->setHelperPluginManager($manager);