Sfoglia il codice sorgente

bug get_html_translation_table sur PHP < 5.3.4

Corrige https://github.com/marienfressinaud/FreshRSS/issues/337
Alexandre Alapetite 12 anni fa
parent
commit
5360ec9851
1 ha cambiato i file con 11 aggiunte e 4 eliminazioni
  1. 11 4
      lib/lib_rss.php

+ 11 - 4
lib/lib_rss.php

@@ -91,10 +91,17 @@ function timestamptodate ($t, $hour = true) {
 function html_only_entity_decode($text) {
 function html_only_entity_decode($text) {
 	static $htmlEntitiesOnly = null;
 	static $htmlEntitiesOnly = null;
 	if ($htmlEntitiesOnly === null) {
 	if ($htmlEntitiesOnly === null) {
-		$htmlEntitiesOnly = array_flip(array_diff(
-			get_html_translation_table(HTML_ENTITIES, ENT_NOQUOTES, 'UTF-8'),	//Decode HTML entities
-			get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES, 'UTF-8')	//Preserve XML entities
-		));
+		if (version_compare(PHP_VERSION, '5.3.4') >= 0) {
+			$htmlEntitiesOnly = array_flip(array_diff(
+				get_html_translation_table(HTML_ENTITIES, ENT_NOQUOTES, 'UTF-8'),	//Decode HTML entities
+				get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES, 'UTF-8')	//Preserve XML entities
+			));
+		} else {
+			$htmlEntitiesOnly = array_map('utf8_encode', array_flip(array_diff(
+				get_html_translation_table(HTML_ENTITIES, ENT_NOQUOTES),	//Decode HTML entities
+				get_html_translation_table(HTML_SPECIALCHARS, ENT_NOQUOTES)	//Preserve XML entities
+			)));
+		}
 	}
 	}
 	return strtr($text, $htmlEntitiesOnly);
 	return strtr($text, $htmlEntitiesOnly);
 }
 }