} 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";