Code

Updated smarty to 1.0.9
[gosa.git] / gosa-core / include / smarty / plugins / modifiercompiler.lower.php
index 17441584ea45efb986984ba7fdf7b4d69099c21a..3604994a98384f7f94dfd00fe8d0818efbcb7a08 100644 (file)
@@ -7,25 +7,25 @@
 \r
 /**\r
  * Smarty lower modifier plugin\r
- *\r
+ * \r
  * Type:     modifier<br>\r
  * Name:     lower<br>\r
  * Purpose:  convert string to lowercase\r
- *\r
- * @link http://www.smarty.net/manual/en/language.modifier.lower.php lower (Smarty online manual)\r
- * @author Monte Ohrt <monte at ohrt dot com>\r
- * @author Uwe Tews\r
+ * \r
+ * @link http://smarty.php.net/manual/en/language.modifier.lower.php lower (Smarty online manual)\r
+ * @author Monte Ohrt <monte at ohrt dot com> \r
+ * @author Uwe Tews \r
  * @param array $params parameters\r
  * @return string with compiled code\r
  */\r
 \r
 function smarty_modifiercompiler_lower($params, $compiler)\r
 {\r
-    if (SMARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {\r
-        return 'mb_strtolower(' . $params[0] . ',SMARTY_RESOURCE_CHAR_SET)' ;\r
-    }\r
-    // no MBString fallback\r
-    return 'strtolower(' . $params[0] . ')';\r
-}\r
+    if (function_exists('mb_strtolower')) {\r
+        return '((mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? mb_strtolower(' . $params[0] . ',SMARTY_RESOURCE_CHAR_SET) : strtolower(' . $params[0] . '))' ;\r
+    } else {\r
+        return 'strtolower(' . $params[0] . ')';\r
+    } \r
+} \r
 \r
 ?>
\ No newline at end of file