add('create_account', ENTRY_PRIVACY_ERROR); } } //PrivacyEnd if (ACCOUNT_GENDER == 'true') { if ( ($gender != 'm') && ($gender != 'f') ) { $error = true; $messageStack->add('create_account', ENTRY_GENDER_ERROR); } } //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); } } } } if (ACCOUNT_CF == 'true') { if (($cf == "") && (ACCOUNT_CF_REQ == 'true')) { $error = true; $messageStack->add('create_account', ENTRY_CF_ERROR); } else if ((strlen($cf) != 16) && ($cf != "")) { $error = true; $messageStack->add('create_account', ENTRY_CF_ERROR); } else if (strlen($cf) == 16) { $cf = strtoupper($cf); if( ! ereg("^[A-Z0-9]+$", $cf) ){ $error = true; $messageStack->add('create_account', ENTRY_CF_ERROR); } else { $s = 0; for( $i = 1; $i <= 13; $i += 2 ){ $c = $cf[$i]; if( '0' <= $c && $c <= '9' ) $s += ord($c) - ord('0'); else $s += ord($c) - ord('A'); } for( $i = 0; $i <= 14; $i += 2 ){ $c = $cf[$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')) != $cf[15] ){ $error = true; $messageStack->add('create_account', ENTRY_CF_ERROR); } } } } //PIVACF end if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_FIRST_NAME_ERROR); } if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_LAST_NAME_ERROR); } if (ACCOUNT_DOB == 'true') { if (checkdate(substr(tep_date_raw($dob), 4, 2), substr(tep_date_raw($dob), 6, 2), substr(tep_date_raw($dob), 0, 4)) == false) { $error = true; $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR); } } if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR); } elseif (tep_validate_email($email_address) == false) { $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } else { $check_email_query = tep_db_query("select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'"); $check_email = tep_db_fetch_array($check_email_query); if ($check_email['total'] > 0) { $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS); } } if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR); } if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_POST_CODE_ERROR); } if (strlen($city) < ENTRY_CITY_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_CITY_ERROR); } if (is_numeric($country) == false) { $error = true; $messageStack->add('create_account', ENTRY_COUNTRY_ERROR); } if (ACCOUNT_STATE == 'true') { // +Country-State Selector if ($zone_id == 0) { // -Country-State Selector if (strlen($state) < ENTRY_STATE_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_STATE_ERROR); } } } if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_TELEPHONE_NUMBER_ERROR); } if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_PASSWORD_ERROR); } elseif ($password != $confirmation) { $error = true; $messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING); } if ($error == false) { $sql_data_array = array('customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => tep_encrypt_password($password)); if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $gender; if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = tep_date_raw($dob); tep_db_perform(TABLE_CUSTOMERS, $sql_data_array); $customer_id = tep_db_insert_id(); $sql_data_array = array('customers_id' => $customer_id, 'entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_country_id' => $country); if (ACCOUNT_GENDER == 'true') $sql_data_array['entry_gender'] = $gender; if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_company'] = $company; //PIVACF start if (ACCOUNT_PIVA == 'true') $sql_data_array['entry_piva'] = $piva; if (ACCOUNT_CF == 'true') $sql_data_array['entry_cf'] = $cf; //PIVACF end if (ACCOUNT_SUBURB == 'true') $sql_data_array['entry_suburb'] = $suburb; if (ACCOUNT_STATE == 'true') { if ($zone_id > 0) { $sql_data_array['entry_zone_id'] = $zone_id; $sql_data_array['entry_state'] = ''; } else { $sql_data_array['entry_zone_id'] = '0'; $sql_data_array['entry_state'] = $state; } } tep_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array); $address_id = tep_db_insert_id(); tep_db_query("update " . TABLE_CUSTOMERS . " set customers_default_address_id = '" . (int)$address_id . "' where customers_id = '" . (int)$customer_id . "'"); tep_db_query("insert into " . TABLE_CUSTOMERS_INFO . " (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('" . (int)$customer_id . "', '0', now())"); if (SESSION_RECREATE == 'True') { tep_session_recreate(); } $customer_first_name = $firstname; $customer_default_address_id = $address_id; $customer_country_id = $country; $customer_zone_id = $zone_id; tep_session_register('customer_id'); tep_session_register('customer_first_name'); tep_session_register('customer_default_address_id'); tep_session_register('customer_country_id'); tep_session_register('customer_zone_id');// restore cart contents $cart->restore_contents();// build the message content $name = $firstname . ' ' . $lastname; if (ACCOUNT_GENDER == 'true') { if ($gender == 'm') { $email_text = sprintf(EMAIL_GREET_MR, $lastname); } else { $email_text = sprintf(EMAIL_GREET_MS, $lastname); } } else { $email_text = sprintf(EMAIL_GREET_NONE, $firstname); } $admin_email_text = ADMIN_EMAIL_WELCOME ."\n"; $admin_email_text .= ADMIN_EMAIL_TEXT ."\n"; $admin_email_text .= "========================================\n"; $admin_email_text .= ADMIN_EMAIL_FIRSTNAME . $firstname . "\n"; $admin_email_text .= ADMIN_EMAIL_LASTNAME . $lastname . "\n"; $admin_email_text .= ADMIN_EMAIL_COMPANY . $company . "\n"; $admin_email_text .= ADMIN_EMAIL_CITY . $city . "\n"; $admin_email_text .= ADMIN_EMAIL_EMAIL . $email_address . "\n"; tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, nl2br($admin_email_text), $name, $email_address, ''); $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING; tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS);//TotalB2B start $email_validate_text = EMAIL_VALIDATE . " \n\n " . EMAIL_VALIDATE_PROFILE . " " . tep_href_link('amministrazione/customers.php','cID='.$customer_id.'&action=edit', 'SSL') . " \n" . EMAIL_VALIDATE_ACTIVATE . " " . tep_href_link('amministrazione/customers.php','action=setflag&flag=1&cID='.$customer_id, 'SSL'); tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_VALIDATE_SUBJECT, $email_validate_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);//TotalB2B end tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL')); } } // +Country-State Selector } if ($HTTP_POST_VARS['action'] == 'refresh') {$state = '';} if (!isset($country)) $country = DEFAULT_COUNTRY; // -Country-State Selector $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));?>