X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=inc%2Fincludes.php;h=7e3f5c9ffc6bf37b059d87261772ff30b4e29bc6;hp=139be1401c604c87a484746ae148e36c26823ab7;hb=abb8bf6be9f5238f8a4552707bcb190f0dbf0b7a;hpb=da516c3d08eed6ecc7e38bb99419971033432e69 diff --git a/inc/includes.php b/inc/includes.php index 139be14..7e3f5c9 100644 --- a/inc/includes.php +++ b/inc/includes.php @@ -4,9 +4,9 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.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 @@ -22,13 +22,56 @@ * 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'))); + +// 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'); +} + +// 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); + +/** + * Autoload-function + * + * @param $className Name of the class to load + * @return void + */ +function __autoload ($className) { + // Try to include this class + ClassLoader::getInstance()->includeClass($className); +} /** * Is the devel package included? */ -if (is_dir(sprintf("%sdevel", PATH))) { +if (is_dir(sprintf("%sdevel", $cfg->readConfig('base_path')))) { /** * Load all development includes */