diff --git a/htdocs/admin/tools/export.php b/htdocs/admin/tools/export.php index 1b65caf280f15b1c3e0ea060a2547083aeb7eaa8..c471e60423ebe9e583021501ad30412bbab11316 100644 --- a/htdocs/admin/tools/export.php +++ b/htdocs/admin/tools/export.php @@ -127,7 +127,7 @@ if ($what == 'mysql') if (! empty($dolibarr_main_db_port)) $param.=" -P ".$dolibarr_main_db_port; if (! GETPOST("use_transaction")) $param.=" -l --single-transaction"; if (GETPOST("disable_fk")) $param.=" -K"; - if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') $param.=" --compatible=".GETPOST("sql_compat","alpha"); + if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') $param.=" --compatible=".GETPOST("sql_compat","special"); if (GETPOST("drop_database")) $param.=" --add-drop-database"; if (GETPOST("sql_structure")) { diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 93710e6602d6d316126945d71aff111ee06249eb..b58328583530b9b9158492c7af0b3184729510f3 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -194,6 +194,12 @@ function GETPOST($paramname,$check='',$method=0) // '../' is dangerous because it allows dir transversals if (preg_match('/"/',$out)) $out=''; else if (preg_match('/\.\.\//',$out)) $out=''; + else if (preg_match('/(\s)*|(%20)*/',$out)) $out=''; + } + elseif ($check == 'special') + { + $out=trim($out); + if (preg_match('/(\s)*|(%20)*/',$out)) $out=''; } elseif ($check == 'array') {