]> git.mxchange.org Git - shipsimu.git/blobdiff - inc/selector.php
Application init phase rewritten, data.php now sets app data
[shipsimu.git] / inc / selector.php
index 7af8aa06056930c71b21265d9898aca8fb9c3539..d20cbcb04abcd0c14fa5a5b6fa182142a5395d43 100644 (file)
@@ -2,11 +2,11 @@
 /**
  * The application selector main include file
  *
- * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
- * @copyright  Copyright(c) 2007, 2008 Roland Haeder, this is free software
+ * @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/>.
  */
 
-// Does the user has an application specified?
-if (!empty($_GET[FrameworkConfiguration::getInstance()->readConfig("app_selector_get")])) {
-       // Set the application from string
-       $application = (string) $_GET[FrameworkConfiguration::getInstance()->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] == FrameworkConfiguration::getInstance()->readConfig("app_selector_get")) {
-               // Application is valid!
-               $application = trim($app[1]);
-       } else {
-               // Invalid entry found, first must be "app"!
-               $application = FrameworkConfiguration::getInstance()->readConfig("default_application");
-       }
-} else {
-       // Set the "application selector" application
-       $application = FrameworkConfiguration::getInstance()->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-z_-])+/i', "", $application);
+// Get config instance
+$cfg = FrameworkConfiguration::getInstance();
 
 // Try to load these includes in the given order
 $configAppIncludes = array(
-       sprintf("class_%s", FrameworkConfiguration::getInstance()->readConfig("app_helper_class")), // The ApplicationHelper class
+       sprintf("class_%s", $cfg->readConfig('app_helper_class')), // The ApplicationHelper class
        "config",               // The application's own configuration
+       "data",                 // Application data
        "init",                 // The application initializer
        "loader",               // The application's class loader
        "debug",                // Some debugging stuff
@@ -68,22 +46,20 @@ foreach ($configAppIncludes as $inc) {
        }
 
        // Generate a FQFN for the helper class
-       $fqfn = sprintf("%s%s/%s/%s%s",
-               PATH,
-               FrameworkConfiguration::getInstance()->readConfig("application_path"),
-               $application,
-               $inc,
-               FrameworkConfiguration::getInstance()->readConfig("php_extension")
+       $fqfn = sprintf("%s%s/%s.php",
+               $cfg->readConfig('application_path'),
+               $cfg->readConfig('app_name'),
+               $inc
        );
 
        // Does the include file exists?
        if ((file_exists($fqfn)) && (is_file($fqfn)) && (is_readable($fqfn))) {
                // Load it
                require_once($fqfn);
-       } elseif (FrameworkConfiguration::getInstance()->readConfig("verbose_level") > 0) {
+       } elseif ($cfg->readConfig('verbose_level') > 0) {
                // File is missing
-               trigger_error(sprintf("Cannot load application script %s! File is missing or read-protected.",
-                       $inc . FrameworkConfiguration::getInstance()->readConfig("php_extension")
+               trigger_error(sprintf("Cannot load application script %s.php! File is missing or read-protected.",
+                       $inc
                ));
        }
 }