Fixed problems with latin2 encoding due to changes in htmlspecialchars() behaviour...
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 8 Dec 2014 19:14:01 +0000 (20:14 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 8 Dec 2014 19:14:01 +0000 (20:14 +0100)
includes/db/connect_db.inc
includes/session.inc

index 5b4293eb10ed8d001b803fd2e6ef5a7b4426cba1..bca8b86f52477a96561c1f5188d881802efe1dcd 100644 (file)
@@ -122,7 +122,7 @@ function db_num_fields ($result)
 function db_escape($value = "", $nullify = false)
 {
        $value = @html_entity_decode($value, ENT_QUOTES, $_SESSION['language']->encoding);
-       $value = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding);
+       $value = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding=='iso-8859-2' ? 'ISO-8859-1' : $_SESSION['language']->encoding);
 
        //reset default if second parameter is skipped
        $nullify = ($nullify === null) ? (false) : ($nullify);
index 6e783373f94d7d8982767a2357e1de31b6c98864..73923741b738187335a8baa005930406b8e3459a 100644 (file)
@@ -316,7 +316,7 @@ function html_cleanup(&$parms)
                if (is_array($value))
                        html_cleanup($parms[$name]);
                else
-                       $parms[$name] = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding);
+                       $parms[$name] = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding=='iso-8859-2' ? 'ISO-8859-1' : $_SESSION['language']->encoding);
        }
        reset($parms); // needed for direct key() usage later throughout the sources
 }
@@ -484,7 +484,8 @@ if (!defined('FA_LOGOUT_PHP_FILE')){
                {
                        // strip ajax marker from uri, to force synchronous page reload
                        $_SESSION['timeout'] = array( 'uri'=>preg_replace('/JsHttpRequest=(?:(\d+)-)?([^&]+)/s',
-                                       '', @htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, $_SESSION['language']->encoding)), 
+                                       '', @htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, $_SESSION['language']->encoding=='iso-8859-2'
+                                                ? 'ISO-8859-1' : $_SESSION['language']->encoding)), 
                                'post' => $_POST);
 
                        include($path_to_root . "/access/login.php");