foreach ($REX['ADDON']['seo42']['settings'] as $key => $value) { if ($key != 'lang') { // lang is extra, see below if (isset($settings[$key])) { $settings[$key] = seo42_utils::convertVarType($value, $settings[$key]); } } } // replace settings $REX['ADDON']['seo42']['settings'] = array_merge((array) $REX['ADDON']['seo42']['settings'], $settings); // type conversion lang settings foreach ($REX['CLANG'] as $clangId => $clangName) { if (isset($langSettings[$clangId])) { foreach ($langSettings[$clangId] as $key => $value) { if (isset($langSettings[$clangId][$key]) && isset($REX['ADDON']['seo42']['settings']['lang'][0][$key])) { $langSettings[$clangId][$key] = seo42_utils::convertVarType($REX['ADDON']['seo42']['settings']['lang'][0][$key], $langSettings[$clangId][$key]); } } } } // reset inherit_from_clang to default if rewrite_mode not changed foreach ($REX['CLANG'] as $clangId => $clangName) { if (isset($langSettings[$clangId])) { if (isset($langSettings[$clangId]['rewrite_mode']) && $langSettings[$clangId]['rewrite_mode'] != SEO42_REWRITEMODE_INHERIT) { $langSettings[$clangId]['inherit_from_clang'] = 0; } } } // replace lang settings unset($REX['ADDON']['seo42']['settings']['lang']); $REX['ADDON']['seo42']['settings']['lang'] = $langSettings;