1
0

Introduce serendipity_specialchars-wrapper for encoding bug (#236)

PHP 5.4 sets UTF-8 as the default for htmlspecialchars, htmlentities and html_entity_decode. The first two will echo an empty string when given a string with umlauts. This commits introduces serendipity_specialchar-wrapper that are meant to be a temporary solution for the s9y-core until PHP 5.6 fixed the bug, so the native charset option of s9y continues to work.
This commit is contained in:
onli
2014-11-23 23:41:08 +01:00
parent 6c26d1b3f6
commit 92afc37753
50 changed files with 208 additions and 175 deletions

View File

@ -70,7 +70,7 @@ function serendipity_printEntries_rss(&$entries, $version, $comments = false, $f
$entry['body'] .= ' ' . $entry['extended'];
$ext = '';
} elseif ($entry['exflag']) {
$ext = '<a class="block_level" href="' . $entry['feed_entryLink'] . '#extended">' . sprintf(VIEW_EXTENDED_ENTRY, htmlspecialchars($entry['title'])) . '</a>';
$ext = '<a class="block_level" href="' . $entry['feed_entryLink'] . '#extended">' . sprintf(VIEW_EXTENDED_ENTRY, serendipity_specialchars($entry['title'])) . '</a>';
} else {
$ext = '';
}
@ -103,24 +103,24 @@ function serendipity_printEntries_rss(&$entries, $version, $comments = false, $f
if (!is_array($entry['categories'])) {
$entry['categories'] = array(0 => array(
'category_name' => $entry['category_name'],
'feed_category_name' => serendipity_utf8_encode(htmlspecialchars($entry['category_name'])),
'feed_category_name' => serendipity_utf8_encode(serendipity_specialchars($entry['category_name'])),
'categoryURL' => serendipity_categoryURL($entry, 'baseURL')
));
} else {
foreach($entry['categories'] AS $cid => $_cat) {
$cat = &$entry['categories'][$cid];
$cat['categoryURL'] = serendipity_categoryURL($cat, 'baseURL');
$cat['feed_category_name'] = serendipity_utf8_encode(htmlspecialchars($cat['category_name']));
$cat['feed_category_name'] = serendipity_utf8_encode(serendipity_specialchars($cat['category_name']));
}
}
// Prepare variables
// 1. UTF8 encoding + htmlspecialchars.
$entry['feed_title'] = serendipity_utf8_encode(htmlspecialchars($entry['title']));
$entry['feed_blogTitle'] = serendipity_utf8_encode(htmlspecialchars($serendipity['blogTitle']));
$entry['feed_title'] = serendipity_utf8_encode(htmlspecialchars($entry['title']));
$entry['feed_author'] = serendipity_utf8_encode(htmlspecialchars($entry['author']));
$entry['feed_email'] = serendipity_utf8_encode(htmlspecialchars($entry['email']));
// 1. UTF8 encoding + serendipity_specialchars.
$entry['feed_title'] = serendipity_utf8_encode(serendipity_specialchars($entry['title']));
$entry['feed_blogTitle'] = serendipity_utf8_encode(serendipity_specialchars($serendipity['blogTitle']));
$entry['feed_title'] = serendipity_utf8_encode(serendipity_specialchars($entry['title']));
$entry['feed_author'] = serendipity_utf8_encode(serendipity_specialchars($entry['author']));
$entry['feed_email'] = serendipity_utf8_encode(serendipity_specialchars($entry['email']));
// 2. gmdate
$entry['feed_timestamp'] = gmdate('Y-m-d\TH:i:s\Z', serendipity_serverOffsetHour($entry['timestamp']));