Merge pull request #5269 from defrance/patch-5
NEW Add option to generate strict CSV. Currently if \n or \r we replaced chars, now we can addquote too
This commit is contained in:
commit
f7f812e11c
@ -299,7 +299,9 @@ class ExportCsv extends ModeleExports
|
|||||||
*/
|
*/
|
||||||
function csv_clean($newvalue, $charset)
|
function csv_clean($newvalue, $charset)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
$addquote=0;
|
$addquote=0;
|
||||||
|
|
||||||
|
|
||||||
// Rule Dolibarr: No HTML
|
// Rule Dolibarr: No HTML
|
||||||
//print $charset.' '.$newvalue."\n";
|
//print $charset.' '.$newvalue."\n";
|
||||||
@ -307,9 +309,16 @@ class ExportCsv extends ModeleExports
|
|||||||
//print $charset.' '.$newvalue."\n";
|
//print $charset.' '.$newvalue."\n";
|
||||||
|
|
||||||
// Rule 1 CSV: No CR, LF in cells
|
// Rule 1 CSV: No CR, LF in cells
|
||||||
$newvalue=str_replace("\r",'',$newvalue);
|
$oldvalue=$newvalue;
|
||||||
|
$newvalue=str_replace("\r",'\r',$newvalue);
|
||||||
$newvalue=str_replace("\n",'\n',$newvalue);
|
$newvalue=str_replace("\n",'\n',$newvalue);
|
||||||
|
if (! empty($conf->global->USE_STRICT_CSV_RULES) && $oldvalue != $newvalue)
|
||||||
|
{
|
||||||
|
// If strict use of CSV rules, we just add quote
|
||||||
|
$newvalue=$oldvalue;
|
||||||
|
$addquote=1;
|
||||||
|
}
|
||||||
|
|
||||||
// Rule 2 CSV: If value contains ", we must escape with ", and add "
|
// Rule 2 CSV: If value contains ", we must escape with ", and add "
|
||||||
if (preg_match('/"/',$newvalue))
|
if (preg_match('/"/',$newvalue))
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user