Merge pull request #3052 from vlakoff/mime

Fix caching of MIME config
diff --git a/system/core/Common.php b/system/core/Common.php
index 7f27081..752a2e7 100644
--- a/system/core/Common.php
+++ b/system/core/Common.php
@@ -304,15 +304,22 @@
 	 */
 	function &get_mimes()
 	{
-		static $_mimes = array();
+		static $_mimes;
 
-		if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
+		if (empty($_mimes))
 		{
-			$_mimes = include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
-		}
-		elseif (file_exists(APPPATH.'config/mimes.php'))
-		{
-			$_mimes = include(APPPATH.'config/mimes.php');
+			if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
+			{
+				$_mimes = include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
+			}
+			elseif (file_exists(APPPATH.'config/mimes.php'))
+			{
+				$_mimes = include(APPPATH.'config/mimes.php');
+			}
+			else
+			{
+				$_mimes = array();
+			}
 		}
 
 		return $_mimes;
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 1f2f6a9..63b7dc3 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -2234,14 +2234,9 @@
 	 */
 	protected function _mime_types($ext = '')
 	{
-		static $mimes;
-
 		$ext = strtolower($ext);
 
-		if ( ! is_array($mimes))
-		{
-			$mimes =& get_mimes();
-		}
+		$mimes =& get_mimes();
 
 		if (isset($mimes[$ext]))
 		{