Bugfix sur la translation des lettres en chiffres
This commit is contained in:
parent
3c51b7842c
commit
4d9a83a8e2
@ -43,25 +43,41 @@
|
|||||||
\return int true si les infos sont bonnes, false si la clé ne correspond pas
|
\return int true si les infos sont bonnes, false si la clé ne correspond pas
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function verif_rib($code_banque , $code_guichet , $num_compte , $cle, $iban) {
|
function verif_rib($code_banque , $code_guichet , $num_compte , $cle, $iban)
|
||||||
if (eregi("^FR",$iban)) { // Cas de la France
|
{
|
||||||
$coef = array(62, 34, 3) ;
|
if (eregi("^FR",$iban))
|
||||||
// Concatenation des differents codes.
|
{ // Cas de la France
|
||||||
$rib = strtolower($code_banque.$code_guichet.$num_compte.$cle);
|
|
||||||
// On remplca les eventuelles lettres par des chiffres.
|
|
||||||
$rib = strtr($rib, "abcdefghijklmnopqrstuvwxyz","12345678912345678912345678");
|
|
||||||
|
|
||||||
// Separation du rib en 3 groupes de 7 + 1 groupe de 2.
|
$coef = array(62, 34, 3) ;
|
||||||
// Multiplication de chaque groupe par les coef du tableau
|
|
||||||
for ($i=0, $s=0; $i<3; $i++) {
|
|
||||||
$code = substr($rib, 7 * $i, 7) ;
|
|
||||||
$s += (0 + $code) * $coef[$i] ;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Soustraction du modulo 97 de $s à 97 pour obtenir la clé RIB
|
// Concatenation des differents codes.
|
||||||
$cle_rib = 97 - ($s % 97) ;
|
$rib = strtolower(trim($code_banque).trim($code_guichet).trim($num_compte).trim($cle));
|
||||||
if ($cle_rib == $cle) { return true; }
|
|
||||||
return false;
|
// On remplace les eventuelles lettres par des chiffres.
|
||||||
|
|
||||||
|
//Ne marche pas
|
||||||
|
//$rib = strtr($rib, "abcdefghijklmnopqrstuvwxyz","12345678912345678912345678");
|
||||||
|
|
||||||
|
$rib = strtr($rib, "abcdefghijklmnopqrstuvwxyz","12345678912345678923456789");
|
||||||
|
|
||||||
|
print $rib;
|
||||||
|
// Separation du rib en 3 groupes de 7 + 1 groupe de 2.
|
||||||
|
// Multiplication de chaque groupe par les coef du tableau
|
||||||
|
for ($i=0, $s=0; $i<3; $i++)
|
||||||
|
{
|
||||||
|
$code = substr($rib, 7 * $i, 7) ;
|
||||||
|
$s += (0 + $code) * $coef[$i] ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Soustraction du modulo 97 de $s à 97 pour obtenir la clé RIB
|
||||||
|
$cle_rib = 97 - ($s % 97) ;
|
||||||
|
|
||||||
|
if ($cle_rib == $cle)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user