Revert "Abstracting the loading of files in the config directory depending on environments."

This reverts commit 5c1aa631c5f5ec2f6b75ba1158178418e50ba11a.
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 04f346c..97527e5 100755
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -59,7 +59,14 @@
  *  Load the framework constants
  * ------------------------------------------------------
  */
- 	load_environ_config('constants', TRUE);
+	if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants.php'))
+	{
+		require(APPPATH.'config/'.ENVIRONMENT.'/constants.php');
+	}
+	else
+	{
+		require(APPPATH.'config/constants.php');
+	}
 
 /*
  * ------------------------------------------------------
diff --git a/system/core/Common.php b/system/core/Common.php
index 9e05f3d..b0921fe 100644
--- a/system/core/Common.php
+++ b/system/core/Common.php
@@ -47,6 +47,7 @@
 * Since there are a few places where we conditionally test for PHP > 5
 * we'll set a static variable.
 *
+* @access	public
 * @param	string
 * @return	bool	TRUE if the current version is $version or higher
 */
@@ -75,6 +76,7 @@
  * the file, based on the read-only attribute.  is_writable() is also unreliable
  * on Unix servers if safe_mode is on.
  *
+ * @access	private
  * @return	void
  */
 if ( ! function_exists('is_really_writable'))
@@ -116,17 +118,18 @@
 // ------------------------------------------------------------------------
 
 /**
- * Class registry
- *
- * This function acts as a singleton.  If the requested class does not
- * exist it is instantiated and set to a static variable.  If it has
- * previously been instantiated the variable is returned.
- *
- * @param	string	the class name being requested
- * @param	string	the directory where the class should be found
- * @param	string	the class name prefix
- * @return	object
- */
+* Class registry
+*
+* This function acts as a singleton.  If the requested class does not
+* exist it is instantiated and set to a static variable.  If it has
+* previously been instantiated the variable is returned.
+*
+* @access	public
+* @param	string	the class name being requested
+* @param	string	the directory where the class should be found
+* @param	string	the class name prefix
+* @return	object
+*/
 if ( ! function_exists('load_class'))
 {
 	function &load_class($class, $directory = 'libraries', $prefix = 'CI_')
@@ -188,11 +191,12 @@
 // --------------------------------------------------------------------
 
 /**
- * Keeps track of which libraries have been loaded.  This function is
- * called by the load_class() function above
- *
- * @return	array
- */
+* Keeps track of which libraries have been loaded.  This function is
+* called by the load_class() function above
+*
+* @access	public
+* @return	array
+*/
 if ( ! function_exists('is_loaded'))
 {
 	function is_loaded($class = '')
@@ -211,13 +215,14 @@
 // ------------------------------------------------------------------------
 
 /**
- * Loads the main config.php file
- *
- * This function lets us grab the config file even if the Config class
- * hasn't been instantiated yet
- *
- * @return	array
- */
+* Loads the main config.php file
+*
+* This function lets us grab the config file even if the Config class
+* hasn't been instantiated yet
+*
+* @access	private
+* @return	array
+*/
 if ( ! function_exists('get_config'))
 {
 	function &get_config($replace = array())
@@ -268,10 +273,11 @@
 // ------------------------------------------------------------------------
 
 /**
- * Returns the specified config item
- *
- * @return	mixed
- */
+* Returns the specified config item
+*
+* @access	public
+* @return	mixed
+*/
 if ( ! function_exists('config_item'))
 {
 	function config_item($item)
@@ -296,16 +302,17 @@
 // ------------------------------------------------------------------------
 
 /**
- * Error Handler
- *
- * This function lets us invoke the exception class and
- * display errors using the standard error template located
- * in application/errors/errors.php
- * This function will send the error page directly to the
- * browser and exit.
- *
- * @return	void
- */
+* Error Handler
+*
+* This function lets us invoke the exception class and
+* display errors using the standard error template located
+* in application/errors/errors.php
+* This function will send the error page directly to the
+* browser and exit.
+*
+* @access	public
+* @return	void
+*/
 if ( ! function_exists('show_error'))
 {
 	function show_error($message, $status_code = 500, $heading = 'An Error Was Encountered')
@@ -319,14 +326,15 @@
 // ------------------------------------------------------------------------
 
 /**
- * 404 Page Handler
- *
- * This function is similar to the show_error() function above
- * However, instead of the standard error template it displays
- * 404 errors.
- *
- * @return	void
- */
+* 404 Page Handler
+*
+* This function is similar to the show_error() function above
+* However, instead of the standard error template it displays
+* 404 errors.
+*
+* @access	public
+* @return	void
+*/
 if ( ! function_exists('show_404'))
 {
 	function show_404($page = '', $log_error = TRUE)
@@ -340,13 +348,14 @@
 // ------------------------------------------------------------------------
 
 /**
- * Error Logging Interface
- *
- * We use this as a simple mechanism to access the logging
- * class and send messages to be logged.
- *
- * @return	void
- */
+* Error Logging Interface
+*
+* We use this as a simple mechanism to access the logging
+* class and send messages to be logged.
+*
+* @access	public
+* @return	void
+*/
 if ( ! function_exists('log_message'))
 {
 	function log_message($level = 'error', $message, $php_error = FALSE)
@@ -368,6 +377,7 @@
 /**
  * Set HTTP Status Header
  *
+ * @access	public
  * @param	int		the status code
  * @param	string
  * @return	void
@@ -454,18 +464,19 @@
 // --------------------------------------------------------------------
 
 /**
- * Exception Handler
- *
- * This is the custom exception handler that is declaired at the top
- * of Codeigniter.php.  The main reason we use this is to permit
- * PHP errors to be logged in our own log files since the user may
- * not have access to server logs. Since this function
- * effectively intercepts PHP errors, however, we also need
- * to display errors based on the current error_reporting level.
- * We do that with the use of a PHP error template.
- *
- * @return	void
- */
+* Exception Handler
+*
+* This is the custom exception handler that is declaired at the top
+* of Codeigniter.php.  The main reason we use this is to permit
+* PHP errors to be logged in our own log files since the user may
+* not have access to server logs. Since this function
+* effectively intercepts PHP errors, however, we also need
+* to display errors based on the current error_reporting level.
+* We do that with the use of a PHP error template.
+*
+* @access	private
+* @return	void
+*/
 if ( ! function_exists('_exception_handler'))
 {
 	function _exception_handler($severity, $message, $filepath, $line)
@@ -507,6 +518,7 @@
  * This prevents sandwiching null characters
  * between ascii characters, like Java\0script.
  *
+ * @access	public
  * @param	string
  * @return	string
  */
@@ -540,11 +552,12 @@
 // ------------------------------------------------------------------------
 
 /**
- * Returns HTML escaped variable
- *
- * @param	mixed
- * @return	mixed
- */
+* Returns HTML escaped variable
+*
+* @access	public
+* @param	mixed
+* @return	mixed
+*/
 if ( ! function_exists('html_escape'))
 {
 	function html_escape($var)
@@ -553,57 +566,12 @@
 		{
 			return array_map('html_escape', $var);
 		}
-
-		return htmlspecialchars($var, ENT_QUOTES, config_item('charset'));
-	}
-}
-
-// ------------------------------------------------------------------------
-
-/**
- * Load Environmental config directory files.
- *
- * In several places we check to see if the environment is loaded up and if the file
- * that is being requested lives in said environment. Otherwise load up the file from
- * the main CI config dir.
- *
- * @todo 	Optimize a bit to lessen the file system hits if the file has been loaded.
- * @param 	string 	filename without extension.  eg:  'config' or 'hooks'
- * @param 	boolean	whether or not to do a `require_once()` or a simple `include()`
- * @return 	void
- */
- if ( ! function_exists('load_environ_config'))
- {
-	function load_environ_config($file, $require=FALSE)
-	{
-		if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/'.$file.'.php'))
-		{
-			if ($require)
-			{
-				require_once(APPPATH.'config/'.ENVIRONMENT.'/'.$file.'.php');
-			}
-			else
-			{
-				include(APPPATH.'config/'.ENVIRONMENT.'/'.$file.'.php');
-			}
-			
-			return;
-		}
-
-		if ($require)
-		{
-			require_once(APPPATH.'config/'.$file.'.php');
-		}
 		else
 		{
-			include(APPPATH.'config/'.$file.'.php');
+			return htmlspecialchars($var, ENT_QUOTES, config_item('charset'));
 		}
-		
-		return;
 	}
- }
-
-// ------------------------------------------------------------------------
+}
 
 /* End of file Common.php */
 /* Location: ./system/core/Common.php */
\ No newline at end of file
diff --git a/system/core/Hooks.php b/system/core/Hooks.php
index 6a36ce9..aa251a3 100755
--- a/system/core/Hooks.php
+++ b/system/core/Hooks.php
@@ -91,7 +91,16 @@
 
 		// Grab the "hooks" definition file.
 		// If there are no hooks, we're done.
-		load_environ_config('hooks');
+
+		if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/hooks.php'))
+		{
+			include(APPPATH.'config/'.ENVIRONMENT.'/hooks.php');
+		}
+		elseif (is_file(APPPATH.'config/hooks.php'))
+		{
+			include(APPPATH.'config/hooks.php');
+		}
+
 
 		if ( ! isset($hook) OR ! is_array($hook))
 		{
diff --git a/system/core/Loader.php b/system/core/Loader.php
index 83d134e..d42dbbf 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -1139,7 +1139,14 @@
 	 */
 	protected function _ci_autoloader()
 	{
-		load_environ_config('autoload');
+		if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/autoload.php'))
+		{
+			include(APPPATH.'config/'.ENVIRONMENT.'/autoload.php');
+		}
+		else
+		{
+			include(APPPATH.'config/autoload.php');
+		}
 
 		if ( ! isset($autoload))
 		{
diff --git a/system/core/Output.php b/system/core/Output.php
index 4d1036c..9727a18 100755
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -106,7 +106,15 @@
 		$this->_zlib_oc = @ini_get('zlib.output_compression');
 
 		// Get mime types for later
-		load_environ_config('mimes');
+		if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
+		{
+			include APPPATH.'config/'.ENVIRONMENT.'/mimes.php';
+		}
+		else
+		{
+			include APPPATH.'config/mimes.php';
+		}
+
 
 		$this->mime_types = $mimes;
 
diff --git a/system/core/Router.php b/system/core/Router.php
index 5388a92..748678d 100755
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -141,7 +141,14 @@
 		}
 
 		// Load the routes.php file.
-		load_environ_config('routes');
+		if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/routes.php'))
+		{
+			include(APPPATH.'config/'.ENVIRONMENT.'/routes.php');
+		}
+		elseif (is_file(APPPATH.'config/routes.php'))
+		{
+			include(APPPATH.'config/routes.php');
+		}
 
 		$this->routes = ( ! isset($route) OR ! is_array($route)) ? array() : $route;
 		unset($route);
diff --git a/system/helpers/download_helper.php b/system/helpers/download_helper.php
index 3173c98..5f5d1aa 100644
--- a/system/helpers/download_helper.php
+++ b/system/helpers/download_helper.php
@@ -70,7 +70,14 @@
 		$extension = end($x);
 
 		// Load the mime types
-		load_environ_config('mimes');
+		if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
+		{
+			include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
+		}
+		elseif (is_file(APPPATH.'config/mimes.php'))
+		{
+			include(APPPATH.'config/mimes.php');
+		}
 
 		// Set a default mime if we can't find it
 		if ( ! isset($mimes[$extension]))
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index b4edcde..5b50853 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -364,7 +364,14 @@
 
 		if ( ! is_array($mimes))
 		{
-			load_environ_config('mimes');
+			if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
+			{
+				include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
+			}
+			elseif (is_file(APPPATH.'config/mimes.php'))
+			{
+				include(APPPATH.'config/mimes.php');
+			}
 
 			if ( ! is_array($mimes))
 			{
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index fa805f1..b6bb402 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -275,7 +275,14 @@
 
 		if ( ! is_array($_doctypes))
 		{
-			load_environ_config('doctypes');
+			if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/doctypes.php'))
+			{
+				include(APPPATH.'config/'.ENVIRONMENT.'/doctypes.php');
+			}
+			elseif (is_file(APPPATH.'config/doctypes.php'))
+			{
+				include(APPPATH.'config/doctypes.php');
+			}
 
 			if ( ! is_array($_doctypes))
 			{
diff --git a/system/helpers/smiley_helper.php b/system/helpers/smiley_helper.php
index e04d5d6..38e2965 100644
--- a/system/helpers/smiley_helper.php
+++ b/system/helpers/smiley_helper.php
@@ -241,7 +241,14 @@
 {
 	function _get_smiley_array()
 	{
-		load_environ_config('smileys');
+		if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/smileys.php'))
+		{
+			include(APPPATH.'config/'.ENVIRONMENT.'/smileys.php');
+		}
+		elseif (file_exists(APPPATH.'config/smileys.php'))
+		{
+			include(APPPATH.'config/smileys.php');
+		}
 		
 		if (isset($smileys) AND is_array($smileys))
 		{
diff --git a/system/helpers/text_helper.php b/system/helpers/text_helper.php
index 7a4a689..38b46e2 100644
--- a/system/helpers/text_helper.php
+++ b/system/helpers/text_helper.php
@@ -378,7 +378,14 @@
 {
 	function convert_accented_characters($str)
 	{
-		load_environ_config('foreign_chars');
+		if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/foreign_chars.php'))
+		{
+			include(APPPATH.'config/'.ENVIRONMENT.'/foreign_chars.php');
+		}
+		elseif (is_file(APPPATH.'config/foreign_chars.php'))
+		{
+			include(APPPATH.'config/foreign_chars.php');
+		}
 
 		if ( ! isset($foreign_characters))
 		{
diff --git a/system/libraries/Upload.php b/system/libraries/Upload.php
index 5108afa..826bcce 100644
--- a/system/libraries/Upload.php
+++ b/system/libraries/Upload.php
@@ -952,12 +952,17 @@
 	{
 		global $mimes;
 
-		if (count($this->mimes) === 0)
+		if (count($this->mimes) == 0)
 		{
-			load_environ_config('mimes');
-
-			// Return FALSE if we still have no mimes after trying to load them up.
-			if (count($this->mimes) === 0)
+			if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
+			{
+				include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
+			}
+			elseif (is_file(APPPATH.'config/mimes.php'))
+			{
+				include(APPPATH.'config//mimes.php');
+			}
+			else
 			{
 				return FALSE;
 			}
diff --git a/system/libraries/User_agent.php b/system/libraries/User_agent.php
index 5288525..c31ff26 100644
--- a/system/libraries/User_agent.php
+++ b/system/libraries/User_agent.php
@@ -94,10 +94,15 @@
 	 */
 	protected function _load_agent_file()
 	{
-		load_environ_config('user_agents');
-
-		// Return FALSE if we still have no mimes after trying to load them up.
-		if (count($this->mimes) === 0)
+		if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/user_agents.php'))
+		{
+			include(APPPATH.'config/'.ENVIRONMENT.'/user_agents.php');
+		}
+		elseif (is_file(APPPATH.'config/user_agents.php'))
+		{
+			include(APPPATH.'config/user_agents.php');
+		}
+		else
 		{
 			return FALSE;
 		}