-<?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 */