converted to unix-style eol
[www-register-wizard.git] / libraries / Config.php
index a9cf9f4..027f6bf 100644 (file)
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\r
-/**\r
- * CodeIgniter\r
- *\r
- * An open source application development framework for PHP 4.3.2 or newer\r
- *\r
- * @package            CodeIgniter\r
- * @author             ExpressionEngine Dev Team\r
- * @copyright  Copyright (c) 2008, EllisLab, Inc.\r
- * @license            http://codeigniter.com/user_guide/license.html\r
- * @link               http://codeigniter.com\r
- * @since              Version 1.0\r
- * @filesource\r
- */\r
-\r
-// ------------------------------------------------------------------------\r
-\r
-/**\r
- * CodeIgniter Config Class\r
- *\r
- * This class contains functions that enable config files to be managed\r
- *\r
- * @package            CodeIgniter\r
- * @subpackage Libraries\r
- * @category   Libraries\r
- * @author             ExpressionEngine Dev Team\r
- * @link               http://codeigniter.com/user_guide/libraries/config.html\r
- */\r
-class CI_Config {\r
-\r
-       var $config = array();\r
-       var $is_loaded = array();\r
-\r
-       /**\r
-        * Constructor\r
-        *\r
-        * Sets the $config data from the primary config.php file as a class variable\r
-        *\r
-        * @access   public\r
-        * @param   string      the config file name\r
-        * @param   boolean  if configuration values should be loaded into their own section\r
-        * @param   boolean  true if errors should just return false, false if an error message should be displayed\r
-        * @return  boolean  if the file was successfully loaded or not\r
-        */\r
-       function CI_Config()\r
-       {\r
-               $this->config =& get_config();\r
-               log_message('debug', "Config Class Initialized");\r
-       }\r
-       \r
-       // --------------------------------------------------------------------\r
-\r
-       /**\r
-        * Load Config File\r
-        *\r
-        * @access      public\r
-        * @param       string  the config file name\r
-        * @return      boolean if the file was loaded correctly\r
-        */     \r
-       function load($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)\r
-       {\r
-               $file = ($file == '') ? 'config' : str_replace(EXT, '', $file);\r
-       \r
-               if (in_array($file, $this->is_loaded, TRUE))\r
-               {\r
-                       return TRUE;\r
-               }\r
-\r
-               if ( ! file_exists(APPPATH.'config/'.$file.EXT))\r
-               {\r
-                       if ($fail_gracefully === TRUE)\r
-                       {\r
-                               return FALSE;\r
-                       }\r
-                       show_error('The configuration file '.$file.EXT.' does not exist.');\r
-               }\r
-       \r
-               include(APPPATH.'config/'.$file.EXT);\r
-\r
-               if ( ! isset($config) OR ! is_array($config))\r
-               {\r
-                       if ($fail_gracefully === TRUE)\r
-                       {\r
-                               return FALSE;\r
-                       }\r
-                       show_error('Your '.$file.EXT.' file does not appear to contain a valid configuration array.');\r
-               }\r
-\r
-               if ($use_sections === TRUE)\r
-               {\r
-                       if (isset($this->config[$file]))\r
-                       {\r
-                               $this->config[$file] = array_merge($this->config[$file], $config);\r
-                       }\r
-                       else\r
-                       {\r
-                               $this->config[$file] = $config;\r
-                       }\r
-               }\r
-               else\r
-               {\r
-                       $this->config = array_merge($this->config, $config);\r
-               }\r
-\r
-               $this->is_loaded[] = $file;\r
-               unset($config);\r
-\r
-               log_message('debug', 'Config file loaded: config/'.$file.EXT);\r
-               return TRUE;\r
-       }\r
-       \r
-       // --------------------------------------------------------------------\r
-\r
-       /**\r
-        * Fetch a config file item\r
-        *\r
-        *\r
-        * @access      public\r
-        * @param       string  the config item name\r
-        * @param       string  the index name\r
-        * @param       bool\r
-        * @return      string\r
-        */\r
-       function item($item, $index = '')\r
-       {       \r
-               if ($index == '')\r
-               {       \r
-                       if ( ! isset($this->config[$item]))\r
-                       {\r
-                               return FALSE;\r
-                       }\r
-\r
-                       $pref = $this->config[$item];\r
-               }\r
-               else\r
-               {\r
-                       if ( ! isset($this->config[$index]))\r
-                       {\r
-                               return FALSE;\r
-                       }\r
-\r
-                       if ( ! isset($this->config[$index][$item]))\r
-                       {\r
-                               return FALSE;\r
-                       }\r
-\r
-                       $pref = $this->config[$index][$item];\r
-               }\r
-\r
-               return $pref;\r
-       }\r
-       \r
-       // --------------------------------------------------------------------\r
-\r
-       /**\r
-        * Fetch a config file item - adds slash after item\r
-        *\r
-        * The second parameter allows a slash to be added to the end of\r
-        * the item, in the case of a path.\r
-        *\r
-        * @access      public\r
-        * @param       string  the config item name\r
-        * @param       bool\r
-        * @return      string\r
-        */\r
-       function slash_item($item)\r
-       {\r
-               if ( ! isset($this->config[$item]))\r
-               {\r
-                       return FALSE;\r
-               }\r
-\r
-               $pref = $this->config[$item];\r
-\r
-               if ($pref != '' && substr($pref, -1) != '/')\r
-               {       \r
-                       $pref .= '/';\r
-               }\r
-\r
-               return $pref;\r
-       }\r
-       \r
-       // --------------------------------------------------------------------\r
-\r
-       /**\r
-        * Site URL\r
-        *\r
-        * @access      public\r
-        * @param       string  the URI string\r
-        * @return      string\r
-        */\r
-       function site_url($uri = '')\r
-       {\r
-               if (is_array($uri))\r
-               {\r
-                       $uri = implode('/', $uri);\r
-               }\r
-\r
-               if ($uri == '')\r
-               {\r
-                       return $this->slash_item('base_url').$this->item('index_page');\r
-               }\r
-               else\r
-               {\r
-                       $suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix');\r
-                       return $this->slash_item('base_url').$this->slash_item('index_page').preg_replace("|^/*(.+?)/*$|", "\\1", $uri).$suffix;\r
-               }\r
-       }\r
-       \r
-       // --------------------------------------------------------------------\r
-\r
-       /**\r
-        * System URL\r
-        *\r
-        * @access      public\r
-        * @return      string\r
-        */\r
-       function system_url()\r
-       {\r
-               $x = explode("/", preg_replace("|/*(.+?)/*$|", "\\1", BASEPATH));\r
-               return $this->slash_item('base_url').end($x).'/';\r
-       }\r
-       \r
-       // --------------------------------------------------------------------\r
-\r
-       /**\r
-        * Set a config file item\r
-        *\r
-        * @access      public\r
-        * @param       string  the config item key\r
-        * @param       string  the config item value\r
-        * @return      void\r
-        */\r
-       function set_item($item, $value)\r
-       {\r
-               $this->config[$item] = $value;\r
-       }\r
-\r
-}\r
-\r
-// END CI_Config class\r
-\r
-/* End of file Config.php */\r
+<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 4.3.2 or newer
+ *
+ * @package            CodeIgniter
+ * @author             ExpressionEngine Dev Team
+ * @copyright  Copyright (c) 2008, EllisLab, Inc.
+ * @license            http://codeigniter.com/user_guide/license.html
+ * @link               http://codeigniter.com
+ * @since              Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * CodeIgniter Config Class
+ *
+ * This class contains functions that enable config files to be managed
+ *
+ * @package            CodeIgniter
+ * @subpackage Libraries
+ * @category   Libraries
+ * @author             ExpressionEngine Dev Team
+ * @link               http://codeigniter.com/user_guide/libraries/config.html
+ */
+class CI_Config {
+
+       var $config = array();
+       var $is_loaded = array();
+
+       /**
+        * Constructor
+        *
+        * Sets the $config data from the primary config.php file as a class variable
+        *
+        * @access   public
+        * @param   string      the config file name
+        * @param   boolean  if configuration values should be loaded into their own section
+        * @param   boolean  true if errors should just return false, false if an error message should be displayed
+        * @return  boolean  if the file was successfully loaded or not
+        */
+       function CI_Config()
+       {
+               $this->config =& get_config();
+               log_message('debug', "Config Class Initialized");
+       }
+       
+       // --------------------------------------------------------------------
+
+       /**
+        * Load Config File
+        *
+        * @access      public
+        * @param       string  the config file name
+        * @return      boolean if the file was loaded correctly
+        */     
+       function load($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)
+       {
+               $file = ($file == '') ? 'config' : str_replace(EXT, '', $file);
+       
+               if (in_array($file, $this->is_loaded, TRUE))
+               {
+                       return TRUE;
+               }
+
+               if ( ! file_exists(APPPATH.'config/'.$file.EXT))
+               {
+                       if ($fail_gracefully === TRUE)
+                       {
+                               return FALSE;
+                       }
+                       show_error('The configuration file '.$file.EXT.' does not exist.');
+               }
+       
+               include(APPPATH.'config/'.$file.EXT);
+
+               if ( ! isset($config) OR ! is_array($config))
+               {
+                       if ($fail_gracefully === TRUE)
+                       {
+                               return FALSE;
+                       }
+                       show_error('Your '.$file.EXT.' file does not appear to contain a valid configuration array.');
+               }
+
+               if ($use_sections === TRUE)
+               {
+                       if (isset($this->config[$file]))
+                       {
+                               $this->config[$file] = array_merge($this->config[$file], $config);
+                       }
+                       else
+                       {
+                               $this->config[$file] = $config;
+                       }
+               }
+               else
+               {
+                       $this->config = array_merge($this->config, $config);
+               }
+
+               $this->is_loaded[] = $file;
+               unset($config);
+
+               log_message('debug', 'Config file loaded: config/'.$file.EXT);
+               return TRUE;
+       }
+       
+       // --------------------------------------------------------------------
+
+       /**
+        * Fetch a config file item
+        *
+        *
+        * @access      public
+        * @param       string  the config item name
+        * @param       string  the index name
+        * @param       bool
+        * @return      string
+        */
+       function item($item, $index = '')
+       {       
+               if ($index == '')
+               {       
+                       if ( ! isset($this->config[$item]))
+                       {
+                               return FALSE;
+                       }
+
+                       $pref = $this->config[$item];
+               }
+               else
+               {
+                       if ( ! isset($this->config[$index]))
+                       {
+                               return FALSE;
+                       }
+
+                       if ( ! isset($this->config[$index][$item]))
+                       {
+                               return FALSE;
+                       }
+
+                       $pref = $this->config[$index][$item];
+               }
+
+               return $pref;
+       }
+       
+       // --------------------------------------------------------------------
+
+       /**
+        * Fetch a config file item - adds slash after item
+        *
+        * The second parameter allows a slash to be added to the end of
+        * the item, in the case of a path.
+        *
+        * @access      public
+        * @param       string  the config item name
+        * @param       bool
+        * @return      string
+        */
+       function slash_item($item)
+       {
+               if ( ! isset($this->config[$item]))
+               {
+                       return FALSE;
+               }
+
+               $pref = $this->config[$item];
+
+               if ($pref != '' && substr($pref, -1) != '/')
+               {       
+                       $pref .= '/';
+               }
+
+               return $pref;
+       }
+       
+       // --------------------------------------------------------------------
+
+       /**
+        * Site URL
+        *
+        * @access      public
+        * @param       string  the URI string
+        * @return      string
+        */
+       function site_url($uri = '')
+       {
+               if (is_array($uri))
+               {
+                       $uri = implode('/', $uri);
+               }
+
+               if ($uri == '')
+               {
+                       return $this->slash_item('base_url').$this->item('index_page');
+               }
+               else
+               {
+                       $suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix');
+                       return $this->slash_item('base_url').$this->slash_item('index_page').preg_replace("|^/*(.+?)/*$|", "\\1", $uri).$suffix;
+               }
+       }
+       
+       // --------------------------------------------------------------------
+
+       /**
+        * System URL
+        *
+        * @access      public
+        * @return      string
+        */
+       function system_url()
+       {
+               $x = explode("/", preg_replace("|/*(.+?)/*$|", "\\1", BASEPATH));
+               return $this->slash_item('base_url').end($x).'/';
+       }
+       
+       // --------------------------------------------------------------------
+
+       /**
+        * Set a config file item
+        *
+        * @access      public
+        * @param       string  the config item key
+        * @param       string  the config item value
+        * @return      void
+        */
+       function set_item($item, $value)
+       {
+               $this->config[$item] = $value;
+       }
+
+}
+
+// END CI_Config class
+
+/* End of file Config.php */
 /* Location: ./system/libraries/Config.php */
\ No newline at end of file