Fixed input cleanup for arrays.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 29 Oct 2010 16:16:36 +0000 (16:16 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 29 Oct 2010 16:16:36 +0000 (16:16 +0000)
CHANGELOG.txt
includes/session.inc

index f1a56419cbc6d8e7f07619bb696d8dab8616ecaf..9fe730746a32c82b56c5803c6493bbc72469d7ad 100644 (file)
@@ -19,6 +19,12 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+29-Oct-2010 Janusz Dobrowolski
+# Fixed reference display in credit note edition.
+$ /sales/includes/ui/sales_credit_ui.inc
+# Fixed cleanup for input arrays 
+$ /includes/session.inc
+
 28-Oct-2010 Janusz Dobrowolski
 ! All mysql specific functions moved to connect_db.inc
 $ /admin/inst_theme.php
index bab3bc9bc50b5046c7acc5eeaf73b3d81f843274..d747888ac84ee242f2208766508359e3593ef508 100644 (file)
@@ -131,6 +131,17 @@ function strip_quotes($data)
        return $data;
 }
 
+function html_cleanup(&$parms)
+{
+       foreach($parms as $name => $value) {
+//             $value = @html_entity_decode($value, ENT_QUOTES, $_SESSION['language']->encoding);
+               if (is_array($value))
+                       html_cleanup($parms[$name]);
+               else
+                       $parms[$name] = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding);
+       }
+}
+
 //============================================================================
 //
 //
@@ -278,18 +289,8 @@ $SysPrefs = &$_SESSION['SysPrefs'];
 
 // POST vars cleanup needed for direct reuse.
 // We quote all values later with db_escape() before db update.
-       $_POST = strip_quotes($_POST);
-
-// GET cleanup against XSS. (NB in FA those are mainly numeric transaction numbers)
-       foreach($_GET as $name => $value) {
-//             $value = @html_entity_decode($value, ENT_QUOTES, $_SESSION['language']->encoding);
-               $_GET[$name] = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding);
-
-       }
-       foreach($_POST as $name => $value) {
-//             $value = @html_entity_decode($value, ENT_QUOTES, $_SESSION['language']->encoding);
-               $_POST[$name] = @htmlspecialchars($value, ENT_QUOTES, $_SESSION['language']->encoding);
-
-       }
+$_POST = strip_quotes($_POST);
 
+html_cleanup($_GET);
+html_cleanup($_POST);
 ?>
\ No newline at end of file