id_shop = $shop; $cookiesPlusFinality->technical = (isset($cookieDefault['technical']) && $cookieDefault['technical']) ? $cookieDefault['technical'] : 0; $cookiesPlusFinality->active = (isset($cookieDefault['active']) && $cookieDefault['active']) ? $cookieDefault['active'] : 0; if (isset($cookieDefault['modules']) && $cookieDefault['modules']) { $modulesIds = []; $modules = Module::getModulesOnDisk(true); foreach ($modules as $module) { if ($module->installed && in_array($module->name, $cookieDefault['modules'])) { $modulesIds[] = $module->id; } } $cookiesPlusFinality->modules = json_encode($modulesIds); // If store has any of the modules, enable this finality if ($modulesIds) { $cookiesPlusFinality->active = 1; } } foreach ($languages as $lang) { if (version_compare(_PS_VERSION_, '1.5', '<')) { $languageCode = $lang['iso_code']; } else { $languageCode = strtok($lang['language_code'], '-'); } $cookiesPlusFinality->name[$lang['id_lang']] = (isset($cookieDefault['name'][$languageCode]) && $cookieDefault['name'][$languageCode]) ? $cookieDefault['name'][$languageCode] : $cookieDefault['name']['en']; $cookiesPlusFinality->description[$lang['id_lang']] = (isset($cookieDefault['description'][$languageCode]) && $cookieDefault['description'][$languageCode]) ? $cookieDefault['description'][$languageCode] : $cookieDefault['description']['en']; } $cookiesPlusFinality->save(); if (isset($cookieDefault['cookies']) && $cookieDefault['cookies']) { foreach ($cookieDefault['cookies'] as $cookie) { $cookiesPlusCookie = new CookiesPlusCookie(); $cookiesPlusCookie->id_shop = $shop; $cookiesPlusCookie->id_cookiesplus_finality = $cookiesPlusFinality->id; $cookiesPlusCookie->active = $cookie['active']; $cookiesPlusCookie->name = $cookie['name']; $cookiesPlusCookie->provider = isset($cookie['provider']) ? $cookie['provider'] : ''; $cookiesPlusCookie->provider_url = isset($cookie['provider_url']) ? $cookie['provider_url'] : ''; // If store has any of the modules, enable this finality if (isset($cookie['modules']) && $cookie['modules']) { $modules = Module::getModulesOnDisk(true); foreach ($modules as $module) { if ($module->installed && in_array($module->name, $cookie['modules'])) { $cookiesPlusCookie->active = 1; $cookiesPlusFinality = new CookiesPlusFinality((int) $cookiesPlusFinality->id); $cookiesPlusFinality->active = 1; $cookiesPlusFinality->save(); continue; } } } foreach ($languages as $lang) { if (version_compare(_PS_VERSION_, '1.5', '<')) { $languageCode = $lang['iso_code']; } else { $languageCode = strtok($lang['language_code'], '-'); } if (isset($cookie['purpose']['en'])) { $cookiesPlusCookie->purpose[$lang['id_lang']] = (isset($cookie['purpose'][$languageCode]) && $cookie['purpose'][$languageCode]) ? $cookie['purpose'][$languageCode] : $cookie['purpose']['en']; } if (isset($cookie['expiry']['en'])) { $cookiesPlusCookie->expiry[$lang['id_lang']] = (isset($cookie['expiry'][$languageCode]) && $cookie['expiry'][$languageCode]) ? $cookie['expiry'][$languageCode] : $cookie['expiry']['en']; } } $cookiesPlusCookie->save(); } } } } if (version_compare(_PS_VERSION_, '1.6', '<')) { Configuration::updateValue('C_P_BACKGROUND_COLOR', '#FFFFFF'); Configuration::updateValue('C_P_FONT_COLOR', '#000000'); } Configuration::updateValue('C_P_BOTS', Configuration::get('C_P_BOTS') . '|Cookiebot|Lighthouse'); return true; }