X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fselector.php;h=e736e00c88550e9f1e4280498690559caba7de58;hp=33a4fa966e7a05e6d33ef2aeaca489539a3cb902;hb=39c1aaf705e8e3c274d56ef1fa931a086f729c48;hpb=7a41f3cbb6640f18a4205ef367de6bf050020ed6 diff --git a/inc/selector.php b/inc/selector.php index 33a4fa96..e736e00c 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 - 2009 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2016 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 @@ -22,47 +24,57 @@ * along with this program. If not, see . */ -// Get config instance -$cfg = FrameworkConfiguration::getInstance(); - // Try to load these includes in the given order $configAppIncludes = array( - 'class_' . $cfg->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 $inc) { +foreach ($configAppIncludes as $appInc) { // Skip starter in test mode - if (($inc == 'starter') && (defined('TEST'))) { + if (($appInc == 'starter') && (defined('TEST'))) { // Skip it here continue; - } + } // END - if // Generate a FQFN for the helper class - $fqfn = sprintf("%s%s/%s.php", - $cfg->readConfig('application_path'), - $cfg->readConfig('app_name'), - $inc - ); + $appFqFn = $basePathFile . '/' . $appInc . '.php'; // Does the include file exists? - if ((file_exists($fqfn)) && (is_file($fqfn)) && (is_readable($fqfn))) { + if (BaseFrameworkSystem::isReadableFile($appFqFn)) { // Load it - require_once($fqfn); - } elseif ($cfg->readConfig('verbose_level') > 0) { + //* DEBUG: */ print basename(__FILE__)."[".__LINE__."]: Loading ".basename($appFqFn)." - START\n"; + require($appFqFn); + //* DEBUG: */ print basename(__FILE__)."[".__LINE__."]: Loading ".basename($appFqFn)." - END\n"; + } 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.", - $inc + trigger_error(sprintf('Cannot load application script %s.php! File is missing or read-protected.', + $appInc )); + exit; } } -// [EOF] -?> +// Remove variables from namespace, which we don't need +unset($appInc); +unset($configAppIncludes); +unset($appFqFn); +unset($basePathFile);