X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fincludes.php;fp=inc%2Fincludes.php;h=e235a9e6575a60079a6c9c4ef91444f92671cf6d;hp=0000000000000000000000000000000000000000;hb=cad1ab5ecb2935a6ebf678555860c3bd96b525b0;hpb=1daff5a94de037022058d8760a06bd869de67630 diff --git a/inc/includes.php b/inc/includes.php new file mode 100644 index 00000000..e235a9e6 --- /dev/null +++ b/inc/includes.php @@ -0,0 +1,74 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2016 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.shipsimu.org + * @deprecated + * @todo Minimize these includes + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +// Include the class loader function +require(FrameworkConfiguration::getSelfInstance()->getConfigEntry('base_path') . 'inc/loader/class_ClassLoader.php'); + +/* + * Shall we include additional configs where you can configure some things? + * Then load matching config file. + */ +ClassLoader::getSelfInstance()->loadExtraConfigs(); + +// Register auto-load function with the SPL +// @TODO This makes the core depending on the SPL. But it should be installed anyway. +spl_autoload_register('ClassLoader::autoLoad'); + +// Does the user has an application specified? +// @TODO Find a nicer OOP-ed way for this +if (!empty($_GET['app'])) { + // Set the application from string + $application = (string) $_GET['app']; +} elseif (!empty($_SERVER['argv'][1])) { + // Set the application from string + $application = (string) $_SERVER['argv'][1]; + $app = explode('=', trim($application)); + if ($app[0] == 'app') { + // Application is valid! + $application = trim($app[1]); + } else { + // Invalid entry found, first must be "app"! + $application = FrameworkConfiguration::getSelfInstance()->getConfigEntry('default_application'); + } +} else { + // Set the "application selector" application + $application = FrameworkConfiguration::getSelfInstance()->getConfigEntry('default_application'); +} + +// Secure it, by keeping out tags +$application = htmlentities(strip_tags($application), ENT_QUOTES); + +// Secure it a little more with a reg.exp. +$application = preg_replace('/([^a-z0-9_-])+/i', '', $application); + +// Set the application name for later usage +FrameworkConfiguration::getSelfInstance()->setConfigEntry('app_name', $application); + +// Scan for all framework classes, exceptions and interfaces +ClassLoader::scanFrameworkClasses(); + +// [EOF] +?>