Code base synced
[mailer.git] / inc / config / class_FrameworkConfiguration.php
index 8f6fa15f45cd254137a917bb7744bd481a3974f8..2261c0f2a71d6a03629ca02e5d41c25b9c1cf55a 100644 (file)
@@ -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
         *