diff --git a/main/inc/lib/htmlpurifier/library/HTMLPurifier/Encoder.php b/main/inc/lib/htmlpurifier/library/HTMLPurifier/Encoder.php
index dc872eefeb..772229c517 100755
--- a/main/inc/lib/htmlpurifier/library/HTMLPurifier/Encoder.php
+++ b/main/inc/lib/htmlpurifier/library/HTMLPurifier/Encoder.php
@@ -269,7 +269,18 @@ class HTMLPurifier_Encoder
static $iconv = null;
if ($iconv === null) $iconv = function_exists('iconv');
set_error_handler(array('HTMLPurifier_Encoder', 'muteErrorHandler'));
- if ($iconv && !$config->get('Test', 'ForceNoIconv')) {
+ // Added Ivan Tcholakov, 25-SEP-2009.
+ // First try - encoding conversion related functions from Dokeos LMS,
+ // for some encodings they work even without iconv or mbstring installed.
+ if (function_exists('api_is_encoding_supported')) {
+ if (api_is_encoding_supported($encoding)) {
+ $str = api_utf8_encode($str, $encoding);
+ restore_error_handler();
+ return $str;
+ }
+ }
+ //if ($iconv && !$config->get('Test', 'ForceNoIconv')) {
+ elseif ($iconv && !$config->get('Test', 'ForceNoIconv')) {
$str = iconv($encoding, 'utf-8//IGNORE', $str);
if ($str === false) {
// $encoding is not a valid encoding
@@ -288,16 +299,6 @@ class HTMLPurifier_Encoder
restore_error_handler();
return $str;
}
- // Added Ivan Tcholakov, 09-SEP-2009.
- // Next try - encoding conversion related functions from Dokeos LMS,
- // for some encodings they work even without iconv or mbstring installed.
- elseif (function_exists('api_is_encoding_supported')) {
- if (api_is_encoding_supported($encoding)) {
- $str = api_utf8_encode($str, $encoding);
- restore_error_handler();
- return $str;
- }
- }
trigger_error('Encoding not supported, please install iconv', E_USER_ERROR);
}
@@ -315,7 +316,18 @@ class HTMLPurifier_Encoder
$str = HTMLPurifier_Encoder::convertToASCIIDumbLossless($str);
}
set_error_handler(array('HTMLPurifier_Encoder', 'muteErrorHandler'));
- if ($iconv && !$config->get('Test', 'ForceNoIconv')) {
+ // Added Ivan Tcholakov, 25-SEP-2009.
+ // First try - encoding conversion related functions from Dokeos LMS,
+ // for some encodings they work even without iconv or mbstring installed.
+ if (function_exists('api_is_encoding_supported')) {
+ if (api_is_encoding_supported($encoding)) {
+ $str = api_utf8_decode($str, $encoding);
+ restore_error_handler();
+ return $str;
+ }
+ }
+ //if ($iconv && !$config->get('Test', 'ForceNoIconv')) {
+ elseif ($iconv && !$config->get('Test', 'ForceNoIconv')) {
// Undo our previous fix in convertToUTF8, otherwise iconv will barf
$ascii_fix = HTMLPurifier_Encoder::testEncodingSupportsASCII($encoding);
if (!$escape && !empty($ascii_fix)) {
@@ -333,16 +345,6 @@ class HTMLPurifier_Encoder
restore_error_handler();
return $str;
}
- // Added Ivan Tcholakov, 09-SEP-2009.
- // Next try - encoding conversion related functions from Dokeos LMS,
- // for some encodings they work even without iconv or mbstring installed.
- elseif (function_exists('api_is_encoding_supported')) {
- if (api_is_encoding_supported($encoding)) {
- $str = api_utf8_decode($str, $encoding);
- restore_error_handler();
- return $str;
- }
- }
trigger_error('Encoding not supported', E_USER_ERROR);
}