]> git.mxchange.org Git - mailer.git/blobdiff - inc/config/class_FrameworkConfiguration.php
Code syncronized with shipsimu code base
[mailer.git] / inc / config / class_FrameworkConfiguration.php
index 50a4ac18a35d588fe162e4b75c0f17f140c1019e..6bfdfbf7c1efab379a9cb45a1c0a2bd9e4d0b6ad 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      = 0x040;
-       const EXCEPTION_CONFIG_ENTRY_WAS_NOT_FOUND = 0x041;
+       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
        }
 
        /**
@@ -128,20 +133,20 @@ class FrameworkConfiguration implements Registerable {
 
                                // Is the file name really set?
                                if (!empty($inc)) {
+                                       // Base path is by default added
+                                       $fqfn = $inc;
+
                                        // Base path added? (Uni* / Windows)
                                        if ((substr($inc, 0, 1) != "/") && (substr($inc, 1, 1) != ":")) {
                                                // Generate FQFN
                                                $fqfn = sprintf("%s/inc/extra/%s", PATH, $inc);
-                                       } else {
-                                               // Base path is already added
-                                               $fqfn = $inc;
-                                       }
-                               }
+                                       } // END - if
+                               } // END - if
 
                                // Include them all here
                                require($fqfn);
                        }
-               }
+               } // END - if
        }
 
        /**
@@ -152,18 +157,15 @@ class FrameworkConfiguration implements Registerable {
         */
        public function defineDatabaseType ($type) {
                // Is it defined or not?
-               if (!defined('_DB_TYPE')) {
-                       // Cast to string
-                       $type = (string) $type;
-
-                       // Set the constant
-                       define('_DB_TYPE', $type);
-               } else {
+               if (defined('_DB_TYPE')) {
                        // Already defined! But we cannot throw an exception here... :(
                        ApplicationEntryPoint::app_die(sprintf("[%s:] Please define the database type only once in your application!",
                                __CLASS__
                        ));
                }
+
+               // Set the constant
+               define('_DB_TYPE', (string) $type);
        }
 
        /**
@@ -185,15 +187,15 @@ class FrameworkConfiguration implements Registerable {
                        ApplicationEntryPoint::app_die(sprintf("[%s:] Invalid path (not found) specified. Please make sure it is created.",
                                __CLASS__
                        ));
-               } elseif (!defined('PATH')) {
-                       // Set the constant
-                       define('PATH', $path);
-               } else {
+               } elseif (defined('PATH')) {
                        // Already defined! But we cannot throw an exception here... :(
                        ApplicationEntryPoint::app_die(sprintf("[%s:] Please define the local file path only once in your application.",
                                __CLASS__
                        ));
                }
+
+               // Define path here
+               define('PATH', $path);
        }
 
        /**
@@ -221,7 +223,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 +246,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;
@@ -290,13 +292,40 @@ class FrameworkConfiguration implements Registerable {
         * @return      $fullDomain             The detected full domain
         */
        public function detectDomain () {
-               // Detect the full domain
-               $fullDomain = htmlentities(strip_tags($_SERVER['SERVER_NAME']), ENT_QUOTES);
+               // Full domain is localnet.invalid by default
+               $fullDomain = "localnet.invalid";
+
+               // Is the server name there?
+               if (isset($_SERVER['SERVER_NAME'])) {
+                       // Detect the full domain
+                       $fullDomain = htmlentities(strip_tags($_SERVER['SERVER_NAME']), ENT_QUOTES);
+               } // END - if
 
                // Return it
                return $fullDomain;
        }
-} // END - class
+
+       /**
+        * Getter for field name
+        *
+        * @param       $fieldName              Field name which we shall get
+        * @return      $fieldValue             Field value from the user
+        */
+       function getField ($fieldName) {
+               // Dummy method!
+       }
+
+       /**
+        * Updates a given field with new value
+        *
+        * @param       $fieldName              Field to update
+        * @param       $fieldValue             New value to store
+        * @return      void
+        */
+       public function updateDatabaseField ($fieldName, $fieldValue) {
+               // Dummy method!
+       }
+}
 
 // [EOF]
 ?>