From 9d3a0442c0ef9c4e1d913d0cf98a1dcff7dd5e20 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 16 Jul 2018 17:10:33 +0200 Subject: [PATCH 1/2] dolibarr-develop, php 7.2.7 On third party, add bank account. After spanish account has been added, on summary screen ..../htdocs/societe/paymentmodes.php a correct account number causes the error: Warning: A non-numeric value encountered in .......\public_html\dolibarr-develop\htdocs\core\lib\bank.lib.php on line 359 This is `$sum += $values[$i] * substr($InumCta, $i, 1);` Since substr returns a string it cannot be summed (I assume). I changed it to `$sum += $values[$i] * (int)substr($InumCta, $i, 1)` --- htdocs/core/lib/bank.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index 5e1e300520c..e361d8fa9f6 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -356,7 +356,7 @@ function checkES($IentOfi, $InumCta) $sum = 0; for ($i = 0; $i < 11; $i++) { - $sum += $values[$i] * substr($InumCta, $i, 1); + $sum += $values[$i] * (int)substr($InumCta, $i, 1);//int to cast result of substr to a number } $key = 11 - $sum % 11; From 0e3473701a0d5a0294c542a179277300fb656c13 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 2 Aug 2018 18:38:33 +0200 Subject: [PATCH 2/2] Update bank.lib.php --- htdocs/core/lib/bank.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index e361d8fa9f6..28584b60e32 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -356,9 +356,9 @@ function checkES($IentOfi, $InumCta) $sum = 0; for ($i = 0; $i < 11; $i++) { - $sum += $values[$i] * (int)substr($InumCta, $i, 1);//int to cast result of substr to a number + $sum += $values[$i] * (int) substr($InumCta, $i, 1);//int to cast result of substr to a number } - + $key = 11 - $sum % 11; if ($key == 10)