/**
* Loads more include files by using the generic class loader
*
- * @author Roland Haeder <webmaster@mxchange.org>
- * @version 0.3.0
+ * @author Roland Haeder <webmaster@ship-simu.org>
+ * @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
* 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 <http://www.gnu.org/licenses/>.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+// 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%s", PATH, $cfg->readConfig('php_extension')));
-/**
- * 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[$cfg->readConfig('app_selector_get')])) {
+ // Set the application from string
+ $application = (string) $_GET[$cfg->readConfig('app_selector_get')];
+} elseif (!empty($_SERVER['argv'][1])) {
+ // Set the application from string
+ $application = (string) $_SERVER['argv'][1];
+ $app = explode('=', trim($application));
+ if ($app[0] == $cfg->readConfig('app_selector_get')) {
+ // 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-z_-])+/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", 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]
?>