<?php
## Creato da Rosario Sensale ##
## E.Mail gsensa@freemail.it ##
function CheckPIva($partita_iva)
{
$dimensione=strlen($partita_iva);
$somma_disp=0;
$somma_pari=0;
$somma_totale=0;
$temp=0; //ritorna 0 se c'Φ un errore e 1 nel caso contrario
//controllo la dimensione
if ($dimensione == 11) {
$somma_disp=intval($partita_iva[0]) + intval($partita_iva[2]) + intval($partita_iva[4]) + intval($partita_iva[6]) + intval($partita_iva[8]);
//controllo pari
$temp_somma=intval($partita_iva[1])*2;
$temp_str=strval($temp_somma);
if ($temp_somma >= 10){
$somma_pari=$somma_pari + intval($temp_str[0]) + intval($temp_str[1]);
}else{
$somma_pari=$somma_pari + $temp_somma;
}
$temp_somma=intval($partita_iva[3])*2;
$temp_str=strval($temp_somma);
if ($temp_somma >= 10){
$somma_pari=$somma_pari + intval($temp_str[0]) + intval($temp_str[1]);
}else{
$somma_pari=$somma_pari + $temp_somma;
}
$temp_somma=intval($partita_iva[5])*2;
$temp_str=strval($temp_somma);
if ($temp_somma >= 10){
$somma_pari=$somma_pari + intval($temp_str[0]) + intval($temp_str[1]);
}else{
$somma_pari=$somma_pari + $temp_somma;
}
$temp_somma=intval($partita_iva[7])*2;
$temp_str=strval($temp_somma);
if ($temp_somma >= 10){
$somma_pari=$somma_pari + intval($temp_str[0]) + intval($temp_str[1]);
}else{
$somma_pari=$somma_pari + $temp_somma;
}
$temp_somma=intval($partita_iva[9])*2;
$temp_str=strval($temp_somma);
if ($temp_somma >= 10){
$somma_pari=$somma_pari + intval($temp_str[0]) + intval($temp_str[1]);
}else{
$somma_pari=$somma_pari + $temp_somma;
}
//somma totale
$somma_totale=$somma_pari+$somma_disp;
//elemento unita'
$temp_str=strval($somma_totale);
$controllo=10-intval($temp_str[1]);
if (intval($partita_iva[10]) == $controllo) {
$temp=1;
}else{
$temp=0;
}
}else{
$temp=0; //non sono 11 caratteri
}
return $temp;
}
?>
|