X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fselector.php;h=1010386c2b46e12e2aa54878f16f29499b9f17f0;hp=69dfe73d0ee2f85329e7a6734a7d398cacaf9e8d;hb=d26e71af1e28dc1429823bdec244df6303f9b2fb;hpb=d0b4c6f14572b8f390b357dcf48082632e53d458 diff --git a/inc/selector.php b/inc/selector.php index 69dfe73d..1010386c 100644 --- a/inc/selector.php +++ b/inc/selector.php @@ -2,11 +2,13 @@ /** * The application selector main include file * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @link http://www.shipsimu.org + * @deprecated + * @todo Minimize these includes * * 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 @@ -24,26 +26,37 @@ // Try to load these includes in the given order $configAppIncludes = array( - 'class_' . FrameworkConfiguration::getInstance()->readConfig('app_helper_class'), // The ApplicationHelper class + 'class_' . FrameworkConfiguration::getSelfInstance()->getConfigEntry('app_helper_class'), // The ApplicationHelper class + 'debug', // Some debugging stuff + 'exceptions', // The application's own exception handler + 'loader', // The application's class loader 'config', // The application's own configuration + 'config-local', // Local configuration file (optional) 'data', // Application data '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.) ); +// Cache base path/file here +$basePathFile = FrameworkConfiguration::getSelfInstance()->getConfigEntry('application_path') . FrameworkConfiguration::getSelfInstance()->getConfigEntry('app_name'); + +// Is the directory there? +if (!is_dir($basePathFile)) { + // Not found. + trigger_error('Application ' . FrameworkConfiguration::getSelfInstance()->getConfigEntry('app_name') . ' not found.'); + exit; +} // END - if + // Load them all (try only) foreach ($configAppIncludes as $appInc) { // Skip starter in test mode if (($appInc == 'starter') && (defined('TEST'))) { // Skip it here continue; - } + } // END - if // Generate a FQFN for the helper class - $appFqFn = FrameworkConfiguration::getInstance()->readConfig('application_path') . FrameworkConfiguration::getInstance()->readConfig('app_name') . '/' . $appInc . '.php'; + $appFqFn = $basePathFile . '/' . $appInc . '.php'; // Does the include file exists? if ((file_exists($appFqFn)) && (is_file($appFqFn)) && (is_readable($appFqFn))) { @@ -51,16 +64,20 @@ foreach ($configAppIncludes as $appInc) { //* DEBUG: */ print basename(__FILE__)."[".__LINE__."]: Loading ".basename($appFqFn)." - START\n"; require($appFqFn); //* DEBUG: */ print basename(__FILE__)."[".__LINE__."]: Loading ".basename($appFqFn)." - END\n"; - } elseif (FrameworkConfiguration::getInstance()->readConfig('verbose_level') > 0) { + } elseif (FrameworkConfiguration::getSelfInstance()->getConfigEntry('verbose_level') > 0) { // File is missing - trigger_error(sprintf("Cannot load application script %s.php! File is missing or read-protected.", + trigger_error(sprintf('Cannot load application script %s.php! File is missing or read-protected.', $appInc )); + exit; } } // Remove variables from namespace, which we don't need -unset($appInc, $configAppIncludes, $appFqFn); +unset($appInc); +unset($configAppIncludes); +unset($appFqFn); +unset($basePathFile); // [EOF] ?>