Pagina 1 di 1

Problemi con la partita iva per altri paesi europei

Inviato: 08/03/2006, 19:52
da Claudia_nauti
Quando un cliente europeo diverso dall'italia si icrive non riesce a completare la registrazione in quanto le partite iva degli altri paesi europei sono costruite in modo diverso da quelle italiane.
Qualcuno mi sa indicare come togliere il sistema di controllo sulla partita iva? Le partite iva degli altri paesi a volte superano le 11 cifre e possono contenere anche lettere. Ad esempio una partita iva francese: FR20409105392.
Come posso fare? Semplicemente ho bisogno che non ci siano controlli sulla partita iva, sulla sua lunghezza, che sia numerica o meno e che possa contenere lettere e numeri.

Re: Problemi con la partita iva per altri paesi europei

Inviato: 08/03/2006, 20:18
da Bass
Claudia_nauti ha scritto: Come posso fare? Semplicemente ho bisogno che non ci siano controlli sulla partita iva, sulla sua lunghezza, che sia numerica o meno e che possa contenere lettere e numeri.
Dovrebbe essere sufficiente eliminare questo codice da create_account.php

Codice: Seleziona tutto

//PIVACF start
       if (ACCOUNT_PIVA == 'true'){
         if (($piva == "") && (ACCOUNT_PIVA_REQ == 'true')) {
           $error = true;
              $messageStack->add('create_account', ENTRY_PIVA_ERROR);
         } else if ((strlen($piva) != 11) && ($piva != ""))  {
        $error = true;
        $messageStack->add('create_account', ENTRY_PIVA_ERROR);
      } else if (strlen($piva) == 11) {
           if( ! ereg("^[0-9]+$", $piva) ) {
             $error = true;
             $messageStack->add('create_account', ENTRY_PIVA_ERROR);
        } else {
             $s = 0;
                for( $i = 0; $i <= 9; $i += 2 ) $s += ord($piva[$i]) - ord('0');
                for( $i = 1; $i <= 9; $i += 2 ) {
                  $c = 2*( ord($piva[$i]) - ord('0') );
                  if( $c > 9 ) $c = $c - 9;
                  $s += $c;
             }
             if( ( 10 - $s%10 )%10 != ord($piva[10]) - ord('0') ) {
            $error = true;
            $messageStack->add('create_account', ENTRY_PIVA_ERROR);
          }
           }
         }    
       }
Fai una prova commentandolo

'iao

Sergio

Re: Problemi con la partita iva per altri paesi europei

Inviato: 08/03/2006, 21:09
da marcus
Claudia_nauti ha scritto: Come posso fare? Semplicemente ho bisogno che non ci siano controlli sulla partita iva, sulla sua lunghezza, che sia numerica o meno e che possa contenere lettere e numeri.
In create account modifica l'if relativo alla PIVA lasciando il controllo di valorizzazione:

Codice: Seleziona tutto

	if (ACCOUNT_PIVA == 'true'){
		if (!tep_not_null($piva) && (ACCOUNT_PIVA_REQ == 'true')) {
			$error = true;
			$messageStack->add('create_account', ENTRY_PIVA_ERROR);
		}
	}
Marcus

grazie

Inviato: 09/03/2006, 13:05
da Claudia_nauti
funziona grazie grazie