X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=index.php;h=8a0bec3be1dd52b9dad0a75d128df578d7a336de;hp=308cda9277dd63f3fef63dc86cdfbb6cf657b753;hb=45bc9dea4a662eedad283e17cbeb71bb5f9eee21;hpb=192b26cef03489fe24e3277d1d99f98e7434406d diff --git a/index.php b/index.php index 308cda92..8a0bec3b 100644 --- a/index.php +++ b/index.php @@ -177,15 +177,50 @@ final class ApplicationEntryPoint { /** * Determines the correct absolute path for all includes only once per run. - * Other calls of this method are being "cached". + * Other calls of this method are being "cached". This is done by checking + * a small list of common paths where the framework can reside and check if + * inc/config.php can be found. * * @return $corePath Base path (core) for all includes */ protected static final function detectCorePath () { // Is it not set? if (empty(self::$corePath)) { - // Auto-detect our core path - self::$corePath = str_replace("\\", '/', dirname(__FILE__)); + // Auto-detect core path (first application-common) + foreach (array('core', '.') as $possiblePath) { + // Create full path for testing + $realPath = realpath($possiblePath); + + // Debug message + //* NOISY-DEBUG: */ printf('[%s:%d]: realPath[%s]=%s' . PHP_EOL, __METHOD__, __LINE__, gettype($realPath), $realPath); + + // Is it FALSE? + if ($realPath === FALSE) { + // Then, not found. + continue; + } // END - if + + // First create full-qualified file name (FQFN) to inc/config.php + $fqfn = sprintf( + '%s%sinc%sconfig.php', + $realPath, + DIRECTORY_SEPARATOR, + DIRECTORY_SEPARATOR, + $possiblePath + ); + + // Debug message + //* NOISY-DEBUG: */ printf('[%s:%d]: fqfn=%s' . PHP_EOL, __METHOD__, __LINE__, $fqfn); + + // Is it readable? + if (is_readable($fqfn)) { + // Found one + self::$corePath = $realPath; + + // Abort here + break; + } // END - if + } // END - foreach } // END - if // Return it