Exemple #1
0
Fichier : cf.php Projet : davbfr/cf
if (!defined("ROOT_DIR")) {
    die("ROOT_DIR not defined." . PHP_EOL);
}
Options::set("CF_DIR", dirname(__FILE__), "Path to the framework");
Options::set("CF_PLUGINS_DIR", CF_DIR);
Options::set("PLUGINS_DIR", ROOT_DIR . DIRECTORY_SEPARATOR . "plugins");
Options::set("ROOT_DIR", dirname(CF_DIR));
Options::set("CONFIG_DIR", ROOT_DIR . DIRECTORY_SEPARATOR . "config");
Options::set("CORE_PLUGIN", "Core");
Options::set("FORCE_HTTPS", false);
Options::set("USE_STS", false);
Options::set("DEFAULT_TIMEZONE", "Europe/Paris");
Options::set("DEBUG", false);
Options::set("IS_CLI", defined("STDIN") && substr(php_sapi_name(), 0, 3) == "cli");
Options::set("IS_PHAR", substr(__FILE__, 0, 7) == "phar://");
if (!IS_CLI && FORCE_HTTPS && $_SERVER["HTTPS"] != "on") {
    if (USE_STS) {
        header('Strict-Transport-Security: max-age=500');
    } else {
        header('Status-Code: 301');
        header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
        Output::finish(301);
    }
}
date_default_timezone_set(DEFAULT_TIMEZONE);
if (function_exists('mb_internal_encoding')) {
    mb_internal_encoding('UTF-8');
}
Plugins::registerAutoload();
Plugins::add(CORE_PLUGIN, Plugins::CORE);
Plugins::addApp();
Exemple #2
0
 public static function loadConfig()
 {
     $conf = Config::getInstance();
     $memcache = new MemCache();
     if (array_key_exists("JCONFIG_FILE", $memcache)) {
         $conf->setData($memcache["JCONFIG_FILE"]);
         Logger::debug("Config loaded from cache");
         foreach ($conf->get("plugins", array()) as $plugin) {
             Plugins::add($plugin);
         }
     } else {
         $cache = Cache::Priv(self::config, ".php");
         if ($cache->check()) {
             if (file_exists(ROOT_DIR . "/composer.json")) {
                 $conf->append(ROOT_DIR . "/composer.json", false, "composer");
             }
             if (file_exists(CONFIG_DIR . "/config.json")) {
                 $conf->append(CONFIG_DIR . "/config.json");
             }
             if (file_exists(CONFIG_DIR . "/config.local.json")) {
                 $conf->append(CONFIG_DIR . "/config.local.json");
             }
             foreach (glob(CONFIG_DIR . "/*.json") as $file) {
                 $bn = basename($file);
                 if (substr($bn, 0, 7) != "config.") {
                     $conf->append($file, false, substr($bn, 0, strlen($bn) - 5));
                 }
             }
             if (DEBUG && file_exists(CONFIG_DIR . "/config.debug.json")) {
                 $conf->append(CONFIG_DIR . "/config.debug.json");
             }
             $confsave = $conf->getData();
             foreach ($conf->get("plugins", array()) as $plugin) {
                 Plugins::add($plugin);
             }
             foreach (array_reverse(Plugins::findAll(self::config)) as $dirname) {
                 if (file_exists($dirname . "/config.json")) {
                     $conf->append($dirname . "/config.json");
                 }
                 foreach (glob($dirname . "/*.json") as $file) {
                     $bn = basename($file);
                     if (substr($bn, 0, 7) != "config.") {
                         $conf->append($file, false, substr($bn, 0, strlen($bn) - 5));
                     }
                 }
             }
             Plugins::dispatchAllReversed("config", $conf);
             $conf->merge($confsave);
             ArrayWriter::toFile($conf->getData(), $cache->getFilename());
         } else {
             $conf->setData(ArrayWriter::fromFile($cache->getFilename()));
             foreach ($conf->get("plugins", array()) as $plugin) {
                 Plugins::add($plugin);
             }
         }
         $memcache["JCONFIG_FILE"] = $conf->getData();
     }
 }