From 322efd775398222340a025493afad40cd31b1e2e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Barrois?= Date: Sun, 17 Nov 2013 23:39:39 +0100 Subject: [PATCH] Enfore ISO-8859-1 encoding for htmlentities(). The default was changed to UTF-8 in PHP 5.4, but diogenes relies on latin1. --- include/Barrel/Menu.php | 2 +- include/Barrel/Page.php | 2 +- include/Text/Wiki/Render/Xhtml/Code.php | 6 +++--- include/diogenes.session.inc.php | 2 +- include/diogenes/diogenes.core.page.inc.php | 4 ++-- include/diogenes/diogenes.misc.inc.php | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/Barrel/Menu.php b/include/Barrel/Menu.php index 7703288..73400e1 100644 --- a/include/Barrel/Menu.php +++ b/include/Barrel/Menu.php @@ -141,7 +141,7 @@ class Diogenes_Barrel_Menu { $mentry = $mcache[$mid]; // echo "pid : $pid, location : $location
"; - $entry = htmlentities(stripslashes($mentry['title']), ENT_QUOTES); + $entry = htmlentities(stripslashes($mentry['title']), ENT_QUOTES, "ISO-8859-1"); if ($mentry['pid']) { $link = call_user_func($pid_to_url, $mentry['pid']); diff --git a/include/Barrel/Page.php b/include/Barrel/Page.php index 15d4d89..75ffe9c 100644 --- a/include/Barrel/Page.php +++ b/include/Barrel/Page.php @@ -171,7 +171,7 @@ class Diogenes_Barrel_Page $props = $this->props; $topbar = array (); - $from = htmlentities($caller->script_uri()); + $from = htmlentities($caller->script_uri(), ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); if ($props['PID']) { $hp = $this->barrel->getPID(''); diff --git a/include/Text/Wiki/Render/Xhtml/Code.php b/include/Text/Wiki/Render/Xhtml/Code.php index 306c3e4..f95267c 100644 --- a/include/Text/Wiki/Render/Xhtml/Code.php +++ b/include/Text/Wiki/Render/Xhtml/Code.php @@ -84,7 +84,7 @@ class Text_Wiki_Render_Xhtml_Code extends Text_Wiki_Render { // convert entities. $text = str_replace("\t", " ", $text); $text = "\n$text\n"; - $text = htmlentities($text); + $text = htmlentities($text, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); $text = "$text"; } else { @@ -92,11 +92,11 @@ class Text_Wiki_Render_Xhtml_Code extends Text_Wiki_Render { // convert tabs to four spaces, // convert entities. $text = str_replace("\t", " ", $text); - $text = htmlentities($text); + $text = htmlentities($text, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); $text = "$text"; } return "\n$text\n\n"; } } -?> \ No newline at end of file +?> diff --git a/include/diogenes.session.inc.php b/include/diogenes.session.inc.php index 7fa5286..f6c1559 100644 --- a/include/diogenes.session.inc.php +++ b/include/diogenes.session.inc.php @@ -142,7 +142,7 @@ class DiogenesSession extends DiogenesCoreSession { if (isset($_COOKIE['DiogenesLogin'])) $page->assign('username', $_COOKIE['DiogenesLogin']); - $page->assign('post',htmlentities($page->script_uri())); + $page->assign('post',htmlentities($page->script_uri(), ENT_COMPAT | ENT_HTML401, "ISO-8859-1")); $page->assign('challenge',$this->challenge); $page->assign('md5',$page->url("md5.js")); $page->display('login.tpl'); diff --git a/include/diogenes/diogenes.core.page.inc.php b/include/diogenes/diogenes.core.page.inc.php index 4de8399..9113ba1 100644 --- a/include/diogenes/diogenes.core.page.inc.php +++ b/include/diogenes/diogenes.core.page.inc.php @@ -186,7 +186,7 @@ function diogenes_func_diff($params) if ($line) { if (!isset($old) || ($old != $class)) $out .= "
"; - $out .= htmlentities($line); + $out .= htmlentities($line, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); } $old = $class; } @@ -227,7 +227,7 @@ function diogenes_func_extval($params) { foreach($diogenes_db_cache[$cache_id] as $id=>$val) $html_out .= " \n"; + .">".htmlentities($val, ENT_COMPAT | ENT_HTML401, "ISO-8859-1")."\n"; $html_out .= "\n"; return $html_out; diff --git a/include/diogenes/diogenes.misc.inc.php b/include/diogenes/diogenes.misc.inc.php index 2a1dde9..e421026 100644 --- a/include/diogenes/diogenes.misc.inc.php +++ b/include/diogenes/diogenes.misc.inc.php @@ -62,9 +62,9 @@ function html_accent($string) { $lca = preg_split('//', $lc_accent, -1, PREG_SPLIT_NO_EMPTY); $uca = preg_split('//', $uc_accent, -1, PREG_SPLIT_NO_EMPTY); foreach($lca as $key=>$val) - $lch[$key] = htmlentities($val); + $lch[$key] = htmlentities($val, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); foreach($uca as $key=>$val) - $uch[$key] = htmlentities($val); + $uch[$key] = htmlentities($val, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); $newstring = str_replace($lca,$lch,$string); $newstring = str_replace($uca,$uch,$newstring); return $newstring; -- 2.1.4