Ejemplo n.º 1
0
 /**
  * do not allow to buy more than 1 subscription product
  */
 protected function _loginPostRedirect()
 {
     if (preg_match('/onepage/', $this->_getRefererUrl()) == 1) {
         if (!Mage::getModel('pixsubscription/subscription')->canBuySubscription(Mage::helper('pixopc')->getCartItem())) {
             Mage::getSingleton('core/session')->addError((string) Mage::getConfig()->getNode('default/pixopc/pix_subscription_amount_error_message/message'));
             Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getBaseUrl());
             Mage::app()->getResponse()->sendResponse();
             exit;
         }
     }
     // Save error messages to cookie
     $message = $this->_getSession()->getMessages()->getLastAddedMessage();
     if ($message instanceof Mage_Core_Model_Message_Error) {
         $message_html = $this->getLayout()->createBlock('core/messages')->addMessage($message)->getGroupedHtml();
         setrawcookie("login_messages", rawurlencode($message_html), time() + 300, "/");
     }
     parent::_loginPostRedirect();
 }
Ejemplo n.º 2
0
	protected function _loginPostRedirect() {
		$session = $this->_getSession();
		if ($session->isLoggedIn()) {
			if ($profile = Mage::getSingleton('engage/session')->getIdentifier()) {
				$customer = $session->getCustomer();
				Mage::helper('engage/identifiers')
						->save_identifier($customer->getId(), $profile);
				Mage::getSingleton('engage/session')->setIdentifier(false);
			}
		}

		parent::_loginPostRedirect();
	}
Ejemplo n.º 3
0
 /**
  * Define target URL and redirect customer after logging in
  * 
  * @see Mage_Customer_AccountController::_loginPostRedirect
  * @since 2014/11/05 use default redirect if login was not successful to avoid error message display is being suppressed by multiple redirects
  */
 protected function _loginPostRedirect()
 {
     $session = $this->_getSession();
     # retrieve xml path constant (ce >= 1.6)
     if (defined('Mage_Customer_Helper_Data::XML_PATH_CUSTOMER_STARTUP_REDIRECT_TO_DASHBOARD')) {
         $this->xmlPathCustomerStartupRedirectToDashboard = Mage_Customer_Helper_Data::XML_PATH_CUSTOMER_STARTUP_REDIRECT_TO_DASHBOARD;
     }
     # use default behaviour if privatesales disabled OR login failed OR customer_startup_redirect_dashboard is configured
     if (!Mage::helper('privatesales')->isEnabled() || !$session->isLoggedIn() || Mage::getStoreConfigFlag($this->xmlPathCustomerStartupRedirectToDashboard)) {
         return parent::_loginPostRedirect();
     }
     if (!$session->getBeforeAuthUrl()) {
         #no baseurl comparison here, default logic after here
         # set default URL to redirect customer to
         $session->setBeforeAuthUrl(Mage::helper('customer')->getAccountUrl());
         # redirect customer to the last page visited after logging in
         if ($session->isLoggedIn()) {
             if (!Mage::getStoreConfigFlag($this->xmlPathCustomerStartupRedirectToDashboard)) {
                 $referer = $this->getRequest()->getParam(Mage_Customer_Helper_Data::REFERER_QUERY_PARAM_NAME);
                 if ($referer) {
                     $referer = Mage::helper('core')->urlDecode($referer);
                     if ($this->_isUrlInternal($referer)) {
                         $session->setBeforeAuthUrl($referer);
                     }
                 }
             } elseif ($session->getAfterAuthUrl()) {
                 $session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
             }
         } else {
             $session->setBeforeAuthUrl(Mage::helper('customer')->getLoginUrl());
         }
     } elseif ($session->getBeforeAuthUrl() == Mage::helper('customer')->getLogoutUrl()) {
         $session->setBeforeAuthUrl(Mage::helper('customer')->getDashboardUrl());
     } else {
         if (!$session->getAfterAuthUrl()) {
             $session->setAfterAuthUrl($session->getBeforeAuthUrl());
         }
         if ($session->isLoggedIn()) {
             $session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
         }
     }
     # perform redirect
     $this->_redirectUrl($session->getBeforeAuthUrl(true));
 }