Fix caching of MIME config
* in get_mimes(): was missing isset() test
* in Email->_mimes_types(): static cache of reference was noneffective
refs 6ef498b49946ba74d610b3805fb908b163a7f03a
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 1f2f6a9..011a88c 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -2234,15 +2234,18 @@
*/
protected function _mime_types($ext = '')
{
- static $mimes;
+ static $_mimes;
$ext = strtolower($ext);
- if ( ! is_array($mimes))
+ if (empty($_mimes))
{
- $mimes =& get_mimes();
+ // references cannot be directly assigned to static variables, so we use an array
+ $_mimes[0] =& get_mimes();
}
+ $mimes =& $_mimes[0];
+
if (isset($mimes[$ext]))
{
return is_array($mimes[$ext])