Beispiel #1
0
 /**
  * Init backend locales
  */
 protected function initLocale()
 {
     $bootstrap = $this->Application()->Bootstrap();
     $locale = $this->getCurrentLocale();
     $bootstrap->getResource('Locale')->setLocale($locale->toString());
     $bootstrap->getResource('Snippets')->setLocale($locale);
     $template = $bootstrap->getResource('Template');
     $baseHash = $this->request->getScheme() . '://' . $this->request->getHttpHost() . $this->request->getBaseUrl() . '?' . Shopware::REVISION;
     $baseHash = substr(sha1($baseHash), 0, 5);
     $template->setCompileId('backend_' . $locale->toString() . '_' . $baseHash);
     if ($this->action !== null && $this->action->View()->hasTemplate()) {
         $this->action->View()->Template()->setCompileId($template->getCompileId());
     }
 }
Beispiel #2
0
 /**
  * Refresh referrer log
  *
  * @param   \Enlight_Controller_Request_Request $request
  */
 public function refreshReferer($request)
 {
     $referer = $request->getParam('referer');
     $partner = $request->getParam('partner', $request->getParam('sPartner'));
     if (empty($referer) || strpos($referer, 'http') !== 0 || strpos($referer, $request->getHttpHost()) !== false || !empty(Shopware()->Session()->Admin)) {
         return;
     }
     Shopware()->Session()->sReferer = $referer;
     if ($partner !== null) {
         $referer .= '$' . $partner;
     }
     $sql = 'INSERT INTO s_statistics_referer (datum, referer) VALUES (NOW(), ?)';
     Shopware()->Db()->query($sql, array($referer));
 }
 /**
  * Returns default image columns name
  *
  * @return array
  */
 public function getDefaultColumns()
 {
     $path = $this->request->getScheme() . '://' . $this->request->getHttpHost() . $this->request->getBasePath() . '/media/image/';
     $columns = ['mv.number as ordernumber', "CONCAT('{$path}', aimage.path, '.', aimage.extension) as image", 'aimage.main as main', 'aimage.description as description', 'aimage.position as position', 'aimage.width as width', 'aimage.height as height', "GroupConcat( im.id, '|', mr.optionId, '|' , co.name, '|', cg.name\n            ORDER by im.id\n            SEPARATOR ';' ) as relations", ' \'1\' as thumbnail'];
     return $columns;
 }
Beispiel #4
0
 /**
  * Add context cookie
  *
  * @param Request $request
  * @param Response $response
  */
 private function addContextCookie(Request $request, Response $response)
 {
     /** @var $session Enlight_Components_Session_Namespace */
     $session = $this->get('session');
     if ($session->offsetGet('sCountry')) {
         /** @var ProductContextInterface $productContext */
         $productContext = $this->get('shopware_storefront.context_service')->getProductContext();
         $userContext = sha1(json_encode($productContext->getTaxRules()) . json_encode($productContext->getCurrentCustomerGroup()));
         $response->setCookie('x-cache-context-hash', $userContext, 0, $request->getBasePath() . '/', $request->getHttpHost() == 'localhost' ? null : $request->getHttpHost());
     } else {
         if ($request->getCookie('x-cache-context-hash')) {
             $response->setCookie('x-cache-context-hash', null, strtotime('-1 Year', time()), $request->getBasePath() . '/', $request->getHttpHost() == 'localhost' ? null : $request->getHttpHost());
         }
     }
 }
Beispiel #5
0
 /**
  * @param \Enlight_Controller_Request_Request $request
  * @return \Shopware\Models\Shop\Shop
  */
 public function getActiveByRequest($request)
 {
     /** @var $shop \Shopware\Models\Shop\Shop */
     $shop = null;
     $host = $request->getHttpHost();
     if (empty($host)) {
         return $shop;
     }
     $requestPath = $request->getRequestUri();
     $builder = $this->getActiveQueryBuilder();
     $builder->andWhere("shop.host=:host OR (shop.host IS NULL AND main.host=:host)");
     if ($request->isSecure()) {
         $builder->orWhere("shop.secureHost=:host OR (shop.secureHost IS NULL AND main.secureHost=:host)");
     }
     $builder->setParameter('host', $host);
     /** @var $shops \Shopware\Models\Shop\Shop[] */
     $shops = $builder->getQuery()->getResult();
     foreach ($shops as $currentShop) {
         $this->fixActive($currentShop);
     }
     //returns the right shop depending on the url
     $shop = $this->getShopByRequest($shops, $requestPath);
     if ($shop !== null) {
         return $shop;
     }
     $builder = $this->getActiveQueryBuilder();
     $builder->andWhere('shop.hosts LIKE :host1 OR shop.hosts LIKE :host2 OR shop.hosts LIKE :host3')->setParameter('host1', "%\n" . $host . "\n%")->setParameter('host2', $host . "\n%")->setParameter('host3', "%\n" . $host);
     $shop = $builder->getQuery()->getOneOrNullResult();
     if ($shop !== null) {
         $this->fixActive($shop);
     }
     return $shop;
 }