From 0ff154ebb71f4590e6320582b285fc0a5eb3f742 Mon Sep 17 00:00:00 2001
From: Jared Hancock <gravydish@gmail.com>
Date: Sun, 22 Jul 2012 14:47:41 -0500
Subject: [PATCH] Property handle Unicode and HTML entities

---
 include/class.format.php | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/include/class.format.php b/include/class.format.php
index 2c0993c45..9de1197ed 100644
--- a/include/class.format.php
+++ b/include/class.format.php
@@ -88,7 +88,12 @@ class Format {
     }
 
     function htmlchars($var) {
-        return is_array($var)?array_map(array('Format','htmlchars'),$var):htmlspecialchars($var,ENT_QUOTES);
+        $flags = ENT_COMPAT | ENT_QUOTES;
+        if (phpversion() >= '5.4.0')
+            $flags |= ENT_HTML401;
+        return is_array($var)
+            ? array_map(array('Format','htmlchars'),$var)
+            : htmlentities($var, $flags, 'UTF-8');
     }
 
     function input($var) {
@@ -114,7 +119,13 @@ class Format {
     }
 
     function striptags($var) {
-        return is_array($var)?array_map(array('Format','striptags'),$var):strip_tags(html_entity_decode($var)); //strip all tags ...no mercy!
+        $flags = ENT_COMPAT;
+        if (phpversion() >= '5.4.0')
+            $flags |= ENT_HTML401;
+        return is_array($var)
+            ? array_map(array('Format','striptags'),$var)
+              //strip all tags ...no mercy!
+            : strip_tags(html_entity_decode($var, $flags, 'UTF-8'));
     }
 
     //make urls clickable. Mainly for display 
-- 
GitLab