public function delete($key)
 {
     return Sumo\Cache::remove($key, true);
     $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\\._-]/i', '', $key) . '.*');
     if ($files) {
         foreach ($files as $file) {
             if (file_exists($file)) {
                 unlink($file);
             }
         }
     }
 }
Exemple #2
0
 require DIR_SYSTEM . 'engine/error.php';
 require DIR_SYSTEM . 'startup.php';
 define('ABS_START', microtime(true));
 // Registry
 $registry = new Registry();
 // Loader
 $loader = new Loader($registry);
 $registry->set('load', $loader);
 // Config
 $config = new Config();
 $registry->set('config', $config);
 // Database *legacy*
 //$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
 Sumo\Database::setup(array('hostname' => DB_HOSTNAME, 'username' => DB_USERNAME, 'password' => DB_PASSWORD, 'database' => DB_DATABASE, 'prefix' => DB_PREFIX));
 //$registry->set('db', Sumo);
 Sumo\Cache::disableCache(defined('NO_CACHE') ? true : false);
 $check = Sumo\Database::query("SELECT setting_value FROM PREFIX_settings WHERE setting_name = 'admin_directory'")->fetch();
 $stores = Sumo\Database::fetchAll("SELECT base_http, base_https FROM PREFIX_stores");
 $tmp = $_SERVER['REQUEST_URI'];
 foreach ($stores as $list) {
     foreach ($list as $key => $value) {
         $list[$key] = explode('/', trim($value, '/'));
         $list[$key] = end($list[$key]);
     }
     $tmp = trim(str_replace($list, '', $tmp), '/');
 }
 $tmp = explode('/', $tmp);
 $tmp = $tmp[0];
 if (!empty($_SERVER['HTTP_HOST']) && !empty($tmp) && !empty($check) && !isset($_GET['resource'])) {
     if ($tmp == $check['setting_value']) {
         define('ADMIN_ENABLED', true);
Exemple #3
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);
    }