/**
  * {@inheritdoc}
  */
 public function postFilter($url, Context $context)
 {
     $params = $context->getParams();
     if ($this->isFullPath($params)) {
         $secure = $this->isSecure($context, $params);
         $url = ($secure ? 'https://' : 'http://') . ($secure ? $context->getSecureHost() : $context->getHost()) . ($secure ? $context->getSecureBaseUrl() : $context->getBaseUrl()) . '/' . $url;
     }
     //@todo make session postfilter
     if (!empty($params['appendSession'])) {
         $url .= strpos($url, '?') === false ? '?' : '&';
         $url .= session_name() . '=' . session_id();
         $url .= '&__shop=' . $context->getShopId();
     }
     return $url;
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public function match($pathInfo, Context $context)
 {
     if (strpos($pathInfo, '/backend/') === 0 || strpos($pathInfo, '/api/') === 0) {
         return $pathInfo;
     }
     if ($context->getShopId() === null) {
         // only frontend
         return $pathInfo;
     }
     // Rewrites queries
     $params = $context->getParams();
     $params = $this->queryAliasMapper->replaceShortParams($params);
     /* templates/_emotion/frontend/_resources/javascript/jquery.shopware.js */
     if (isset($params['sAction'])) {
         $params['action'] = $params['sAction'];
     }
     if (isset($params['sViewport'])) {
         $params['controller'] = $params['sViewport'];
     }
     $context->setParams($params);
     // /widgets and /index supports short request queries
     if ($pathInfo === '/' || strpos($pathInfo, '/widgets/') === 0) {
         return $pathInfo;
     }
     $pathInfo = ltrim($pathInfo, '/');
     $statement = $this->getRouteStatement();
     $statement->bindValue(':shopId', $context->getShopId(), \PDO::PARAM_INT);
     $statement->bindValue(':pathInfo', $pathInfo, \PDO::PARAM_STR);
     if ($statement->execute() && $statement->rowCount() > 0) {
         $route = $statement->fetch(\PDO::FETCH_ASSOC);
         $query = $this->getQueryFormOrgPath($route['orgPath']);
         if (empty($route['main']) || $route['shopId'] != $context->getShopId()) {
             $query['rewriteAlias'] = true;
         } else {
             $query['rewriteUrl'] = true;
         }
         return $query;
     }
     return $pathInfo;
 }