Ejemplo n.º 1
0
// 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);
    }