getNames = $getNames; $this->knownCookieRegistry = $knownCookieRegistry; $this->cookieFactory = $cookieFactory; $this->cookieRepository = $cookieRepository; } /** * @inheritdoc */ public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { $describedCookies = $this->getNames->execute(); $knownCookies = $this->knownCookieRegistry->getList(); if ($knownCookies) { foreach ($knownCookies as $cookieName => $cookieData) { if (in_array($cookieName, $describedCookies, true)) { continue; } /** @var \Plumrocket\CookieConsent\Api\Data\CookieInterface $cookie */ $cookie = $this->cookieFactory->create(); $cookie->setName($cookieName); $cookie->setCategoryKey((string) $cookieData[CookieInterface::CATEGORY_KEY]); $cookie->setType($cookieData[CookieInterface::TYPE] ?? Type::TYPE_FIRST); $cookie->setDomain($cookieData[CookieInterface::DOMAIN] ?? ''); $cookie->setDuration((int) ($cookieData[CookieInterface::DURATION] ?? 0)); $cookie->setDescription($cookieData[CookieInterface::DESCRIPTION] ?? ''); $cookie->setStoreId(0); // save on default level $this->cookieRepository->save($cookie); } } } }