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); // Try to load these includes in the given order $configAppIncludes = array( sprintf("class_%s", FrameworkConfiguration::getInstance()->readConfig("app_helper_class")), // The ApplicationHelper class "config", // The application's own configuration "init", // The application initializer "loader", // The application's class loader "debug", // Some debugging stuff "exceptions", // The application's own exception handler "starter", // The application starter (calls entryPoint(), etc.) ); // Load them all (try only) foreach ($configAppIncludes as $inc) { // Skip starter in test mode if (($inc == "starter") && (defined('TEST'))) { // Skip it here continue; } // 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") ); // 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) { // File is missing trigger_error(sprintf("Cannot load application script %s! File is missing or read-protected.", $inc . FrameworkConfiguration::getInstance()->readConfig("php_extension") )); } } // [EOF] ?>