From c043deee4ad5b0f39830948b3ccd27f7fc38c193 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sun, 16 Jul 2017 12:56:32 +0200 Subject: [PATCH] Continued a bit: - renamed method app_exit() to exitApplication(), still it needs rewritings - rewrote a bit searching for framework files, also check __DIR__ from index.php to find it MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../bootstrap/class_FrameworkBootstrap.php | 14 ++++++------- .../classes/class_BaseFrameworkSystem.php | 2 +- .../dataset/class_DataSetCriteria.php | 2 +- .../io_stream/class_FileIoStream.php | 2 +- .../template/class_BaseTemplateEngine.php | 2 +- index.php | 21 ++++++++----------- 6 files changed, 20 insertions(+), 23 deletions(-) diff --git a/framework/bootstrap/class_FrameworkBootstrap.php b/framework/bootstrap/class_FrameworkBootstrap.php index 000a2a9d..0864970f 100644 --- a/framework/bootstrap/class_FrameworkBootstrap.php +++ b/framework/bootstrap/class_FrameworkBootstrap.php @@ -282,10 +282,10 @@ final class FrameworkBootstrap { // Determine if this file is wanted/readable/deprecated if (($status == 'required') && (!self::isReadableFile($fqfn))) { // Nope, required file cannot be found/read from - ApplicationEntryPoint::app_exit(sprintf('Application "%s" does not have required file "%s.php". Please add it.', $application, $fileName)); + ApplicationEntryPoint::exitApplication(sprintf('Application "%s" does not have required file "%s.php". Please add it.', $application, $fileName)); } elseif ((file_exists($fqfn)) && (!is_readable($fqfn))) { // Found, not readable file - ApplicationEntryPoint::app_exit(sprintf('File "%s.php" from application "%s" cannot be read. Please fix CHMOD.', $fileName, $application)); + ApplicationEntryPoint::exitApplication(sprintf('File "%s.php" from application "%s" cannot be read. Please fix CHMOD.', $fileName, $application)); } elseif (($status != 'required') && (!self::isReadableFile($fqfn))) { // Not found but optional/deprecated file, skip it continue; @@ -328,19 +328,19 @@ final class FrameworkBootstrap { // Some sanity checks if ((empty($applicationInstance)) || (is_null($applicationInstance))) { // Something went wrong! - ApplicationEntryPoint::app_exit(sprintf("[Main:] The application %s could not be launched because the helper class %s is not loaded.", + ApplicationEntryPoint::exitApplication(sprintf("[Main:] The application %s could not be launched because the helper class %s is not loaded.", $application, 'CoreFramework\Helper\Application\ApplicationHelper' )); } elseif (!is_object($applicationInstance)) { // No object! - ApplicationEntryPoint::app_exit(sprintf("[Main:] The application %s could not be launched because 'app' is not an object (%s).", + ApplicationEntryPoint::exitApplication(sprintf("[Main:] The application %s could not be launched because 'app' is not an object (%s).", $application, gettype($applicationInstance) )); } elseif (!($applicationInstance instanceof ManageableApplication)) { // Missing interface - ApplicationEntryPoint::app_exit(sprintf("[Main:] The application %s could not be launched because 'app' is lacking required interface ManageableApplication.", + ApplicationEntryPoint::exitApplication(sprintf("[Main:] The application %s could not be launched because 'app' is lacking required interface ManageableApplication.", $application )); } @@ -451,7 +451,7 @@ final class FrameworkBootstrap { * supported and only existed as an idea to select the proper * application (by user). */ - ApplicationEntryPoint::app_exit('No application specified. Please provide a parameter "app" and retry.'); + ApplicationEntryPoint::exitApplication('No application specified. Please provide a parameter "app" and retry.'); } // END - if // Get it for local usage @@ -475,7 +475,7 @@ final class FrameworkBootstrap { // Is the path there? This secures a bit the parameter (from untrusted source). if ((!is_dir($applicationPath)) || (!is_readable($applicationPath))) { // Not found or not readable - ApplicationEntryPoint::app_exit(sprintf('Application "%s" not found.', $application)); + ApplicationEntryPoint::exitApplication(sprintf('Application "%s" not found.', $application)); } // END - if // Set the detected application's name and full path for later usage diff --git a/framework/main/classes/class_BaseFrameworkSystem.php b/framework/main/classes/class_BaseFrameworkSystem.php index 322bd282..56fd1396 100644 --- a/framework/main/classes/class_BaseFrameworkSystem.php +++ b/framework/main/classes/class_BaseFrameworkSystem.php @@ -1749,7 +1749,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { ); // Output it - ApplicationEntryPoint::app_exit(sprintf('
+ ApplicationEntryPoint::exitApplication(sprintf('
%s debug output:
diff --git a/framework/main/classes/criteria/dataset/class_DataSetCriteria.php b/framework/main/classes/criteria/dataset/class_DataSetCriteria.php index 22419d1e..8e00cc2c 100644 --- a/framework/main/classes/criteria/dataset/class_DataSetCriteria.php +++ b/framework/main/classes/criteria/dataset/class_DataSetCriteria.php @@ -167,7 +167,7 @@ class DataSetCriteria extends BaseCriteria implements StoreableCriteria { // Is it empty, too? if (empty($uniqueKey)) { // Bad news, nothing is "unique" by design for this table - ApplicationEntryPoint::app_exit('Table ' . $this->getTableName() . ' has both no primary and unique key, but ' . __METHOD__ . ' was called. Please fix your table.'); + ApplicationEntryPoint::exitApplication('Table ' . $this->getTableName() . ' has both no primary and unique key, but ' . __METHOD__ . ' was called. Please fix your table.'); } else { // Return unique key return $uniqueKey; diff --git a/framework/main/classes/file_directories/io_stream/class_FileIoStream.php b/framework/main/classes/file_directories/io_stream/class_FileIoStream.php index 8bfe1520..51406cbe 100644 --- a/framework/main/classes/file_directories/io_stream/class_FileIoStream.php +++ b/framework/main/classes/file_directories/io_stream/class_FileIoStream.php @@ -96,7 +96,7 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil $fileInstance = ObjectFactory::createObjectByConfiguredName('file_raw_output_class', array($fileName, 'wb')); } catch (FileNotFoundException $e) { // Bail out - ApplicationEntryPoint::app_exit('The application has made a fatal error. Exception: ' . $e->__toString() . ' with message: ' . $e->getMessage()); + ApplicationEntryPoint::exitApplication('The application has made a fatal error. Exception: ' . $e->__toString() . ' with message: ' . $e->getMessage()); } } // END - for diff --git a/framework/main/classes/template/class_BaseTemplateEngine.php b/framework/main/classes/template/class_BaseTemplateEngine.php index cdd90671..a233e776 100644 --- a/framework/main/classes/template/class_BaseTemplateEngine.php +++ b/framework/main/classes/template/class_BaseTemplateEngine.php @@ -987,7 +987,7 @@ class BaseTemplateEngine extends BaseFrameworkSystem { $this->assignVariable($var, $varMatches[3][$key]); } elseif (!empty($varMatches[2][$key])) { // @TODO Non-string found so we need some deeper analysis... - ApplicationEntryPoint::app_exit('Deeper analysis not yet implemented!'); + ApplicationEntryPoint::exitApplication('Deeper analysis not yet implemented!'); } } // END - foreach } diff --git a/index.php b/index.php index 753e54af..f2dae4d4 100644 --- a/index.php +++ b/index.php @@ -58,7 +58,7 @@ final class ApplicationEntryPoint { * @return void * @todo This method is old code and needs heavy rewrite and should be moved to ApplicationHelper */ - public static final function app_exit ($message = '', $code = false, $extraData = '', $silentMode = false) { + public static final function exitApplication ($message = '', $code = false, $extraData = '', $silentMode = false) { // Is this method already called? if (isset($GLOBALS['app_die_called'])) { // Then output the text directly @@ -193,7 +193,7 @@ final class ApplicationEntryPoint { // Is it not set? if (empty(self::$frameworkPath)) { // Auto-detect core path (first application-common) - foreach (array('core', '.', '/usr/local/share/php/core', '/usr/share/php/core') as $possiblePath) { + foreach (array('core', __DIR__, '/usr/local/share/php/core', '/usr/share/php/core') as $possiblePath) { // Create full path for testing $realPath = realpath($possiblePath); @@ -206,22 +206,19 @@ final class ApplicationEntryPoint { continue; } // END - if + // Append framework path + $frameworkPath = sprintf('%s%sframework%s', $realPath, DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR); + // First create full-qualified file name (FQFN) to framework/config-global.php - $fqfn = sprintf( - '%s%sframework%sconfig-global.php', - $realPath, - DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR, - $possiblePath - ); + $configFile = $frameworkPath . 'config-global.php'; // Debug message - //* NOISY-DEBUG: */ printf('[%s:%d]: fqfn=%s' . PHP_EOL, __METHOD__, __LINE__, $fqfn); + //* NOISY-DEBUG: */ printf('[%s:%d]: configFile=%s' . PHP_EOL, __METHOD__, __LINE__, $configFile); // Is it readable? - if (is_readable($fqfn)) { + if (is_readable($configFile)) { // Found one - self::$frameworkPath = $realPath . '/framework/'; + self::$frameworkPath = $frameworkPath; // Abort here break; -- 2.30.2