/** * @param array $data * @return Shop */ public function hydrate($data) { $shop = new Shop(); $shop->setId((int) $data['__shop_id']); $shop->setIsDefault((bool) $data['__shop_default']); $shop->setName($data['__shop_name']); $shop->setTitle($data['__shop_title']); $shop->setFallbackId((int) $data['__shop_fallback_id']); $shop->setCurrency($this->currencyHydrator->hydrate($data)); $shop->setCustomerGroup($this->customerGroupHydrator->hydrate($data)); $shop->setCategory($this->categoryHydrator->hydrate($data)); $shop->setLocale($this->localeHydrator->hydrate($data)); $parent = $data; if ($data['parent']) { $parent = $data['parent']; } $shop->setTemplate($this->templateHydrator->hydrate($parent)); $shop->setParentId((int) $parent['__shop_id']); $shop->setHost($parent['__shop_host']); $shop->setPath($parent['__shop_base_path']); $shop->setUrl($data['__shop_base_url'] ?: $parent['__shop_base_url']); $shop->setSecure((bool) $parent['__shop_secure']); $shop->setSecureHost($parent['__shop_secure_host']); $shop->setSecurePath($parent['__shop_secure_base_path']); $hosts = []; if ($parent['__shop_hosts']) { $hosts = explode('\\n', $parent['__shop_hosts']); $hosts = array_unique(array_values(array_filter($hosts))); } $shop->setHosts($hosts); return $shop; }
/** * 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; }