Problemi con la partita iva per altri paesi europei

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
Claudia_nauti
membro Junior
membro Junior
Messaggi: 26
Iscritto il: 16/08/2005, 16:49

Problemi con la partita iva per altri paesi europei

Messaggio 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.
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Re: Problemi con la partita iva per altri paesi europei

Messaggio 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
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto

http://www.semilandia.it
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: Problemi con la partita iva per altri paesi europei

Messaggio 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
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Claudia_nauti
membro Junior
membro Junior
Messaggi: 26
Iscritto il: 16/08/2005, 16:49

grazie

Messaggio da Claudia_nauti »

funziona grazie grazie
Rispondi