From 5082b1cc66a734adf615f1e6e6ea96a21e94ce3f Mon Sep 17 00:00:00 2001 From: Nikos Drosis Date: Tue, 17 Nov 2015 20:22:27 +0200 Subject: [PATCH 1/2] Fix for utf-8 characters in the mask mercure --- htdocs/core/lib/functions2.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 9c77729ac5a..2b31296ad7a 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -814,7 +814,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m //print "masktri=".$masktri." maskcounter=".$maskcounter." maskraz=".$maskraz." maskoffset=".$maskoffset."
\n"; // Define $sqlstring - $posnumstart=strrpos($maskwithnocode,$maskcounter); // Pos of counter in final string (from 0 to ...) + $posnumstart=mb_strrpos($maskwithnocode,$maskcounter, 'UTF-8'); // Pos of counter in final string (from 0 to ...) if ($posnumstart < 0) return 'ErrorBadMaskFailedToLocatePosOfSequence'; $sqlstring='SUBSTRING('.$field.', '.($posnumstart+1).', '.dol_strlen($maskcounter).')'; From ee4eb13fff588e74d8507816065e281144a8b974 Mon Sep 17 00:00:00 2001 From: Drosis Nikos Date: Fri, 20 Nov 2015 19:05:00 +0200 Subject: [PATCH 2/2] Update functions2.lib.php --- htdocs/core/lib/functions2.lib.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 2b31296ad7a..0cc43080c6c 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -814,7 +814,14 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m //print "masktri=".$masktri." maskcounter=".$maskcounter." maskraz=".$maskraz." maskoffset=".$maskoffset."
\n"; // Define $sqlstring - $posnumstart=mb_strrpos($maskwithnocode,$maskcounter, 'UTF-8'); // Pos of counter in final string (from 0 to ...) + if (function_exists('mb_strrpos')) + { + $posnumstart=mb_strrpos($maskwithnocode,$maskcounter, 'UTF-8'); + } + else + { + $posnumstart=strrpos($maskwithnocode,$maskcounter); + } // Pos of counter in final string (from 0 to ...) if ($posnumstart < 0) return 'ErrorBadMaskFailedToLocatePosOfSequence'; $sqlstring='SUBSTRING('.$field.', '.($posnumstart+1).', '.dol_strlen($maskcounter).')';