X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=inc%2Fincludes.php;h=7e3f5c9ffc6bf37b059d87261772ff30b4e29bc6;hp=5cecef88756d542602b14f07b043de476a8fd243;hb=abb8bf6be9f5238f8a4552707bcb190f0dbf0b7a;hpb=6a235495afbc92d4116f94be590d40feb1ad7905 diff --git a/inc/includes.php b/inc/includes.php index 5cecef8..7e3f5c9 100644 --- a/inc/includes.php +++ b/inc/includes.php @@ -2,11 +2,11 @@ /** * Loads more include files by using the generic class loader * - * @author Roland Haeder - * @version 0.3.0 - * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software + * @author Roland Haeder + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version - * @link http://www.mxchange.org + * @link http://www.ship-simu.org * * 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 @@ -19,42 +19,68 @@ * 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 . + * along with this program. If not, see . */ +// Get config instance +$cfg = FrameworkConfiguration::getInstance(); + // Include the class loader function -require(sprintf("%sinc/loader/class_ClassLoader%s", PATH, FrameworkConfiguration::getInstance()->readConfig("php_extension"))); +require(sprintf("%sinc/loader/class_ClassLoader.php", $cfg->readConfig('base_path'))); -/** - * Is the devel package included? - */ -if (is_dir(sprintf("%sdevel", PATH))) { - /** - * Load all development includes - */ - ClassLoader::getInstance()->loadClasses("devel"); +// Does the user has an application specified? +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 = $cfg->readConfig('default_application'); + } +} else { + // Set the "application selector" application + $application = $cfg->readConfig('default_application'); } -/** - * Load additional include files before main load - */ -FrameworkConfiguration::getInstance()->loadPreIncludes(); +// 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 +$cfg->setConfigEntry('app_name', $application); /** - * Load all main include files - * - * +++ MAIN LOADER! +++ + * Autoload-function * + * @param $className Name of the class to load + * @return void */ - -/////////////////////////////////////////////////// -// Maybe we need this place for future releases? // -/////////////////////////////////////////////////// +function __autoload ($className) { + // Try to include this class + ClassLoader::getInstance()->includeClass($className); +} /** - * Load additional include files after main load + * Is the devel package included? */ -FrameworkConfiguration::getInstance()->loadPostIncludes(); +if (is_dir(sprintf("%sdevel", $cfg->readConfig('base_path')))) { + /** + * Load all development includes + */ + ClassLoader::getInstance()->loadClasses('devel'); +} + +// Shall we include additional configs where you can configure some things? Then +// Load matching config +ClassLoader::getInstance()->loadExtraConfigs(); // [EOF] ?>