]> git.mxchange.org Git - shipsimu.git/blobdiff - inc/config/class_FrameworkConfiguration.php
More conventions than code added:
[shipsimu.git] / inc / config / class_FrameworkConfiguration.php
index 5e9b87ef93ff72aa00d7a03d858522c1f07183b4..25125e5fdb4a61128fa05f81c4232a26562589f6 100644 (file)
@@ -8,7 +8,7 @@
  * @see                        ClassLoader
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright(c) 2007, 2008 Roland Haeder, this is free software
+ * @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
  *
@@ -39,11 +39,13 @@ class FrameworkConfiguration implements Registerable {
        private static $cfgInstance = null;
 
        // Some constants for the configuration system
-       const EXCEPTION_CONFIG_ENTRY_IS_EMPTY      = 0xc00;
-       const EXCEPTION_CONFIG_ENTRY_WAS_NOT_FOUND = 0xc01;
+       const EXCEPTION_CONFIG_ENTRY_IS_EMPTY      = 0x130;
+       const EXCEPTION_CONFIG_ENTRY_WAS_NOT_FOUND = 0x131;
 
        /**
         * Protected constructor
+        *
+        * @return      void
         */
        protected function __construct () {
                // Empty for now
@@ -51,6 +53,9 @@ class FrameworkConfiguration implements Registerable {
 
        /**
         * "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) {
                /**
@@ -58,7 +63,7 @@ class FrameworkConfiguration implements Registerable {
                 * through the initial configuration.
                 */
                if (is_null(self::$cfgInstance))  {
-                       // CFG: DEBUG-LEVEL
+                       // CFG: ERROR-REPORTING
                        @error_reporting(E_ALL | E_STRICT);
 
                        /**
@@ -99,7 +104,7 @@ class FrameworkConfiguration implements Registerable {
                // At least 5.1.0 is required for this!
                if (version_compare(phpversion(), "5.1.0")) {
                        @date_default_timezone_set($zone);
-               }
+               } // END - if
        }
 
        /**
@@ -136,12 +141,12 @@ class FrameworkConfiguration implements Registerable {
                                                // Base path is already added
                                                $fqfn = $inc;
                                        }
-                               }
+                               } // END - if
 
                                // Include them all here
                                require($fqfn);
                        }
-               }
+               } // END - if
        }
 
        /**
@@ -221,7 +226,7 @@ class FrameworkConfiguration implements Registerable {
                // Debug message
                if ((defined('DEBUG_CONFIG')) || (defined('DEBUG_ALL'))) {
                        echo "[".__METHOD__."] Configuration entry ".$cfgEntry." requested.<br />\n";
-               }
+               } // END - if
 
                // Return the requested value
                return $this->config[$cfgEntry];
@@ -244,7 +249,7 @@ class FrameworkConfiguration implements Registerable {
                if (empty($cfgEntry)) {
                        // Entry is empty
                        throw new ConfigEntryIsEmptyException($this, self::EXCEPTION_CONFIG_ENTRY_IS_EMPTY);
-               }
+               } // END - if
 
                // Set the configuration value
                $this->config[$cfgEntry] = $cfgValue;
@@ -278,11 +283,24 @@ class FrameworkConfiguration implements Registerable {
                } // END - if
 
                // Construct the full URL now and secure it against CSRF attacks
-               $baseUrl = $baseUrl . "://" . htmlentities(strip_tags($_SERVER['SERVER_NAME']), ENT_QUOTES) . dirname($_SERVER['SCRIPT_NAME']);
+               $baseUrl = $baseUrl . "://" . $this->detectDomain() . dirname($_SERVER['SCRIPT_NAME']);
 
                // Return the URL
                return $baseUrl;
        }
+
+       /**
+        * Detect safely and return the full domain where this script is installed
+        *
+        * @return      $fullDomain             The detected full domain
+        */
+       public function detectDomain () {
+               // Detect the full domain
+               $fullDomain = htmlentities(strip_tags($_SERVER['SERVER_NAME']), ENT_QUOTES);
+
+               // Return it
+               return $fullDomain;
+       }
 } // END - class
 
 // [EOF]