From ec430a01c002d250f72ddcf80305cd2576073161 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Roland=20H=C3=A4der?= <roland@mxchange.org>
Date: Fri, 3 Apr 2009 12:26:46 +0000
Subject: [PATCH] Static method detectCorePath() must be added to
 ApplicationEntryPoint

---
 index.php | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/index.php b/index.php
index bc34af5..3945af9 100644
--- a/index.php
+++ b/index.php
@@ -12,7 +12,7 @@ define('DEVELOPER', true);
  *
  * @author		Roland Haeder <webmaster@ship-simu.org>
  * @version		0.0.0
- * @copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team
+ * @copyright	Copyright (c) 2007, 2008 Roland Haeder, this is free software
  * @license		GNU GPL 3.0 or any newer version
  * @link		http://www.ship-simu.org
  *
@@ -29,7 +29,12 @@ define('DEVELOPER', true);
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-class ApplicationEntryPoint {
+final class ApplicationEntryPoint {
+	/**
+	 * Core path
+	 */
+	private static $corePath = '';
+
 	/**
 	 * The instances we want to remove after all is done
 	 *
@@ -155,6 +160,22 @@ class ApplicationEntryPoint {
 		}
 	}
 
+	/**
+	 * Determines the correct absolute path for all include
+	 *
+	 * @return	$basePath	Base path (core) for all includes
+	 */
+	protected static function detectCorePath () {
+		// Is it not set?
+		if (empty(self::$corePath)) {
+			// Auto-detect our core path
+			self::$corePath = str_replace("\\", '/', dirname(__FILE__));
+		} // END - if
+
+		// Return it
+		return self::$corePath;
+	}
+
 	/**
 	 * The application's main entry point. This class isolates some local
 	 * variables which shall not become visible to outside because of security
@@ -165,7 +186,7 @@ class ApplicationEntryPoint {
 	 */
 	public static function main () {
 		// Load config file
-		require(dirname(__FILE__) . '/inc/config.php');
+		require(self::detectCorePath() . '/inc/config.php');
 
 		// Load all include files
 		require($cfg->readConfig('base_path') . 'inc/includes.php');
-- 
2.39.5