lrparr Posted December 31, 2005 Share Posted December 31, 2005 This is the support thread for the Account Agreement Checkbox contribution submitted on 12/31/2005. Please direct all questions in regards to the contribution here. Contribution can be found here. I hope you find this contribution useful. Quote Link to comment Share on other sites More sharing options...
lrparr Posted December 31, 2005 Author Share Posted December 31, 2005 Sorry forgot link to contribution: http://www.oscommerce.com/community/contributions,3903 Quote Link to comment Share on other sites More sharing options...
Brandon8583 Posted January 10, 2006 Share Posted January 10, 2006 Hey! Great work on this script. I made a change to form_check.js.php to correct the syntax error that was occuring on line 130 of create_account.php.... Check below. // BOC Added for account agreement check_agreement("agreement", "<?php echo ENTRY_AGREEMENT_TEXT; ?>", "<?php echo ENTRY_AGREEMENT_ERROR; ?>"); // EOC Added for account agreement The second param in the check_agreement call needs quotes or you'll get an error on create_account.php (It will drive you nuts looking for it in create_account... because it's not there!). The package has been updated, and reposted! Again, Great job on this contrib!! Brandon Quote Link to comment Share on other sites More sharing options...
lrparr Posted January 11, 2006 Author Share Posted January 11, 2006 Made some minor changes to the code to allow the ability to enable/disable the agreement checkbox from the Admin console. Full package has been posted in the contribution. Quote Link to comment Share on other sites More sharing options...
emailanj Posted January 20, 2006 Share Posted January 20, 2006 Great Contribution!! works great nut I am having a bit of a problem with the adding it to Mysql I keep getting this error? SQL query: ALTER TABLE customers ADD customers_agreement CHAR( 1 ) NOT NULL MySQL said: #1060 - Duplicate column name 'customers_agreement' [ Back ] Made some minor changes to the code to allow the ability to enable/disable the agreement checkbox from the Admin console. Full package has been posted in the contribution. Quote Link to comment Share on other sites More sharing options...
lrparr Posted January 20, 2006 Author Share Posted January 20, 2006 Sounds like you have already successfully added the field to your table. Are you able to look at your database structure for the customers table to see if the field "customers_agreement" exists? Great Contribution!! works great nut I am having a bit of a problem with the adding it to Mysql I keep getting this error? SQL query: ALTER TABLE customers ADD customers_agreement CHAR( 1 ) NOT NULL MySQL said: #1060 - Duplicate column name 'customers_agreement' [ Back ] Quote Link to comment Share on other sites More sharing options...
emailanj Posted January 20, 2006 Share Posted January 20, 2006 Thanks so much for your fast reply. Yes I can see that it is there, but it appeared to be there before I installed the contribution. Is it also used for something else? customers_agreement char(1) latin1_swedish_ci No But I am not too sure how to find or how to look at the results. Is there a way to store them in the admin side of the store? Thanks for any and all your help.. Anj Sounds like you have already successfully added the field to your table. Are you able to look at your database structure for the customers table to see if the field "customers_agreement" exists? Quote Link to comment Share on other sites More sharing options...
lrparr Posted January 20, 2006 Author Share Posted January 20, 2006 (edited) You are correct, the results do not currently display anywhere. When I created the contrib my assumption was that since the field was required to set up the account, the only value that could be there is "checked". I didn't see any benefit in displaying a value that I already knew. With that said it would not be difficult to create a display on the admin side, so if you still feel you need it let me know and I could help put something together. May take a few days before I get a chance to write the code though. Thanks so much for your fast reply. Yes I can see that it is there, but it appeared to be there before I installed the contribution. Is it also used for something else? customers_agreement char(1) latin1_swedish_ci No But I am not too sure how to find or how to look at the results. Is there a way to store them in the admin side of the store? Thanks for any and all your help.. Anj Edited January 20, 2006 by lrparr Quote Link to comment Share on other sites More sharing options...
emailanj Posted January 20, 2006 Share Posted January 20, 2006 Thanks again for the reply. The only reason I was hopping to have it was for any potential legal problems in the future (knock on wood) Not that my site is that sensitive but you know how some like to say "I didn't know" Would be nice just in case to have something that says "yes you did" If you do get a chance that would be sooo great. I'm not in that big of a hurry, just one of those last minute details. Thanks again, anj You are correct, the results do not currently display anywhere. When I created the contrib my assumption was that since the field was required to set up the account, the only value that could be there is "checked". I didn't see any benefit in displaying a value that I already knew. With that said it would not be difficult to create a display on the admin side, so if you still feel you need it let me know and I could help put something together. May take a few days before I get a chance to write the code though. Quote Link to comment Share on other sites More sharing options...
Guest Posted January 26, 2006 Share Posted January 26, 2006 Hello, I tried to install AAC and I almost succeded. But user can register account and without check the agreement checkbox. I verified evrything that have to change /regarding install instructions/ - and there is no errors . :( Can you give me ideas where may I wrong ? Thank you Quote Link to comment Share on other sites More sharing options...
lrparr Posted January 26, 2006 Author Share Posted January 26, 2006 Hello, I tried to install AAC and I almost succeded. But user can register account and without check the agreement checkbox. I verified evrything that have to change /regarding install instructions/ - and there is no errors . :( Can you give me ideas where may I wrong ? Thank you Ivo, I have no idea. This is the first time I've heard of this being an issue, and I just retested on my site, and it does require that the box is checked. If you want to send me a copy of your create_account.php code I can take a look at it. Quote Link to comment Share on other sites More sharing options...
lrparr Posted January 26, 2006 Author Share Posted January 26, 2006 Thanks again for the reply. The only reason I was hopping to have it was for any potential legal problems in the future (knock on wood) Not that my site is that sensitive but you know how some like to say "I didn't know" Would be nice just in case to have something that says "yes you did" If you do get a chance that would be sooo great. I'm not in that big of a hurry, just one of those last minute details. Thanks again, anj anj, I haven't had a chance to modify this yet, but I haven't forgotten about your request. Just an FYI, if you ever do need to verify that the user checked the box you can always go to the actual customer table through your SQL administration program and verify that the field customers_agreement is checked. Quote Link to comment Share on other sites More sharing options...
aquamango Posted January 31, 2006 Share Posted January 31, 2006 (edited) Hi Okay, I'm a complete virgin-osc'er... I followed all your instructions and have read your comments here on the forum.. but it still doesn't work! I can't see the Agreement button/box whatever... I uploaded your pages etc... and made the db changes as follows: I'm not entirely sure i set up the mySQL correctly or not... I added a new field to the customers table... the field looks like thus: ------- customers_agreement char(1) latin1_swedish_ci No (for null) >>>>> (This appears in the Structure btw) Is this right? Is that all i had to do in the DB?????? *sobs pathetically* please help me :) Why do i have no button? (doesn't scream that too loud) thanks Edited January 31, 2006 by aquamango Quote Link to comment Share on other sites More sharing options...
aquamango Posted January 31, 2006 Share Posted January 31, 2006 FORGOT TO MENTION that i did go into my Admin Control Panel, looking for something to install/enable etc... but could see nothing... is this the problem perhaps??????? Cheers Hi Okay, I'm a complete virgin-osc'er... I followed all your instructions and have read your comments here on the forum.. but it still doesn't work! I can't see the Agreement button/box whatever... I uploaded your pages etc... and made the db changes as follows: I'm not entirely sure i set up the mySQL correctly or not... I added a new field to the customers table... the field looks like thus: ------- customers_agreement char(1) latin1_swedish_ci No (for null) >>>>> (This appears in the Structure btw) Is this right? Is that all i had to do in the DB?????? *sobs pathetically* please help me :) Why do i have no button? (doesn't scream that too loud) thanks Quote Link to comment Share on other sites More sharing options...
lrparr Posted January 31, 2006 Author Share Posted January 31, 2006 FORGOT TO MENTION that i did go into my Admin Control Panel, looking for something to install/enable etc... but could see nothing... is this the problem perhaps??????? Cheers You mentioned you ran the SQL in the customer database, but did you also run the SQL for the configuration database? This is the SQL that creates the ability to enable/disable the checkbox through the administration panel. Also without this SQL change the code in create_account.php will not recognize that the feature is enabled and will not show up. This is likely the problem. The sql you need to run is: INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Agreement', 'ACCOUNT_AGREEMENT_REQUIRED', 'true', 'Display agreement checkbox during account creation', '5', '7', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now()); Hope this helps. Quote Link to comment Share on other sites More sharing options...
Guest Posted January 31, 2006 Share Posted January 31, 2006 Ivo, I have no idea. This is the first time I've heard of this being an issue, and I just retested on my site, and it does require that the box is checked. If you want to send me a copy of your create_account.php code I can take a look at it. Hello, and sorry for my delay ... I was outside the town. Here is my create_accout.php <?php /* $Id: create_account.php,v 1.65 2003/06/09 23:03:54 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 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']); if (ACCOUNT_COMPANY == 'true') $company = tep_db_prepare_input($HTTP_POST_VARS['company']); $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']); // BOC Added for Account Agreement $agreement = tep_db_prepare_input($HTTP_POST_VARS['agreement']); // EOC Added for Account Agreement $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 like '" . tep_db_input($state) . "%' or zone_code like '%" . 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); // BOC Added for Account Agreement $agreement = tep_db_prepare_input($HTTP_POST_VARS['agreement']); // EOC Added for Account Agreement } 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_agreement' => $agreement, '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; 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); } $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')); } } $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> </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> <!-- BOC Added for Account Agreement --> <?php if (ACCOUNT_AGREEMENT_REQUIRED == 'true') { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b>Account Agreement</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 tep_draw_checkbox_field('agreement', '1') . ' ' . (tep_not_null(ENTRY_AGREEMENT_TEXT) ? '<span class="inputRequirement">' . ENTRY_AGREEMENT_TEXT . '</span>' . ENTRY_AGREEMENT : ''); ?> </td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } ?> <!-- EOC Added for Account Agreement --> <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...
lrparr Posted January 31, 2006 Author Share Posted January 31, 2006 Hello, and sorry for my delay ... I was outside the town. Ian, try this: Find your code in create_account.php: if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_PASSWORD_ERROR); // BOC Added for Account Agreement $agreement = tep_db_prepare_input($HTTP_POST_VARS['agreement']); // EOC Added for Account Agreement } elseif ($password != $confirmation) { $error = true; $messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING); } And replace with this: 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); } // BOC Added for Account Agreement if (ACCOUNT_AGREEMENT_REQUIRED == 'true') { if ($agreement == false) { $error = true; $messageStack->add('create_account',ENTRY_AGREEMENT_ERROR); } } // EOC Added for Account Agreement That should do the trick. Quote Link to comment Share on other sites More sharing options...
aquamango Posted January 31, 2006 Share Posted January 31, 2006 You mentioned you ran the SQL in the customer database, but did you also run the SQL for the configuration database? This is the SQL that creates the ability to enable/disable the checkbox through the administration panel. Also without this SQL change the code in create_account.php will not recognize that the feature is enabled and will not show up. This is likely the problem. The sql you need to run is: INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Agreement', 'ACCOUNT_AGREEMENT_REQUIRED', 'true', 'Display agreement checkbox during account creation', '5', '7', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now()); Hope this helps. Sorry....Told you I was a newbie :)... So this sql I need to run... erm... where do I and how do I run it exactly? Is it meant to be in the configure.php file???? Thanks and sorry for not knowing too much about all this. Quote Link to comment Share on other sites More sharing options...
aquamango Posted January 31, 2006 Share Posted January 31, 2006 Sorry....Told you I was a newbie :)... So this sql I need to run... erm... where do I and how do I run it exactly? Is it meant to be in the configure.php file????Thanks and sorry for not knowing too much about all this. Ignore this last post of mine! I removed the customer_agreement row from my Customer table in the DB, then reinstalled properly using the upload of the SQL file... and all works perfectly now... so, thanks for this little gem and your help :) Quote Link to comment Share on other sites More sharing options...
Guest Posted February 1, 2006 Share Posted February 1, 2006 Ian, try this: Find your code in create_account.php: if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_PASSWORD_ERROR); // BOC Added for Account Agreement $agreement = tep_db_prepare_input($HTTP_POST_VARS['agreement']); // EOC Added for Account Agreement } elseif ($password != $confirmation) { $error = true; $messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING); } And replace with this: 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); } // BOC Added for Account Agreement if (ACCOUNT_AGREEMENT_REQUIRED == 'true') { if ($agreement == false) { $error = true; $messageStack->add('create_account',ENTRY_AGREEMENT_ERROR); } } // EOC Added for Account Agreement That should do the trick. Thanks It works now perfect :D rgs Quote Link to comment Share on other sites More sharing options...
Spaceboy Posted February 4, 2006 Share Posted February 4, 2006 I had to change the javascript in file /includes/form_check.js.php as it does not work for me : this is my code function check_agreement(field_name, field_default, message) { if (form.elements[field_name].checked == false) { error_message = error_message + "* " + message + "\n"; error = true; } } "field_name.agreement.checked" is not known but "form.elements" is. Didier. Quote Published modified Contributions Link to comment Share on other sites More sharing options...
mike1985 Posted June 13, 2006 Share Posted June 13, 2006 Thank you for this great contrib, i was looking for something like that for my site.. instructions are as good as they can get! THANKS!!! Quote Link to comment Share on other sites More sharing options...
jpcarre Posted September 24, 2006 Share Posted September 24, 2006 Hi, your contribution looks great, but before installing I have one question : how to make already registred customers agreeing ? shall we ask yo reopen another account ? Quote Link to comment Share on other sites More sharing options...
xtreme-mobile Posted January 15, 2007 Share Posted January 15, 2007 hello ive installed this wioth no problems but how can i check to confirm the customer has ticked the box? Quote Visit my website in my profile for prices on woodburning stoves Link to comment Share on other sites More sharing options...
xtreme-mobile Posted January 15, 2007 Share Posted January 15, 2007 anj,I haven't had a chance to modify this yet, but I haven't forgotten about your request. Just an FYI, if you ever do need to verify that the user checked the box you can always go to the actual customer table through your SQL administration program and verify that the field customers_agreement is checked. this would be a great addition if it could be done please :D Quote Visit my website in my profile for prices on woodburning stoves 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.