X-Git-Url: https://git.mxchange.org/?p=hub.git;a=blobdiff_plain;f=inc%2Fconfig%2Fclass_FrameworkConfiguration.php;fp=inc%2Fconfig%2Fclass_FrameworkConfiguration.php;h=e3202603aba1317a735a0bfbf02dcc37b2206f3a;hp=8f6fa15f45cd254137a917bb7744bd481a3974f8;hb=12dbc1af8f0bc2981711b17c7c955f270c440b35;hpb=663356790b69b73605e383989654ed51bf1b22e8 diff --git a/inc/config/class_FrameworkConfiguration.php b/inc/config/class_FrameworkConfiguration.php index 8f6fa15f4..e3202603a 100644 --- a/inc/config/class_FrameworkConfiguration.php +++ b/inc/config/class_FrameworkConfiguration.php @@ -2,8 +2,8 @@ /** * A class for the configuration stuff implemented in a singleton design paddern * - * NOTE: We cannot put this in inc/classes/ because it would be loaded (again) - * in the class loader. See inc/loader/class_ClassLoader.php for instance + * NOTE: We cannot put this in inc/classes/ because it would be loaded (again) in + * class loader. See inc/loader/class_ClassLoader.php for instance * * @see ClassLoader * @author Roland Haeder @@ -51,46 +51,18 @@ class FrameworkConfiguration implements Registerable { // Empty for now } - /** - * "Create" a configuration instance - * - * @param $enableDebug Wether enable debug mode (default: off) - * @return $cfgInstance An instance of this configuration class - */ - public final static function createFrameworkConfiguration ($enableDebug = false) { - /** - * For singleton design pattern because we only need a one-time-run - * through the initial configuration. - */ - if (is_null(self::$cfgInstance)) { - // CFG: ERROR-REPORTING - @error_reporting(E_ALL | E_STRICT); - - /** - * Shall we enable the debug mode? - */ - if ($enableDebug) { - define('DEBUG_MODE', true); - } - - /** - * Crate a config instance - */ - self::$cfgInstance = new FrameworkConfiguration(); - } - - /** - * Return the instance - */ - return self::$cfgInstance; - } - /** * Getter for an instance of this class * * @return $cfgInstance An instance of this class */ public final static function getInstance () { + // is the instance there? + if (is_null(self::$cfgInstance)) { + // Create a config instance + self::$cfgInstance = new FrameworkConfiguration(); + } // END - if + return self::$cfgInstance; } @@ -231,7 +203,7 @@ class FrameworkConfiguration implements Registerable { } // END - if // Construct the full URL now and secure it against CSRF attacks - $baseUrl = $baseUrl . "://" . $this->detectDomain() . dirname($_SERVER['SCRIPT_NAME']); + $baseUrl = $baseUrl . "://" . $this->detectDomain() . $this->detectScriptPath(); // Return the URL return $baseUrl; @@ -256,6 +228,24 @@ class FrameworkConfiguration implements Registerable { return $fullDomain; } + /** + * Detect safely the script path without trailing slash which is the part + * between "http://your-domain.invalid/" and "script-name.php" + */ + public function detectScriptPath () { + // Default is empty + $scriptPath = ""; + + // Is the scriptname set? + if (isset($_SERVER['SCRIPT_NAME'])) { + // Get dirname of it + $scriptPath = dirname($_SERVER['SCRIPT_NAME']); + } // END - if + + // Return it + return $scriptPath; + } + /** * Getter for field name *