]> git.mxchange.org Git - hub.git/blobdiff - inc/config/class_FrameworkConfiguration.php
Code sync from ship-simu code (all class config entries must end with _class!)
[hub.git] / inc / config / class_FrameworkConfiguration.php
index 6bfc3a26ce0fbfd1fbec6d0396a529c5b3da6bf2..50a4ac18a35d588fe162e4b75c0f17f140c1019e 100644 (file)
@@ -39,8 +39,8 @@ 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      = 0x040;
+       const EXCEPTION_CONFIG_ENTRY_WAS_NOT_FOUND = 0x041;
 
        /**
         * Protected constructor
@@ -169,7 +169,7 @@ class FrameworkConfiguration implements Registerable {
        /**
         * Define the local file path
         *
-        * @param               $path   The database type. See path inc/database/.
+        * @param               $path   Local file path for include files.
         * @return      void
         */
        public function definePath ($path) {
@@ -261,6 +261,41 @@ class FrameworkConfiguration implements Registerable {
        public function __toString () {
                return get_class($this);
        }
+
+       /**
+        * Dectect and return the base URL for all URLs and forms
+        *
+        * @return      $baseUrl        Detected base URL
+        */
+       public function detectBaseUrl() {
+               // Initialize the URL
+               $baseUrl = "http";
+
+               // Do we have HTTPS?
+               if (isset($_SERVER['HTTPS'])) {
+                       // Add the >s< for HTTPS
+                       $baseUrl .= "s";
+               } // END - if
+
+               // Construct the full URL now and secure it against CSRF attacks
+               $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]