diff --git a/include/text.php b/include/text.php index 2d265e6eee..5c6ab588f1 100644 --- a/include/text.php +++ b/include/text.php @@ -220,7 +220,7 @@ function xmlify($str) { $buffer = mb_ereg_replace("<", "<", $buffer); $buffer = mb_ereg_replace(">", ">", $buffer); */ - $buffer = htmlspecialchars($str, ENT_QUOTES); + $buffer = htmlspecialchars($str, ENT_QUOTES, "UTF-8"); $buffer = trim($buffer); return($buffer); diff --git a/mod/ping.php b/mod/ping.php index 8119840bbd..97a3070d84 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -167,6 +167,9 @@ function ping_init(&$a) { require_once("mod/proxy.php"); $photo = proxy_url($photo); + $message = html_entity_decode($message, ENT_COMPAT | ENT_HTML401, "UTF-8"); + $name = html_entity_decode($name, ENT_COMPAT | ENT_HTML401, "UTF-8"); + // Are the nofications calles from the regular process or via the friendica app? $regularnotifications = (intval($_GET['uid']) AND intval($_GET['_'])); @@ -175,10 +178,9 @@ function ping_init(&$a) { if ($a->is_friendica_app() OR !$regularnotifications) $message = str_replace("{0}", $name, $message); - $data = array('href' => &$href, 'name' => &$name, 'url'=>&$url, 'photo'=>&$photo, 'date'=>&$date, 'seen'=>&$seen, 'messsage'=>&$message); call_hooks('ping_xmlize', $data); - $notsxml = '%s'; + $notsxml = '%s'."\n"; return sprintf ( $notsxml, xmlify($href), xmlify($name), xmlify($url), xmlify($photo), xmlify($date), xmlify($seen), xmlify($message) );