Modified: web/php-news/trunk/article.php =================================================================== --- web/php-news/trunk/article.php 2011-05-23 15:03:08 UTC (rev 311354) +++ web/php-news/trunk/article.php 2011-05-23 15:44:02 UTC (rev 311355) @@ -235,12 +235,12 @@ continue; } $res2 = nntp_cmd($s, "XPATH $v",223) - or print(""); + or print(""); list(,$v) = split("/", trim($res2)); if (empty($v)) { continue; } - echo "".($c++)." "; + echo "".($c++)." "; } echo "\n"; } @@ -250,7 +250,7 @@ echo ' '; $r = explode(",", chop($headers["newsgroups"])); while (list($k,$v) = each($r)) { - echo "".htmlspecialchars($v)." "; + echo "".htmlspecialchars($v, ENT_QUOTES, "UTF-8")." "; } echo "\n"; } @@ -268,7 +268,7 @@ // Based off navbar() in group.php function navbar($group, $current) { - $group = htmlspecialchars($group, ENT_QUOTES); + $group = htmlspecialchars($group, ENT_QUOTES, "UTF-8"); echo ' ' . "\n"; echo ' ' . "\n"; Modified: web/php-news/trunk/common.inc =================================================================== --- web/php-news/trunk/common.inc 2011-05-23 15:03:08 UTC (rev 311354) +++ web/php-news/trunk/common.inc 2011-05-23 15:44:02 UTC (rev 311355) @@ -119,16 +119,16 @@ function format_author($a, $charset) { $a = recode_header($a, $charset); if (preg_match("/^\s*(.+)\s+\\(\"?(.+?)\"?\\)\s*$/",$a,$ar)) { - return "".str_replace(" ", " ", htmlspecialchars($ar[2])).""; + return "".str_replace(" ", " ", htmlspecialchars($ar[2], ENT_QUOTES, "UTF-8")).""; } if (preg_match("/^\s*\"?(.+?)\"?\s*<(.+)>\s*$/",$a,$ar)) { - return "".str_replace(" ", " ", htmlspecialchars($ar[1])).""; + return "".str_replace(" ", " ", htmlspecialchars($ar[1], ENT_QUOTES, "UTF-8")).""; } if (ereg("@",$a)) { $a = spam_protect($a); - return "".htmlspecialchars($a).""; + return "".htmlspecialchars($a, ENT_QUOTES, "UTF-8").""; } - return str_replace(" ", " ", htmlspecialchars($a)); + return str_replace(" ", " ", htmlspecialchars($a, ENT_QUOTES, "UTF-8")); } function format_subject($s, $charset) { @@ -141,7 +141,7 @@ } else { $s = wordwrap($s, 150); } - return nl2br(htmlspecialchars($s)); + return nl2br(htmlspecialchars($s, ENT_QUOTES, "UTF-8")); } @@ -155,7 +155,7 @@ } else { $s = wordwrap($s, 150); } - return $s; + return htmlspecialchars($s, ENT_QUOTES, "UTF-8"); } function format_date($d) { Modified: web/php-news/trunk/group.php =================================================================== --- web/php-news/trunk/group.php 2011-05-23 15:03:08 UTC (rev 311354) +++ web/php-news/trunk/group.php 2011-05-23 15:44:02 UTC (rev 311355) @@ -43,7 +43,7 @@ error("Failed to get xover data"); } -$host = htmlspecialchars($_SERVER['HTTP_HOST'], ENT_QUOTES); +$host = htmlspecialchars($_SERVER['HTTP_HOST'], ENT_QUOTES, "UTF-8"); switch($format) { case 'rss': header("Content-type: text/xml"); @@ -102,7 +102,7 @@ echo " \n"; echo " http://$host/$group/$n\n"; echo " ", format_subject($subj, $charset), "\n"; - echo " ", htmlspecialchars(format_author($author, $charset)), "\n"; + echo " ", htmlspecialchars(format_author($author, $charset), ENT_QUOTES, "UTF-8"), "\n"; echo " $date822\n"; echo " \n"; break; @@ -110,7 +110,7 @@ echo " \n"; echo " ", format_subject($subj, $charset), "\n"; echo " http://$host/$group/$n\n"; - echo " ", htmlspecialchars(format_author($author, $charset)), "\n"; + echo " ", htmlspecialchars(format_author($author, $charset), ENT_QUOTES, "UTF-8"), "\n"; echo " $date822\n"; echo " \n"; break; @@ -149,18 +149,18 @@ echo ' ' . "\n"; $j = min($i + 20, $l); $c = $l - $f + 1; - echo ' \n"; + echo ' \n"; echo ' \n"; - echo "\n"; + echo "\n"; } echo "
'.htmlspecialchars($g)." ($i-$j of $c)'.htmlspecialchars($g, ENT_QUOTES, "UTF-8")." ($i-$j of $c)
".nl2br(htmlspecialchars($b))."
".nl2br(htmlspecialchars($b, ENT_QUOTES, "UTF-8"))."
"; navbar($q,$first,$last,$found,$wordinfo,$time); @@ -84,7 +84,7 @@ echo ''; $p = floor($first / 20); if ($p > 0) { - echo "« previous"; + echo "« previous"; } else { echo " "; @@ -92,11 +92,11 @@ echo ''; $j = min($i+20,$l); $c = $l - $f + 1; - echo ''.htmlspecialchars("found: $wordinfo in $time secs")." ($first-$last of $found)"; + echo ''.htmlspecialchars("found: $wordinfo in $time secs", ENT_QUOTES, "UTF-8")." ($first-$last of $found)"; echo ''; $maxpages = floor($found / 20); if ($p < $maxpages) { - echo "next »"; + echo "next »"; } else { echo " ";