Esempio n. 1
0
 /**
  * Converts a shop doctrine model to a shop struct
  * @param \Shopware\Models\Shop\Shop $shop
  * @return Struct\Shop
  */
 public function convertShop(Models\Shop\Shop $shop)
 {
     $struct = new Struct\Shop();
     $struct->setId($shop->getId());
     $struct->setName($shop->getName());
     $struct->setHost($shop->getHost());
     $struct->setPath($shop->getBasePath());
     $struct->setUrl($shop->getBaseUrl());
     $struct->setSecure($shop->getSecure());
     $struct->setSecureHost($shop->getSecureHost());
     $struct->setSecurePath($struct->getSecurePath());
     if ($shop->getCategory()) {
         $struct->setCategory($this->convertCategory($shop->getCategory()));
     }
     return $struct;
 }
Esempio n. 2
0
 /**
  * @param ShopEntity $shop
  * @return Shop
  */
 public static function createFromShopEntity(ShopEntity $shop)
 {
     $struct = new self();
     $struct->setId($shop->getId());
     $struct->setParentId($shop->getMain() ? $shop->getMain()->getId() : $shop->getId());
     $struct->setIsDefault($shop->getDefault());
     $struct->setName($shop->getName());
     $struct->setHost($shop->getHost());
     $struct->setPath($shop->getBasePath());
     $struct->setUrl($shop->getBaseUrl());
     $struct->setSecure($shop->getSecure());
     $struct->setSecureHost($shop->getSecureHost());
     $struct->setSecurePath($shop->getSecureBasePath());
     if ($shop->getCategory()) {
         $struct->setCategory(Category::createFromCategoryEntity($shop->getCategory()));
     }
     if ($shop->getFallback()) {
         $struct->setFallbackId($shop->getFallback()->getId());
     }
     return $struct;
 }
Esempio n. 3
0
 /**
  * Returns the shop url to the generated compiler source map.
  *
  * @param Shop\Shop $shop
  * @return string
  */
 public function getSourceMapUrl(Shop\Shop $shop)
 {
     return $shop->getBasePath() . '/web/cache/css.source.map';
 }
Esempio n. 4
0
 /**
  * @param Request $request
  * @param Shop $newShop
  * @return string
  */
 protected function getNewShopUrl(Request $request, Shop $newShop)
 {
     $repository = Shopware()->Models()->getRepository('Shopware\\Models\\Shop\\Shop');
     $requestShop = $repository->getActiveByRequest($request);
     // Remove baseUrl from request url
     $url = $request->getRequestUri();
     if ($requestShop && strpos($url, $requestShop->getBaseUrl()) === 0) {
         $url = substr($url, strlen($requestShop->getBaseUrl()));
     }
     $baseUrl = $request->getBaseUrl();
     if (strpos($url, $baseUrl) === 0) {
         $url = substr($url, strlen($baseUrl));
     }
     $basePath = $newShop->getBasePath();
     if (strpos($url, $basePath) === 0) {
         $url = substr($url, strlen($basePath));
     }
     $host = $newShop->getHost();
     $baseUrl = $newShop->getBaseUrl() ?: $request->getBasePath();
     if ($request->isSecure()) {
         $host = $newShop->getSecureHost() ?: $newShop->getHost();
         if ($newShop->getSecureBaseUrl()) {
             $baseUrl = $newShop->getSecureBaseUrl();
         } elseif ($newShop->getBaseUrl()) {
             $baseUrl = $newShop->getBaseUrl();
         } else {
             $baseUrl = $request->getBaseUrl();
         }
     }
     $host = trim($host, '/');
     $baseUrl = trim($baseUrl, '/');
     if (!empty($baseUrl)) {
         $baseUrl = '/' . $baseUrl;
     }
     $url = ltrim($url, '/');
     if (!empty($url)) {
         $url = '/' . $url;
     }
     //build full redirect url to allow host switches
     return sprintf('%s://%s%s%s', $request->getScheme(), $host, $baseUrl, $url);
 }