prestashop – controllo del codice fiscale

controllo del codice fiscale
  • controllo della lunghezza del codice fiscale(16 caratteri)
  • controllo alfanumerico
  • controllo codice fiscale(secondo la legge)

 

copiate il file /classes/Validate.php in /override/classes/

e modificarlo come segue

cercate:

public static function isDniLite($dni)
{
return empty($dni) || (bool)preg_match('/^[0-9A-Za-z-.]{1,16}$/U', $dni);
}

e modificatelo così:


public static function isDniLite($dni)
{
//return empty($dni) || (bool)preg_match('/^[0-9A-Za-z-.]{1,16}$/U', $dni);
if($dni=='')
return false;

if(strlen($dni)!= 16)
return false;

$dni=strtoupper($dni);
if(!preg_match("/[A-Z0-9]+$/", $dni))
return false;
$s = 0;
for($i=1; $i<=13; $i+=2){
$c=$dni[$i];
if('0'<=$c and $c<='9')
$s+=ord($c)-ord('0');
else
$s+=ord($c)-ord('A');
}

for($i=0; $i<=14; $i+=2){
$c=$dni[$i];
switch($c){
case '0':  $s += 1;
break;
case '1':  $s += 0;  break;
case '2':  $s += 5;  break;
case '3':  $s += 7;  break;
case '4':  $s += 9;  break;
case '5':  $s += 13;  break;
case '6':  $s += 15;  break;
case '7':  $s += 17;  break;
case '8':  $s += 19;  break;
case '9':  $s += 21;  break;
case 'A':  $s += 1;  break;
case 'B':  $s += 0;  break;
case 'C':  $s += 5;  break;
case 'D':  $s += 7;  break;
case 'E':  $s += 9;  break;
case 'F':  $s += 13;  break;
case 'G':  $s += 15;  break;
case 'H':  $s += 17;  break;
case 'I':  $s += 19;  break;
case 'J':  $s += 21;  break;
case 'K':  $s += 2;  break;
case 'L':  $s += 4;  break;
case 'M':  $s += 18;  break;
case 'N':  $s += 20;  break;
case 'O':  $s += 11;  break;
case 'P':  $s += 3;  break;
case 'Q':  $s += 6;  break;
case 'R':  $s += 8;  break;
case 'S':  $s += 12;  break;
case 'T':  $s += 14;  break;
case 'U':  $s += 16;  break;
case 'V':  $s += 10;  break;
case 'W':  $s += 22;  break;
case 'X':  $s += 25;  break;
case 'Y':  $s += 24;  break;
case 'Z':  $s += 23;  break;
}
}

if( chr($s%26+ord('A'))!=$dni[15] )
return false;

return true;
}

Finito!!!

Ricordatevi di cancettale il file class_index.php nella cartella cache per attivare l’override.

Fatemi sapere se è andato tutto bene o se ci sono domande.

Fra pochi giorni metterlo il codice per inserire il codice fiscale anche da front-end