From: Michael M Slusarz Date: Thu, 4 Mar 2010 18:37:17 +0000 (-0700) Subject: Added Horde_Util::convertToUtf8(). X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=daf7a5ea5506df385670655fb719d636beec4a7b;p=horde.git Added Horde_Util::convertToUtf8(). --- diff --git a/framework/Util/lib/Horde/Util.php b/framework/Util/lib/Horde/Util.php index 6b07d5441..b8ab56deb 100644 --- a/framework/Util/lib/Horde/Util.php +++ b/framework/Util/lib/Horde/Util.php @@ -905,4 +905,30 @@ class Horde_Util return base64_decode($data); } + /** + * Convert a variable to UTF-8. Recursively handles inner variables. + * + * @param mixed $in The variable to convert. + * + * @return mixed The converted variable. + */ + static public function convertToUtf8($in) + { + if (is_string($in)) { + $in = utf8_encode($in); + } elseif (is_array($in)) { + reset($in); + while (list($key, $val) = each($in)) { + $in[$key] = self::convertToUtf8($in[$key]); + } + } elseif (is_object($in)) { + $in = self::cloneObject($in); + foreach (get_object_vars($in) as $key => $val) { + $in->$key = self::convertToUtf8($in->$key); + } + } + + return $in; + } + } diff --git a/framework/Util/package.xml b/framework/Util/package.xml index 8afed384d..f2b11b6ba 100644 --- a/framework/Util/package.xml +++ b/framework/Util/package.xml @@ -29,7 +29,8 @@ http://pear.php.net/dtd/package-2.0.xsd"> beta LGPL - * Added Horde_Util::abbreviate(). + * Added Horde_Util::convertToUtf8(). + * Added Horde_Util::abbreviate(). * Removed Horde_Array::combine() and Horde_Util::hmac(). * Initial Horde 4 package.