예제 #1
0
    foreach (C("esoTalk.enabledPlugins") as $v) {
        if (file_exists($file = PATH_PLUGINS . "/" . sanitizeFileName($v) . "/plugin.php")) {
            include_once $file;
        }
        $className = "ETPlugin_{$v}";
        if (!class_exists($className)) {
            continue;
        }
        ET::$plugins[$v] = new $className("addons/plugins/" . $v);
        ET::$plugins[$v]->boot();
    }
}
//***** 6. INITIALIZE SESSION AND DATABASE, AND CACHE
// Initialize the cache.
$cacheClass = C("esoTalk.cache");
ET::$cache = ETFactory::make($cacheClass ? $cacheClass : "cache");
// Connect to the database.
ET::$database = ETFactory::make("database");
ET::$database->init(C("esoTalk.database.host"), C("esoTalk.database.user"), C("esoTalk.database.password"), C("esoTalk.database.dbName"), C("esoTalk.database.prefix"), C("esoTalk.database.connectionOptions"), C("esoTalk.database.port"));
// Initialize the session.
ET::$session = ETFactory::make("session");
// Check if any plugins need upgrading by comparing the versions in ET::$pluginInfo with the versions in
// ET::$config.
foreach (ET::$plugins as $k => $v) {
    if (C("{$k}.version") != ET::$pluginInfo[$k]["version"]) {
        if ($v->setup(C("{$k}.version"))) {
            ET::writeConfig(array("{$k}.version" => ET::$pluginInfo[$k]["version"]));
        }
    }
}
//***** 7. PARSE REQUEST