// Which store is this? if (!empty($_SERVER['HTTP_HOST'])) { $url = rtrim($_SERVER['HTTP_HOST'] . '/' . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/'), '/') . '%'; $store = Sumo\Database::query("SELECT *\n FROM PREFIX_stores\n WHERE base_http LIKE :url1\n OR base_https LIKE :url2\n OR REPLACE(base_http, 'www.', '') LIKE :url3\n OR REPLACE(base_https, '', '') LIKE :url4\n LIMIT 1", array('url1' => $url, 'url2' => $url, 'url3' => str_replace('www.', '', $url), 'url4' => str_replace('www.', '', $url)))->fetch(); } if (empty($store) || !count($store)) { $store = Sumo\Database::query("SELECT * FROM PREFIX_stores WHERE store_id = 0 LIMIT 1")->fetch(); } $config->set('store_id', $store['store_id']); $config->set('store_data', $store); $config->set('name', $store['name']); $config->set('base_default', $store['base_default']); $config->set('base_http', $store['base_http']); $config->set('base_https', $store['base_https']); // Update cache class with store Sumo\Cache::setStore($store['store_id']); // Get default settings foreach (Sumo\Database::fetchAll("SELECT setting_name, setting_value, is_json FROM PREFIX_settings") as $list) { $config->set($list['setting_name'], $list['is_json'] ? json_decode($list['setting_value'], true) : $list['setting_value']); } // Overrule with store settings foreach (Sumo\Database::fetchAll("SELECT setting_name, setting_value, is_json FROM PREFIX_settings_stores WHERE store_id = :id", array('id' => $store['store_id'])) as $list) { $default = $config->get($list['setting_name']); $value = $list['is_json'] ? json_decode($list['setting_value'], true) : $list['setting_value']; $type = explode('_', $list['setting_name']); if ($type[0] == 'image' && empty($value)) { continue; } if ($default != $value) { $config->set($list['setting_name'], $value); }