X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=inc%2Fincludes.php;h=7e3f5c9ffc6bf37b059d87261772ff30b4e29bc6;hp=c9158581e7c6ffdce0e64538e0687ef2e1926d15;hb=abb8bf6be9f5238f8a4552707bcb190f0dbf0b7a;hpb=87db91afa01eda4ca4f3b72a3f795cd2cc28d6f0 diff --git a/inc/includes.php b/inc/includes.php index c915858..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,20 +19,63 @@ * 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'))); + +// 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 */ - ClassLoader::getInstance()->loadClasses("devel"); + ClassLoader::getInstance()->loadClasses('devel'); } // Shall we include additional configs where you can configure some things? Then