Jan Zonjee Posted October 18, 2008 Share Posted October 18, 2008 I dont know how to make this Wholesale as a default. ? But will this do so i have to approve the account before the wholesaler can log in? What is wrong with making them a retail customer until you approve them? It will be nice if a wholesaler is making an account and after they have push the button create account, it will say. Thankx for requesting an account. we will look at your account and soon get back to you. Then add a checkbox ( tep_draw_checkbox_field('wholesale_account_request', '0') ) below the entry for the tax id number. Look for the post value $_POST['wholesale_account_request'] at the redirect to create_account_success.php on line 295 and if it set redirect to another page you made with that text ("Easily add new pages" is a contribution for that I think). And then you have to decide if this is a wholesaler or a end customer there only want to look on the prices. And in the mean time they can see the recommended price out to the customers. but they cannot buy any thing. Why would you want to stop them from buying at retail prices? Quote Link to comment Share on other sites More sharing options...
Party Posted October 19, 2008 Share Posted October 19, 2008 What is wrong with making them a retail customer until you approve them? Then add a checkbox ( tep_draw_checkbox_field('wholesale_account_request', '0') ) below the entry for the tax id number. Look for the post value $_POST['wholesale_account_request'] at the redirect to create_account_success.php on line 295 and if it set redirect to another page you made with that text ("Easily add new pages" is a contribution for that I think). Why would you want to stop them from buying at retail prices? The problem is that we do not sell to retailer. but only Wholesaler. :-( Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted October 19, 2008 Share Posted October 19, 2008 The problem is that we do not sell to retailer. but only Wholesaler.:-( Then combine it with Member approval. It uses a field in customers called member_level but in your case you would use customers_group_id instead in the code. Every customer with a customers_group_id of 0 cannot go to checkout because the session values are not registered after having opened an acccount etc. It's a small contribution so shouldn't be too difficult to adapt it to SPPC using the customers_group_id instead of member_level. Quote Link to comment Share on other sites More sharing options...
Party Posted October 23, 2008 Share Posted October 23, 2008 (edited) Then combine it with Member approval. It uses a field in customers called member_level but in your case you would use customers_group_id instead in the code. Every customer with a customers_group_id of 0 cannot go to checkout because the session values are not registered after having opened an acccount etc.It's a small contribution so shouldn't be too difficult to adapt it to SPPC using the customers_group_id instead of member_level. Hi Jan Thanks for all your help. I just have a little problem. The problem is that after i have try'id to install this Member approval it is possible to use the same E-mail again. Before i try, it will come out and say that this e-mail are used. but now it do not say anything. and all looks fine but it do not create the account. I think that this problem are in the create_account.php file. Both the SPPC system and the Member approval makes changes in this file. In the Member approval Readme file: catalog/create_account.php -------------------------- Find : 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(); and replace with : // 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(); Find : [approx line 241] } else { $email_text = sprintf(EMAIL_GREET_NONE, $firstname); } $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING; tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL')); } } and replace with : } else { $email_text = sprintf(EMAIL_GREET_NONE, $firstname); } } // customer email notification $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING; tep_mail($name, $email_address, EMAIL_SUBJECT, nl2br($email_text), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // admin email notification $admin_email_text .= ADMIN_EMAIL_WELCOME . ADMIN_EMAIL_TEXT; tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, nl2br($admin_email_text), $name, $email_address, ''); tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL')); } Find : 'customers_password' => tep_encrypt_password($password)); and replace with : 'customers_password' => tep_encrypt_password($password), 'customers_language_id' => $languages_id); This is the working file with the SPPC (Before MEMBER APPROVAL) <?php /* $Id: create_account.php 1739 2007-12-20 00:52:16Z hpdl $ adapted for Separate Pricing Per Customer 2007/08/04 osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // needs to be included earlier to set the success message in the messageStack require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CREATE_ACCOUNT); $process = false; if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process')) { $process = true; if (ACCOUNT_GENDER == 'true') { if (isset($HTTP_POST_VARS['gender'])) { $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']); } else { $gender = false; } } $firstname = tep_db_prepare_input($HTTP_POST_VARS['firstname']); $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']); if (ACCOUNT_DOB == 'true') $dob = tep_db_prepare_input($HTTP_POST_VARS['dob']); $email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']); // BOF Separate Pricing Per Customer, added: field for tax id number if (ACCOUNT_COMPANY == 'true') { $company = tep_db_prepare_input($_POST['company']); $company_tax_id = tep_db_prepare_input($_POST['company_tax_id']); } // EOF Separate Pricing Per Customer, added: field for tax id number $street_address = tep_db_prepare_input($HTTP_POST_VARS['street_address']); if (ACCOUNT_SUBURB == 'true') $suburb = tep_db_prepare_input($HTTP_POST_VARS['suburb']); $postcode = tep_db_prepare_input($HTTP_POST_VARS['postcode']); $city = tep_db_prepare_input($HTTP_POST_VARS['city']); if (ACCOUNT_STATE == 'true') { $state = tep_db_prepare_input($HTTP_POST_VARS['state']); if (isset($HTTP_POST_VARS['zone_id'])) { $zone_id = tep_db_prepare_input($HTTP_POST_VARS['zone_id']); } else { $zone_id = false; } } $country = tep_db_prepare_input($HTTP_POST_VARS['country']); $telephone = tep_db_prepare_input($HTTP_POST_VARS['telephone']); $fax = tep_db_prepare_input($HTTP_POST_VARS['fax']); if (isset($HTTP_POST_VARS['newsletter'])) { $newsletter = tep_db_prepare_input($HTTP_POST_VARS['newsletter']); } else { $newsletter = false; } $password = tep_db_prepare_input($HTTP_POST_VARS['password']); $confirmation = tep_db_prepare_input($HTTP_POST_VARS['confirmation']); $error = false; if (ACCOUNT_GENDER == 'true') { if ( ($gender != 'm') && ($gender != 'f') ) { $error = true; $messageStack->add('create_account', ENTRY_GENDER_ERROR); } } 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') { $zone_id = 0; $check_query = tep_db_query("select count(*) as total from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "'"); $check = tep_db_fetch_array($check_query); $entry_state_has_zones = ($check['total'] > 0); if ($entry_state_has_zones == true) { $zone_query = tep_db_query("select distinct zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' and (zone_name = '" . tep_db_input($state) . "' or zone_code = '" . tep_db_input($state) . "')"); if (tep_db_num_rows($zone_query) == 1) { $zone = tep_db_fetch_array($zone_query); $zone_id = $zone['zone_id']; } else { $error = true; $messageStack->add('create_account', ENTRY_STATE_ERROR_SELECT); } } else { 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); // BOF Separate Pricing Per Customer // if you would like to have an alert in the admin section when either a company name has been entered in // the appropriate field or a tax id number, or both then uncomment the next line and comment the default // setting: only alert when a tax_id number has been given // if ( (ACCOUNT_COMPANY == 'true' && tep_not_null($company) ) || (ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) ) { if ( ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) { $sql_data_array['customers_group_ra'] = '1'; // entry_company_tax_id moved from table address_book to table customers in version 4.2.0 $sql_data_array['entry_company_tax_id'] = $company_tax_id; } // EOF Separate Pricing Per Customer 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; 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(); } // BOF Separate Pricing Per Customer // register SPPC session variables for the new customer // if there is code above that puts new customers directly into another customer group (default is retail) // then the below code need not be changed, it uses the newly inserted customer group $check_customer_group_info = tep_db_query("select c.customers_group_id, cg.customers_group_show_tax, cg.customers_group_tax_exempt, cg.group_specific_taxes_exempt from " . TABLE_CUSTOMERS . " c left join " . TABLE_CUSTOMERS_GROUPS . " cg using(customers_group_id) where c.customers_id = '" . $customer_id . "'"); $customer_group_info = tep_db_fetch_array($check_customer_group_info); $sppc_customer_group_id = $customer_group_info['customers_group_id']; $sppc_customer_group_show_tax = (int)$customer_group_info['customers_group_show_tax']; $sppc_customer_group_tax_exempt = (int)$customer_group_info['customers_group_tax_exempt']; $sppc_customer_specific_taxes_exempt = ''; if (tep_not_null($customer_group_info['group_specific_taxes_exempt'])) { $sppc_customer_specific_taxes_exempt = $customer_group_info['group_specific_taxes_exempt']; } // EOF Separate Pricing Per Customer $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'); // BOF Separate Pricing Per Customer tep_session_register('sppc_customer_group_id'); tep_session_register('sppc_customer_group_show_tax'); tep_session_register('sppc_customer_group_tax_exempt'); tep_session_register('sppc_customer_specific_taxes_exempt'); // EOF Separate Pricing Per Customer // 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); } $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING; tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // BOF Separate Pricing Per Customer: alert shop owner of account created by a company // if you would like to have an email when either a company name has been entered in // the appropriate field or a tax id number, or both then uncomment the next line and comment the default // setting: only email when a tax_id number has been given // if ( (ACCOUNT_COMPANY == 'true' && tep_not_null($company) ) || (ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) ) { if ( ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) { $alert_email_text = "Please note that " . $firstname . " " . $lastname . " of the company: " . $company . " has created an account."; tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, 'Company account created', $alert_email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } // EOF Separate Pricing Per Customer: alert shop owner of account created by a company tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL')); } } $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL')); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <?php require('includes/form_check.js.php'); ?> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('create_account', tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onSubmit="return check_form(create_account);"') . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_account.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="smallText"><br><?php echo sprintf(TEXT_ORIGIN_LOGIN, tep_href_link(FILENAME_LOGIN, tep_get_all_get_params(), 'SSL')); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($messageStack->size('create_account') > 0) { ?> <tr> <td><?php echo $messageStack->output('create_account'); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo CATEGORY_PERSONAL; ?></b></td> <td class="inputRequirement" align="right"><?php echo FORM_REQUIRED_INFORMATION; ?></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <?php if (ACCOUNT_GENDER == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_GENDER; ?></td> <td class="main"><?php echo tep_draw_radio_field('gender', 'm') . ' ' . MALE . ' ' . tep_draw_radio_field('gender', 'f') . ' ' . FEMALE . ' ' . (tep_not_null(ENTRY_GENDER_TEXT) ? '<span class="inputRequirement">' . ENTRY_GENDER_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_FIRST_NAME; ?></td> <td class="main"><?php echo tep_draw_input_field('firstname') . ' ' . (tep_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_FIRST_NAME_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_LAST_NAME; ?></td> <td class="main"><?php echo tep_draw_input_field('lastname') . ' ' . (tep_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_LAST_NAME_TEXT . '</span>': ''); ?></td> </tr> <?php if (ACCOUNT_DOB == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_DATE_OF_BIRTH; ?></td> <td class="main"><?php echo tep_draw_input_field('dob') . ' ' . (tep_not_null(ENTRY_DATE_OF_BIRTH_TEXT) ? '<span class="inputRequirement">' . ENTRY_DATE_OF_BIRTH_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_EMAIL_ADDRESS; ?></td> <td class="main"><?php echo tep_draw_input_field('email_address') . ' ' . (tep_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_EMAIL_ADDRESS_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php if (ACCOUNT_COMPANY == 'true') { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_COMPANY; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_COMPANY; ?></td> <td class="main"><?php echo tep_draw_input_field('company') . ' ' . (tep_not_null(ENTRY_COMPANY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COMPANY_TEXT . '</span>': ''); ?></td> </tr> <!-- BOF Separate Pricing Per Customer: field for tax id number --> <tr> <td class="main"><?php echo ENTRY_COMPANY_TAX_ID; ?></td> <td class="main"><?php echo tep_draw_input_field('company_tax_id') . ' ' . (tep_not_null(ENTRY_COMPANY_TAX_ID_TEXT) ? '<span class="inputRequirement">' . ENTRY_COMPANY_TAX_ID_TEXT . '</span>': ''); ?></td> </tr> <!-- EOF Separate Pricing Per Customer: field for tax id number --> </table></td> </tr> </table></td> </tr> <?php } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_ADDRESS; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_STREET_ADDRESS; ?></td> <td class="main"><?php echo tep_draw_input_field('street_address') . ' ' . (tep_not_null(ENTRY_STREET_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_STREET_ADDRESS_TEXT . '</span>': ''); ?></td> </tr> <?php if (ACCOUNT_SUBURB == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_SUBURB; ?></td> <td class="main"><?php echo tep_draw_input_field('suburb') . ' ' . (tep_not_null(ENTRY_SUBURB_TEXT) ? '<span class="inputRequirement">' . ENTRY_SUBURB_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_POST_CODE; ?></td> <td class="main"><?php echo tep_draw_input_field('postcode') . ' ' . (tep_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="inputRequirement">' . ENTRY_POST_CODE_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_CITY; ?></td> <td class="main"><?php echo tep_draw_input_field('city') . ' ' . (tep_not_null(ENTRY_CITY_TEXT) ? '<span class="inputRequirement">' . ENTRY_CITY_TEXT . '</span>': ''); ?></td> </tr> <?php if (ACCOUNT_STATE == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_STATE; ?></td> <td class="main"> <?php if ($process == true) { if ($entry_state_has_zones == true) { $zones_array = array(); $zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' order by zone_name"); while ($zones_values = tep_db_fetch_array($zones_query)) { $zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']); } echo tep_draw_pull_down_menu('state', $zones_array); } else { echo tep_draw_input_field('state'); } } else { echo tep_draw_input_field('state'); } if (tep_not_null(ENTRY_STATE_TEXT)) echo ' <span class="inputRequirement">' . ENTRY_STATE_TEXT; ?> </td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_COUNTRY; ?></td> <td class="main"><?php echo tep_get_country_list('country') . ' ' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_CONTACT; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> <td class="main"><?php echo tep_draw_input_field('telephone') . ' ' . (tep_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_TELEPHONE_NUMBER_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_FAX_NUMBER; ?></td> <td class="main"><?php echo tep_draw_input_field('fax') . ' ' . (tep_not_null(ENTRY_FAX_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_FAX_NUMBER_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_OPTIONS; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_NEWSLETTER; ?></td> <td class="main"><?php echo tep_draw_checkbox_field('newsletter', '1') . ' ' . (tep_not_null(ENTRY_NEWSLETTER_TEXT) ? '<span class="inputRequirement">' . ENTRY_NEWSLETTER_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_PASSWORD; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_PASSWORD; ?></td> <td class="main"><?php echo tep_draw_password_field('password') . ' ' . (tep_not_null(ENTRY_PASSWORD_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_PASSWORD_CONFIRMATION; ?></td> <td class="main"><?php echo tep_draw_password_field('confirmation') . ' ' . (tep_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_CONFIRMATION_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> </table></form></td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php include(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php include(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Edited October 23, 2008 by Party Quote Link to comment Share on other sites More sharing options...
Party Posted October 23, 2008 Share Posted October 23, 2008 And here is the file i have made with the Member approval (with the error) <?php /* $Id: create_account.php 1739 2007-12-20 00:52:16Z hpdl $ adapted for Separate Pricing Per Customer 2007/08/04 osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // needs to be included earlier to set the success message in the messageStack require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CREATE_ACCOUNT); $process = false; if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process')) { $process = true; if (ACCOUNT_GENDER == 'true') { if (isset($HTTP_POST_VARS['gender'])) { $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']); } else { $gender = false; } } $firstname = tep_db_prepare_input($HTTP_POST_VARS['firstname']); $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']); if (ACCOUNT_DOB == 'true') $dob = tep_db_prepare_input($HTTP_POST_VARS['dob']); $email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']); // BOF Separate Pricing Per Customer, added: field for tax id number if (ACCOUNT_COMPANY == 'true') { $company = tep_db_prepare_input($_POST['company']); $company_tax_id = tep_db_prepare_input($_POST['company_tax_id']); } // EOF Separate Pricing Per Customer, added: field for tax id number $street_address = tep_db_prepare_input($HTTP_POST_VARS['street_address']); if (ACCOUNT_SUBURB == 'true') $suburb = tep_db_prepare_input($HTTP_POST_VARS['suburb']); $postcode = tep_db_prepare_input($HTTP_POST_VARS['postcode']); $city = tep_db_prepare_input($HTTP_POST_VARS['city']); if (ACCOUNT_STATE == 'true') { $state = tep_db_prepare_input($HTTP_POST_VARS['state']); if (isset($HTTP_POST_VARS['zone_id'])) { $zone_id = tep_db_prepare_input($HTTP_POST_VARS['zone_id']); } else { $zone_id = false; } } $country = tep_db_prepare_input($HTTP_POST_VARS['country']); $telephone = tep_db_prepare_input($HTTP_POST_VARS['telephone']); $fax = tep_db_prepare_input($HTTP_POST_VARS['fax']); if (isset($HTTP_POST_VARS['newsletter'])) { $newsletter = tep_db_prepare_input($HTTP_POST_VARS['newsletter']); } else { $newsletter = false; } $password = tep_db_prepare_input($HTTP_POST_VARS['password']); $confirmation = tep_db_prepare_input($HTTP_POST_VARS['confirmation']); $error = false; if (ACCOUNT_GENDER == 'true') { if ( ($gender != 'm') && ($gender != 'f') ) { $error = true; $messageStack->add('create_account', ENTRY_GENDER_ERROR); } } 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') { $zone_id = 0; $check_query = tep_db_query("select count(*) as total from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "'"); $check = tep_db_fetch_array($check_query); $entry_state_has_zones = ($check['total'] > 0); if ($entry_state_has_zones == true) { $zone_query = tep_db_query("select distinct zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' and (zone_name = '" . tep_db_input($state) . "' or zone_code = '" . tep_db_input($state) . "')"); if (tep_db_num_rows($zone_query) == 1) { $zone = tep_db_fetch_array($zone_query); $zone_id = $zone['zone_id']; } else { $error = true; $messageStack->add('create_account', ENTRY_STATE_ERROR_SELECT); } } else { 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), 'customers_language_id' => $languages_id); if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $gender; if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = tep_date_raw($dob); // BOF Separate Pricing Per Customer // if you would like to have an alert in the admin section when either a company name has been entered in // the appropriate field or a tax id number, or both then uncomment the next line and comment the default // setting: only alert when a tax_id number has been given // if ( (ACCOUNT_COMPANY == 'true' && tep_not_null($company) ) || (ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) ) { if ( ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) { $sql_data_array['customers_group_ra'] = '1'; // entry_company_tax_id moved from table address_book to table customers in version 4.2.0 $sql_data_array['entry_company_tax_id'] = $company_tax_id; } // EOF Separate Pricing Per Customer 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; 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(); } // BOF Separate Pricing Per Customer // register SPPC session variables for the new customer // if there is code above that puts new customers directly into another customer group (default is retail) // then the below code need not be changed, it uses the newly inserted customer group $check_customer_group_info = tep_db_query("select c.customers_group_id, cg.customers_group_show_tax, cg.customers_group_tax_exempt, cg.group_specific_taxes_exempt from " . TABLE_CUSTOMERS . " c left join " . TABLE_CUSTOMERS_GROUPS . " cg using(customers_group_id) where c.customers_id = '" . $customer_id . "'"); $customer_group_info = tep_db_fetch_array($check_customer_group_info); $sppc_customer_group_id = $customer_group_info['customers_group_id']; $sppc_customer_group_show_tax = (int)$customer_group_info['customers_group_show_tax']; $sppc_customer_group_tax_exempt = (int)$customer_group_info['customers_group_tax_exempt']; $sppc_customer_specific_taxes_exempt = ''; if (tep_not_null($customer_group_info['group_specific_taxes_exempt'])) { $sppc_customer_specific_taxes_exempt = $customer_group_info['group_specific_taxes_exempt']; } // EOF Separate Pricing Per Customer $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'); // BOF Separate Pricing Per Customer tep_session_register('sppc_customer_group_id'); tep_session_register('sppc_customer_group_show_tax'); tep_session_register('sppc_customer_group_tax_exempt'); tep_session_register('sppc_customer_specific_taxes_exempt'); // EOF Separate Pricing Per Customer // 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); // } // $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING; // tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } else { $email_text = sprintf(EMAIL_GREET_NONE, $firstname); } } // customer email notification $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING; tep_mail($name, $email_address, EMAIL_SUBJECT, nl2br($email_text), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // BOF Separate Pricing Per Customer: alert shop owner of account created by a company // if you would like to have an email when either a company name has been entered in // the appropriate field or a tax id number, or both then uncomment the next line and comment the default // setting: only email when a tax_id number has been given // if ( (ACCOUNT_COMPANY == 'true' && tep_not_null($company) ) || (ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) ) { if ( ACCOUNT_COMPANY == 'true' && tep_not_null($company_tax_id) ) { $alert_email_text = "Please note that " . $firstname . " " . $lastname . " of the company: " . $company . " has created an account."; tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, 'Company account created', $alert_email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } // EOF Separate Pricing Per Customer: alert shop owner of account created by a company // tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL')); // } // } // admin email notification $admin_email_text .= ADMIN_EMAIL_WELCOME . ADMIN_EMAIL_TEXT; tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, nl2br($admin_email_text), $name, $email_address, ''); tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL')); } $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL')); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <?php require('includes/form_check.js.php'); ?> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('create_account', tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onSubmit="return check_form(create_account);"') . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_account.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="smallText"><br><?php echo sprintf(TEXT_ORIGIN_LOGIN, tep_href_link(FILENAME_LOGIN, tep_get_all_get_params(), 'SSL')); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($messageStack->size('create_account') > 0) { ?> <tr> <td><?php echo $messageStack->output('create_account'); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><b><?php echo CATEGORY_PERSONAL; ?></b></td> <td class="inputRequirement" align="right"><?php echo FORM_REQUIRED_INFORMATION; ?></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <?php if (ACCOUNT_GENDER == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_GENDER; ?></td> <td class="main"><?php echo tep_draw_radio_field('gender', 'm') . ' ' . MALE . ' ' . tep_draw_radio_field('gender', 'f') . ' ' . FEMALE . ' ' . (tep_not_null(ENTRY_GENDER_TEXT) ? '<span class="inputRequirement">' . ENTRY_GENDER_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_FIRST_NAME; ?></td> <td class="main"><?php echo tep_draw_input_field('firstname') . ' ' . (tep_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_FIRST_NAME_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_LAST_NAME; ?></td> <td class="main"><?php echo tep_draw_input_field('lastname') . ' ' . (tep_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_LAST_NAME_TEXT . '</span>': ''); ?></td> </tr> <?php if (ACCOUNT_DOB == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_DATE_OF_BIRTH; ?></td> <td class="main"><?php echo tep_draw_input_field('dob') . ' ' . (tep_not_null(ENTRY_DATE_OF_BIRTH_TEXT) ? '<span class="inputRequirement">' . ENTRY_DATE_OF_BIRTH_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_EMAIL_ADDRESS; ?></td> <td class="main"><?php echo tep_draw_input_field('email_address') . ' ' . (tep_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_EMAIL_ADDRESS_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php if (ACCOUNT_COMPANY == 'true') { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_COMPANY; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_COMPANY; ?></td> <td class="main"><?php echo tep_draw_input_field('company') . ' ' . (tep_not_null(ENTRY_COMPANY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COMPANY_TEXT . '</span>': ''); ?></td> </tr> <!-- BOF Separate Pricing Per Customer: field for tax id number --> <tr> <td class="main"><?php echo ENTRY_COMPANY_TAX_ID; ?></td> <td class="main"><?php echo tep_draw_input_field('company_tax_id') . ' ' . (tep_not_null(ENTRY_COMPANY_TAX_ID_TEXT) ? '<span class="inputRequirement">' . ENTRY_COMPANY_TAX_ID_TEXT . '</span>': ''); ?></td> </tr> <!-- EOF Separate Pricing Per Customer: field for tax id number --> </table></td> </tr> </table></td> </tr> <?php } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_ADDRESS; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_STREET_ADDRESS; ?></td> <td class="main"><?php echo tep_draw_input_field('street_address') . ' ' . (tep_not_null(ENTRY_STREET_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_STREET_ADDRESS_TEXT . '</span>': ''); ?></td> </tr> <?php if (ACCOUNT_SUBURB == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_SUBURB; ?></td> <td class="main"><?php echo tep_draw_input_field('suburb') . ' ' . (tep_not_null(ENTRY_SUBURB_TEXT) ? '<span class="inputRequirement">' . ENTRY_SUBURB_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_POST_CODE; ?></td> <td class="main"><?php echo tep_draw_input_field('postcode') . ' ' . (tep_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="inputRequirement">' . ENTRY_POST_CODE_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_CITY; ?></td> <td class="main"><?php echo tep_draw_input_field('city') . ' ' . (tep_not_null(ENTRY_CITY_TEXT) ? '<span class="inputRequirement">' . ENTRY_CITY_TEXT . '</span>': ''); ?></td> </tr> <?php if (ACCOUNT_STATE == 'true') { ?> <tr> <td class="main"><?php echo ENTRY_STATE; ?></td> <td class="main"> <?php if ($process == true) { if ($entry_state_has_zones == true) { $zones_array = array(); $zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' order by zone_name"); while ($zones_values = tep_db_fetch_array($zones_query)) { $zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']); } echo tep_draw_pull_down_menu('state', $zones_array); } else { echo tep_draw_input_field('state'); } } else { echo tep_draw_input_field('state'); } if (tep_not_null(ENTRY_STATE_TEXT)) echo ' <span class="inputRequirement">' . ENTRY_STATE_TEXT; ?> </td> </tr> <?php } ?> <tr> <td class="main"><?php echo ENTRY_COUNTRY; ?></td> <td class="main"><?php echo tep_get_country_list('country') . ' ' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_CONTACT; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> <td class="main"><?php echo tep_draw_input_field('telephone') . ' ' . (tep_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_TELEPHONE_NUMBER_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_FAX_NUMBER; ?></td> <td class="main"><?php echo tep_draw_input_field('fax') . ' ' . (tep_not_null(ENTRY_FAX_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_FAX_NUMBER_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_OPTIONS; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_NEWSLETTER; ?></td> <td class="main"><?php echo tep_draw_checkbox_field('newsletter', '1') . ' ' . (tep_not_null(ENTRY_NEWSLETTER_TEXT) ? '<span class="inputRequirement">' . ENTRY_NEWSLETTER_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_PASSWORD; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_PASSWORD; ?></td> <td class="main"><?php echo tep_draw_password_field('password') . ' ' . (tep_not_null(ENTRY_PASSWORD_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_PASSWORD_CONFIRMATION; ?></td> <td class="main"><?php echo tep_draw_password_field('confirmation') . ' ' . (tep_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_CONFIRMATION_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> </table></form></td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php include(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php include(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted October 23, 2008 Share Posted October 23, 2008 I just have a little problem. The problem is that after i have try'id to install this Member approval it is possible to use the same E-mail again. Before i try, it will come out and say that this e-mail are used. but now it do not say anything. and all looks fine but it do not create the account. I think that this problem are in the create_account.php file. Both the SPPC system and the Member approval makes changes in this file. Yes, but did you add the field for customers language id in the table customers as directed by member approval? If you didn't I don't think that would be a problem (just make sure there is an email sent) but then don't use it in the create_account.php page either. Quote Link to comment Share on other sites More sharing options...
fernanez Posted October 28, 2008 Share Posted October 28, 2008 NEEDS HELP PLEASE!!! Every time I try to do an advance search with specific price range it always get error (only on logged in customer , customer_group_id != '0' ) 1054 - Unknown column 'XXXXX.m.products_id' in 'on clause' select count(distinct p.products_id) as total from products p left join manufacturers m using(manufacturers_id) left join products_group_prices_cg_1 as tmp_pp using(products_id), products_description pd, categories c, products_to_categories p2c where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '2' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and ((pd.products_name like '%microsoft%' or p.products_model like '%microsoft%' or m.manufacturers_name like '%microsoft%') ) and (IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) >= 600) and (IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) <= 650) any suggestion ? - Thanks - Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted October 28, 2008 Share Posted October 28, 2008 Every time I try to do an advance search with specific price range it always get error (only on logged in customer , customer_group_id != '0' ) 1054 - Unknown column 'XXXXX.m.products_id' in 'on clause' I can't replicate that error but I'm using MySQL5. Perhaps you use MySQL4? Try to find that query and instead of manufacturers m using(manufacturers_id) left join products_group_prices_cg_1 as tmp_pp using(products_id) try manufacturers m using(manufacturers_id) left join products_group_prices_cg_1 as tmp_pp on tmp_pp.products_id=p.products_id There was something with MySQL4 and having "using()" in the query but I don't recall if it was that particular error. Quote Link to comment Share on other sites More sharing options...
fernanez Posted October 29, 2008 Share Posted October 29, 2008 Thank you ^_^ It solved the problem ! Quote Link to comment Share on other sites More sharing options...
carie Posted October 29, 2008 Share Posted October 29, 2008 has anyone worked out a contribution for sppc and master products? carie Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted October 29, 2008 Share Posted October 29, 2008 has anyone worked out a contribution for sppc and master products? It's not in the contribution section but I have code (finished files) from someone who combined the two and there are others here who have combined the two (mentioned in this thread). Quote Link to comment Share on other sites More sharing options...
carie Posted October 30, 2008 Share Posted October 30, 2008 It's not in the contribution section but I have code (finished files) from someone who combined the two and there are others here who have combined the two (mentioned in this thread). can you send them to me I might write instructions and add it as an update or additional contribution but I would have to find someone to maintain it as that is out of my ability carie Quote Link to comment Share on other sites More sharing options...
Eric_SIN Posted November 6, 2008 Share Posted November 6, 2008 I currently have version 3.6 of SPPC installed and think of upgrading. I checked the latest version features but could not find a reference to the feature I'm desperately looking for. Does the latest version do the following or can anyone give me a hint how to implement the following: - Users of certain groups should be able to see both the standard retail price as well as their individual group price This is a nice feature for retailers purchasing at wholesale prices to see both values on the same page. Something like: Usual Price: Your Price: Or Retail Price: [GROUP] Price: Thanks a lot ! Quote Link to comment Share on other sites More sharing options...
sirrobin007 Posted November 6, 2008 Share Posted November 6, 2008 When trying to add a New Special in admin/specials.php?page=1&action=new No products are shown to select from in the drop down box...same scenerio in featured.php Can anyone point me in the right direction for a solution? Everything else works great! I've searched hi and lo in this forum...and added the "featured products" fix. I'm thinking it's not calling the products from the database. All previously entered product specials are listed in admin/specials.php, just nothing to select from when adding a new special? Any pointers graciously accepted. ;-) Fairly heavily modded site Installed sppc Version is 4.2.2 and Mysql 5.0 Great Contrib!! Hope I can get this last hurdle cleared... Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted November 6, 2008 Share Posted November 6, 2008 When trying to add a New Special in admin/specials.php?page=1&action=newNo products are shown to select from in the drop down box...same scenerio in featured.php Can anyone point me in the right direction for a solution? Everything else works great! I've searched hi and lo in this forum...and added the "featured products" fix. Did you use the specials.php from the package? Works fine for me on PHP5, MySQL5 (and worked fine on MySQL4, PHP4). Never heard this one before. What "featured products" fix did you apply? Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted November 6, 2008 Share Posted November 6, 2008 I currently have version 3.6 of SPPC installed and think of upgrading.I checked the latest version features but could not find a reference to the feature I'm desperately looking for. You already have the retail price after the $product_info_query on line 80 in product_info.php. You just need to add something like this after the line that gets the results of that query: $product_info = tep_db_fetch_array($product_info_query); $retail_price = $product_info['products_price']; // store the retail price before it gets updated to customer group price further on Then echo it somewhere using $currencies->display_price($retail_price, tep_get_tax_rate($product_info['products_tax_class_id'])); inside an if ($customer_group_id > 0) { //echo retail price here } Quote Link to comment Share on other sites More sharing options...
sirrobin007 Posted November 7, 2008 Share Posted November 7, 2008 Hi Jan...thank you for the response. I guess fix was the wrong word...I made sure I used what came in the package (see below) "As an extra the SPPC modified files for Featured Products (http://www.oscommerce.com/community/contributions,651) [version 1.5.9 by bkellum of July 15, 2007] were added to the package (catalog/includes/modules/featured.php, catalog/includes/boxes/featured.php, and catalog/featured_products.php)." I have also tried using the specials.php from the package exclusively with no changes, my modded specials.php and an older version and all give me the same empty products drop down box. I'm wondering if maybe it is in my mysql database? Although, I got no errors when installing the sppc_421_install.sql file. Are there other php pages to look at ? I'm thinking it isn't in the specials.php or the featured.php pages since they both do the same thing when I go to add a product to their respective pages I have been digging for a lot of hours through the code and structure and I'm missing something. I'm just not sure where to dig anymore. Any ideas where else I might look? Thank You, Totally Stumped Quote Link to comment Share on other sites More sharing options...
sirrobin007 Posted November 7, 2008 Share Posted November 7, 2008 Maybe this will help...source of page pertaining to this issue. ... <tr><form name="new_special" action="https://www.mydomain.com/catalog/admin/specials.php?page=1&action=insert" method="post"> <td><br><table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main">Product: </td> <td class="main"><select name="products_id" style="font-size:10px"></select><input type="hidden" name="products_price"></td> </tr> <tr> <td class="main">Special Price: </td> <td class="main"><input type="text" name="specials_price"></td> </tr> <tr> <td class="main">Expiry Date: </td> <td class="main"><input type="text" name="day" size="2" maxlength="2" class="cal-TextBox"><input type="text" name="month" size="2" maxlength="2" class="cal-TextBox"><input type="text" name="year" size="4" maxlength="4" class="cal-TextBox"><a class="so-BtnLink" href="java script:calClick();return false;" onmouseover="calSwapImg('BTN_date', 'img_Date_OVER',true);" onmouseout="calSwapImg('BTN_date', 'img_Date_UP',true);" onclick="calSwapImg('BTN_date', 'img_Date_DOWN');showCalendar('new_special','dteWhen','BTN_date');return false;"><img src="images/cal_date_up.gif" border="0" alt="Calendar" title=" Calendar " width="22" height="17" align="absmiddle" name="BTN_date"></a></td> Quote Link to comment Share on other sites More sharing options...
Eric_SIN Posted November 7, 2008 Share Posted November 7, 2008 Thanks a lot !! It is working now :-) Quote Link to comment Share on other sites More sharing options...
sirrobin007 Posted November 7, 2008 Share Posted November 7, 2008 Problem Solved!!! I must of had a bad write in the admin/includes/functions/general.php file. I rewrote the new code to my back up and VOILA! Jan, thank you again for your help...may the force be with you. ;-) Quote Link to comment Share on other sites More sharing options...
shotputty Posted November 9, 2008 Share Posted November 9, 2008 (edited) Okay, I've searched some hours for a solution but I'm afraid I need some help here. I use the SPPC contribution and it works great. I just have one slightly unusual (?) functionality I need it to do. I need the prices to be different for all countries together BUT one. (that makes two groups) What I had in mind: I made a group called NOT_THAT_COUNTRY (id = 3) and gave it al those prices they need. Now somewhere I thought this would do the trick: if ($languages_id != 4) { $customer_group_id = '3'; } Well I guess that would have been too easy... Apparently it is required to be logged in because that $customer_group_id just won't budge... Is there any way? Is it possible to fake a guest beging logged in and giving them the $customer_group_id = 3 temporarily (unless offcourse they switch language to THAT one country that does not need those specific prices...) Can I SET a $_SESSION variable or override it? :blink: Edited November 9, 2008 by shotputty Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted November 9, 2008 Share Posted November 9, 2008 Okay, I've searched some hours for a solution but I'm afraid I need some help here. I use the SPPC contribution and it works great. I just have one slightly unusual (?) functionality I need it to do. I need the prices to be different for all countries together BUT one. (that makes two groups) What I had in mind: I made a group called NOT_THAT_COUNTRY (id = 3) and gave it al those prices they need. Now somewhere I thought this would do the trick: if ($languages_id != 4) { $customer_group_id = '3'; } Well I guess that would have been too easy... Apparently it is required to be logged in because that $customer_group_id just won't budge... Is there any way? Is it possible to fake a guest beging logged in and giving them the $customer_group_id = 3 temporarily (unless offcourse they switch language to THAT one country that does not need those specific prices...) Can I SET a $_SESSION variable or override it? :blink: I guess that could work. The language_id session is set in includes/application_top.php around line 290. If you then look for $_SESSION['customer_id'] to see if it is set and if not, if language_id !=4 then $_SESSION['sppc_customer_group_id'] = 3 ... might work. Quote Link to comment Share on other sites More sharing options...
shotputty Posted November 9, 2008 Share Posted November 9, 2008 (edited) I guess that could work. The language_id session is set in includes/application_top.php around line 290.If you then look for $_SESSION['customer_id'] to see if it is set and if not, if language_id !=4 then $_SESSION['sppc_customer_group_id'] = 3 ... might work. It's working!! I've made this piece of code in application_top.php if (!isset($_SESSION['customer_zone_id'])) { $_SESSION['sppc_customer_group_show_tax'] = 1; if ($languages_id != 4) { $_SESSION['sppc_customer_group_id'] = 3; } else { $_SESSION['sppc_customer_group_id'] = 0; }} Is there a prettier way to check if someone is logged in then: if (!isset($_SESSION['customer_zone_id'])) ? Aren't there a lot of people here that need SPPC (ountry) ? :rolleyes: Now it's real easy, I made a group called EU (group 3) and gave them different prices from some other groups I made. Edited November 9, 2008 by shotputty Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted November 9, 2008 Share Posted November 9, 2008 Is there a prettier way to check if someone is logged in then: if (!isset($_SESSION['customer_zone_id'])) ? Not really. In checkout_shipping.php the variable $_SESSION['customer_id'] is used to check for that: // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } But since customer_zone_id is also set on logging-in it doesn't make any difference really. Now it's real easy, I made a group called EU (group 3) and gave them different prices from some other groups I made. Of course it is not watertight. Say you want to differentiate Dutch customers and the rest of the EU but I use a Dutch browser in Germany, you would still "think" I was from Holland. Quote Link to comment Share on other sites More sharing options...
shotputty Posted November 9, 2008 Share Posted November 9, 2008 Not really. In checkout_shipping.php the variable $_SESSION['customer_id'] is used to check for that: // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } But since customer_zone_id is also set on logging-in it doesn't make any difference really. Of course it is not watertight. Say you want to differentiate Dutch customers and the rest of the EU but I use a Dutch browser in Germany, you would still "think" I was from Holland. The Dutch customer in Germany has ran out of luck here. :lol: I set new accounts from countries (shipping address) which are not Holland automatically to group 3 (SPPC) so eventually he will get the price beloging to that (shipping) country.. By the way. One more question, :blush: don't know if it has come along on the previous 250 pages... I see that accasionally the priceformatter tabel isn't loaded. I'll have to refresh the product_info.php page to see it. This happens more often after a logoff action. (and then click on a product). I have QPBPP on other sites but without the SPPC with it, don't have this loading problem on those sites. Does this piece of code make loading a little slower and perhaps sometimes make it not load at all? // BOF Separate Pricing per Customer, Price Break 1.11.3 mod $pf->[b]loadProductSppc[/b]((int)$HTTP_GET_VARS['products_id'], (int)$languages_id, $product_info); $products_price = $pf->getPriceString(); // EOF Separate Pricing per Customer, Price Break 1.11.3 mod Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.