예제 #1
0
    } else {
        $skinName = C("esoTalk.skin");
    }
    // Include the skin file and instantiate its class.
    ET::$skinName = $skinName;
    if (file_exists($file = PATH_SKINS . "/{$skinName}/skin.php")) {
        include_once $file;
    }
    $skinClass = "ETSkin_" . $skinName;
    if (class_exists($skinClass)) {
        ET::$skin = new $skinClass("addons/skins/" . $skinName);
    }
}
// If we haven't got a working skin, just use the base class. It'll be ugly, but it'll do.
if (empty(ET::$skin)) {
    ET::$skin = new ETSkin("");
}
// Add the class as a plugin as well so that its event handlers are called through the normal process.
array_unshift(ET::$plugins, ET::$skin);
//***** 9. SET UP LANGUAGE
// If the user's preferred language differs from the forum's default, then load it now.
if (C("esoTalk.language") != ET::$session->preference("language")) {
    ET::loadLanguage(ET::$session->preference("language"));
}
//***** 10. SET UP CONTROLLER
// If the first part of the request is "admin", presume we're in the admin section.
if ($requestParts[0] == "admin") {
    $controllers = ETFactory::$adminControllers;
    array_shift($requestParts);
    if (empty($requestParts[0])) {
        $requestParts[0] = "dashboard";