Beispiel #1
0
 /**
  * Authenticate controller action by login customer
  *
  * @param   \Magento\Framework\App\Action\Action $action
  * @param   bool|null $loginUrl
  * @return  bool
  */
 public function authenticate(\Magento\Framework\App\Action\Action $action, $loginUrl = null)
 {
     if ($this->isLoggedIn()) {
         return true;
     }
     $this->setBeforeAuthUrl($this->_createUrl()->getUrl('*/*/*', array('_current' => true)));
     if (isset($loginUrl)) {
         $action->getResponse()->setRedirect($loginUrl);
     } else {
         $arguments = $this->_customerData->getLoginUrlParams();
         if ($this->_session->getCookieShouldBeReceived() && $this->_createUrl()->getUseSession()) {
             $arguments += array('_query' => array($this->sidResolver->getSessionIdQueryParam($this->_session) => $this->_session->getSessionId()));
         }
         $action->getResponse()->setRedirect($this->_createUrl()->getUrl(\Magento\Customer\Helper\Data::ROUTE_ACCOUNT_LOGIN, $arguments));
     }
     return false;
 }
Beispiel #2
0
 /**
  * Authenticate controller action by login customer
  *
  * @param   bool|null $loginUrl
  * @return  bool
  */
 public function authenticate($loginUrl = null)
 {
     if ($this->isLoggedIn()) {
         return true;
     }
     $this->setBeforeAuthUrl($this->_createUrl()->getUrl('*/*/*', ['_current' => true]));
     if (isset($loginUrl)) {
         $this->response->setRedirect($loginUrl);
     } else {
         $arguments = $this->_customerUrl->getLoginUrlParams();
         if ($this->_session->getCookieShouldBeReceived() && $this->_createUrl()->getUseSession()) {
             $arguments += ['_query' => [$this->sidResolver->getSessionIdQueryParam($this->_session) => $this->_session->getSessionId()]];
         }
         $this->response->setRedirect($this->_createUrl()->getUrl(\Magento\Customer\Model\Url::ROUTE_ACCOUNT_LOGIN, $arguments));
     }
     return false;
 }
Beispiel #3
0
 /**
  * Replace Session ID value in URL
  *
  * @param string $html
  * @return string
  */
 public function sessionUrlVar($html)
 {
     return preg_replace_callback(
         '#(\?|&|&)___SID=([SU])(&|&)?#',
         // @codingStandardsIgnoreStart
         /**
          * Callback function for session replace
          *
          * @param array $match
          * @return string
          */
         // @codingStandardsIgnoreEnd
         function ($match) {
             if ($this->useSessionIdForUrl($match[2] == 'S' ? true : false)) {
                 return $match[1] . $this->_sidResolver->getSessionIdQueryParam($this->_session) . '='
                 . $this->_session->getSessionId() . (isset($match[3]) ? $match[3] : '');
             } else {
                 if ($match[1] == '?') {
                     return isset($match[3]) ? '?' : '';
                 } elseif ($match[1] == '&' || $match[1] == '&') {
                     return isset($match[3]) ? $match[3] : '';
                 }
             }
         },
         $html
     );
 }
Beispiel #4
0
 /**
  * Replace Session ID value in URL
  *
  * @param string $html
  * @return string
  */
 public function sessionUrlVar($html)
 {
     return preg_replace_callback('#(\\?|&|&)___SID=([SU])(&|&)?#', function ($match) {
         if ($this->useSessionIdForUrl($match[2] == 'S' ? true : false)) {
             return $match[1] . $this->_sidResolver->getSessionIdQueryParam($this->_session) . '=' . $this->_session->getSessionId() . (isset($match[3]) ? $match[3] : '');
         } else {
             if ($match[1] == '?') {
                 return isset($match[3]) ? '?' : '';
             } elseif ($match[1] == '&' || $match[1] == '&') {
                 return isset($match[3]) ? $match[3] : '';
             }
         }
     }, $html);
 }