Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Shorter Checkout for osCommerce 2.3X


Recommended Posts

Shorter Checkout V1.0 for osCommerce 2.3X

 

This is a simple little mod that reduces the checkout process with 2 steps by combining the login and create account page aswell as skipping the create account success page.

 

Before:

 

[1] Login >> [2]Create Account >> [3]Create Account Sucess >> [4]Checkout Shipping >> [5]Checkout Payment >> [6]Checkout Confirmation

 

After:

 

[1] Create Account/Login >> [2] Checkout Shipping >> [3]Checkout payment >> [4}Checkout Confirmation

 

 

It can be downloaded here>>

Edited by toyicebear
Link to comment
Share on other sites

Was excited to see this add-on! Not sure what caused it; opening the two new files in note pad to verify which directory to install to, all formatting is lost, so that one is starring at a huge continuous block of code (Should that happen with notepad, or was the file to be that way?) Wouldn't be a real problem if the install.txt stated the correct install directory. you know how the single file name in two completely different places can really cause your eyes to cross!

 

Timmy C

Link to comment
Share on other sites

Do not use the standard windows notepad, use a text editor like for instance Notepad++ , Crimson Editor or similar.

 

The instructions should be clear enough....

 

If your shop is in the root..ie. at: www.domainname.com/

 

Then the files should be added in the root of your hosting account overwriting the files with the same name there.

 

If your shop is in the a sub folder called catalog..ie. at: www.domainname.com/catalog/

 

Then the files should be added in the /catalog/ folder of your hosting account overwriting the files with the same name there.

 

 

*If you have the shop installed in a sub-folder with another name, then its that named folder they should be uploaded into.

Link to comment
Share on other sites

thanks for the tip on the text editor.. had never encountered problem. Why the heck didn't the guys in development make changes so there wouldn't be the multi-same-named-file thingy going on?

Link to comment
Share on other sites

thanks for the tip on the text editor.. had never encountered problem. Why the heck didn't the guys in development make changes so there wouldn't be the multi-same-named-file thingy going on?

The default shop section do not have "the multi-same-named-file thingy going on", if yours does then its due to modifications done.

 

 

All the main files for the shop section have "unique" names , the only files with the same name is the corresponding language file.

 

Ie.

 

The file product_info.php will also have a corresponding language file placed in the language folder under the languages used in your shop.

 

For instance for English that would be:

 

includes/languages/english/product_info.php

Link to comment
Share on other sites

Nice mod Nick, works great straight out, but with one exception because I have a previously installed USPS methods mod that effected checkout_shipping.php already, so I had to cover that. Otherwise good to go and thank you.

I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Link to comment
Share on other sites

  • 2 weeks later...

WOW, this contribution is really clever, the customer does not even realise they are creating an account. Install was the easiest ever.

 

Thank you

Link to comment
Share on other sites

  • 2 weeks later...

Hi there

 

can this be used for a 2.2 store?

 

thank you

 

No, but there are "similar" mods for 2.2 stores in the add-ons section

Link to comment
Share on other sites

hello,

 

at first: good work!

 

but i have a problem - i'm using "SLiCK reCaptcha", after installing your contrib i get a error on create_account.php - "For security reasons, you must pass the remote ip to reCAPTCHA".

 

can you help me?

 

this is the code:

 

<?php
/*
 $Id$

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2010 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

 // BOF: SLiCK reCaptcha
 if (RECAPTCHA_CREATEACCOUNT == 'true') {
   require_once(DIR_WS_CLASSES . 'recaptchalib.php');
 }
// EOF: SLiCK reCaptcha

// needs to be included earlier to set the success message in the messageStack
 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CREATE_ACCOUNT);
 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_LOGIN);


 $process = false;
 if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') && isset($HTTP_POST_VARS['formid']) && ($HTTP_POST_VARS['formid'] == $sessiontoken)) {
   $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']);

   $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 ((is_numeric(tep_date_raw($dob)) == false) || (@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);
   }
// BOF: SLiCK reCaptcha
   if (RECAPTCHA_CREATEACCOUNT == 'true') {
     // the response from reCAPTCHA
     $resp = null;

     // was there a reCAPTCHA response?
     $resp = recaptcha_check_answer(RECAPTCHA_PRIVATE_KEY,
                                    $ip_address,
                                    $HTTP_POST_VARS['recaptcha_challenge_field'],
                                    $HTTP_POST_VARS['recaptcha_response_field']);

     if (!$resp->is_valid) {
       $error = true;
       $messageStack->add('create_account', ENTRY_SECURITY_CHECK_ERROR . " (reCAPTCHA outInsert: " . $resp->error . ")");
     }
   }
// EOF: SLiCK reCaptcha
   if ($error == false) {
     $sql_data_array = array('customers_firstname' => $firstname,
                             'customers_lastname' => $lastname,
                             'customers_email_address' => $email_address,
                             'customers_telephone' => $telephone,
                             'customers_fax' => $fax,
                             'customers_newsletter' => $newsletter,
                             'customers_password' => tep_encrypt_password($password));

     if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $gender;
     if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = tep_date_raw($dob);

     tep_db_perform(TABLE_CUSTOMERS, $sql_data_array);

     $customer_id = tep_db_insert_id();

     $sql_data_array = array('customers_id' => $customer_id,
                             'entry_firstname' => $firstname,
                             'entry_lastname' => $lastname,
                             'entry_street_address' => $street_address,
                             'entry_postcode' => $postcode,
                             'entry_city' => $city,
                             'entry_country_id' => $country);

     if (ACCOUNT_GENDER == 'true') $sql_data_array['entry_gender'] = $gender;
     if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_company'] = $company;
     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');

// reset session token
     $sessiontoken = md5(tep_rand() . tep_rand() . tep_rand() . tep_rand());

// 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);
if ($cart->count_contents() < 1) {

     tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL'));
     } else {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));	
}
   }
 }

 $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

 require(DIR_WS_INCLUDES . 'template_top.php');
 require('includes/form_check.js.php');
?>



<?php
 if ($messageStack->size('create_account') > 0) {
   echo $messageStack->output('create_account');
 }
?>
<div class="contentContainer">
 <div class="contentText">
  <h2><?php echo HEADING_RETURNING_CUSTOMER; ?></h2>
   <?php echo tep_draw_form('login', tep_href_link(FILENAME_LOGIN, 'action=process', 'SSL'), 'post', '', true); ?>
   <table border="0" cellspacing="0" cellpadding="2" width="100%">
     <tr>
       <td class="fieldKey"><?php echo ENTRY_EMAIL_ADDRESS; ?></td>
       <td class="fieldValue"><?php echo tep_draw_input_field('email_address'); ?></td>
     </tr>
     <tr>
       <td class="fieldKey"><?php echo ENTRY_PASSWORD; ?></td>
       <td class="fieldValue"><?php echo tep_draw_password_field('password'); ?></td>
     </tr>
   </table>

   <p><?php echo '<a href="' . tep_href_link(FILENAME_PASSWORD_FORGOTTEN, '', 'SSL') . '">' . TEXT_PASSWORD_FORGOTTEN . '</a>'; ?></p>

   <p align="right"><?php echo tep_draw_button(IMAGE_BUTTON_LOGIN, 'key', null, 'primary'); ?></p>


   </form>
 </div>
 <div class="contentText">
<?php echo tep_draw_form('create_account', tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onsubmit="return check_form(create_account);"', true) . tep_draw_hidden_field('action', 'process'); ?>

 <h2><?php echo HEADING_NEW_CUSTOMER; ?></h2>




 <div>
   <span class="inputRequirement" style="float: right;"><?php echo FORM_REQUIRED_INFORMATION; ?></span>
   <h2><?php echo CATEGORY_PERSONAL; ?></h2>
 </div>

 <div class="contentText">
   <table border="0" cellspacing="2" cellpadding="2" width="100%">

<?php
 if (ACCOUNT_GENDER == 'true') {
?>

     <tr>
       <td class="fieldKey"><?php echo ENTRY_GENDER; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_FIRST_NAME; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_LAST_NAME; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_DATE_OF_BIRTH; ?></td>
       <td class="fieldValue"><?php echo tep_draw_input_field('dob', '', 'id="dob"') . ' ' . (tep_not_null(ENTRY_DATE_OF_BIRTH_TEXT) ? '<span class="inputRequirement">' . ENTRY_DATE_OF_BIRTH_TEXT . '</span>': ''); ?><script type="text/javascript">$('#dob').datepicker({dateFormat: '<?php echo JQUERY_DATEPICKER_FORMAT; ?>', changeMonth: true, changeYear: true, yearRange: '-100:+0'});</script></td>
     </tr>

<?php
 }
?>

     <tr>
       <td class="fieldKey"><?php echo ENTRY_EMAIL_ADDRESS; ?></td>
       <td class="fieldValue"><?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>
 </div>

<?php
 if (ACCOUNT_COMPANY == 'true') {
?>

 <h2><?php echo CATEGORY_COMPANY; ?></h2>

 <div class="contentText">
   <table border="0" cellspacing="2" cellpadding="2" width="100%">
     <tr>
       <td class="fieldKey"><?php echo ENTRY_COMPANY; ?></td>
       <td class="fieldValue"><?php echo tep_draw_input_field('company') . ' ' . (tep_not_null(ENTRY_COMPANY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COMPANY_TEXT . '</span>': ''); ?></td>
     </tr>
   </table>
 </div>

<?php
 }
?>

 <h2><?php echo CATEGORY_ADDRESS; ?></h2>

 <div class="contentText">
   <table border="0" cellspacing="2" cellpadding="2" width="100%">
     <tr>
       <td class="fieldKey"><?php echo ENTRY_STREET_ADDRESS; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_SUBURB; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_POST_CODE; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_CITY; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_STATE; ?></td>
       <td class="fieldValue">
<?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 . '</span>';
?>
       </td>
     </tr>

<?php
 }
?>

     <tr>
       <td class="fieldKey"><?php echo ENTRY_COUNTRY; ?></td>
       <td class="fieldValue"><?php echo tep_get_country_list('country') . ' ' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td>
     </tr>
   </table>
 </div>

 <h2><?php echo CATEGORY_CONTACT; ?></h2>

 <div class="contentText">
   <table border="0" cellspacing="2" cellpadding="2" width="100%">
     <tr>
       <td class="fieldKey"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_FAX_NUMBER; ?></td>
       <td class="fieldValue"><?php echo tep_draw_input_field('fax') . ' ' . (tep_not_null(ENTRY_FAX_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_FAX_NUMBER_TEXT . '</span>': ''); ?></td>
     </tr>
     <tr>
       <td class="fieldKey"><?php echo ENTRY_NEWSLETTER; ?></td>
       <td class="fieldValue"><?php echo tep_draw_checkbox_field('newsletter', '1') . ' ' . (tep_not_null(ENTRY_NEWSLETTER_TEXT) ? '<span class="inputRequirement">' . ENTRY_NEWSLETTER_TEXT . '</span>': ''); ?></td>
     </tr>
   </table>
 </div>

 <h2><?php echo CATEGORY_PASSWORD; ?></h2>

 <div class="contentText">
   <table border="0" cellspacing="2" cellpadding="2" width="100%">
     <tr>
       <td class="fieldKey"><?php echo ENTRY_PASSWORD; ?></td>
       <td class="fieldValue"><?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="fieldKey"><?php echo ENTRY_PASSWORD_CONFIRMATION; ?></td>
       <td class="fieldValue"><?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>
 </div>
<?php
// BOF: SLiCK reCaptcha
 if (RECAPTCHA_CREATEACCOUNT == 'true') {
?>
 <div class="contentText">
   <table border="0" cellspacing="2" cellpadding="2" width="100%">
     <tr>
       <td class="fieldKey"><?php echo ENTRY_SECURITY_CHECK; ?></td>
     </tr>
     <tr>
       <td class="fieldValue">
<?php
   $languages_query = tep_db_query("select code from " . TABLE_LANGUAGES . " where directory = '" . (int)$language . "'");
   $language_id = tep_db_fetch_array($languages_query);
?>
       <script type="text/javascript">
       var RecaptchaOptions = {
         theme : 'clean',
         tabindex : 3,
         lang : 'de'
       };
       </script>
       <?php echo recaptcha_get_html(RECAPTCHA_PUBLIC_KEY); ?>
       </td>
     </tr>
   </table>
 </div>
<?php
 }
// EOF: SLiCK reCaptcha
?>

 <div class="buttonSet">
   <span class="buttonAction"><?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'person', null, 'primary'); ?></span>
 </div>
</form>
</div>

</div>

<?php
 require(DIR_WS_INCLUDES . 'template_bottom.php');
 require(DIR_WS_INCLUDES . 'application_bottom.php');
?>

Link to comment
Share on other sites

hello,

 

at first: good work!

 

but i have a problem - i'm using "SLiCK reCaptcha", after installing your contrib i get a error on create_account.php - "For security reasons, you must pass the remote ip to reCAPTCHA".

 

can you help me?

 

 

I have not tried the "SLiCK reCaptcha" add-on.

 

But if the "SLiCK reCaptcha" add-on have manual install instruction included, i suggest you follow those and add it to the create_account.php file included in the "Shorter Checkout for osCommerce 2.3X" add-on.

Link to comment
Share on other sites

But if the "SLiCK reCaptcha" add-on have manual install instruction included, i suggest you follow those and add it to the create_account.php file included in the "Shorter Checkout for osCommerce 2.3X" add-on.

this is exactly what i have done. i can not understand this behavior.

Link to comment
Share on other sites

this is exactly what i have done. i can not understand this behavior.

 

 

One thing to take not of is that the create_account.php from "Shorter Checkout for osCommerce 2.3X" have 2 forms on the page, First one for the login and then one for create account. When "merging" it with other mods take care that you do not place any modifications within the wrong form or that you "break" the existing forms.

Link to comment
Share on other sites

  • 4 weeks later...
  • 6 months later...

Is it just me or shouldnt the new create_account.php be replacing login.php?

 

As you have it now there is still a login page. and then when the user clicks create account from that page it brings them to the new page (obviously). Did you forget to include that in the instructions or am I missing something?

Link to comment
Share on other sites

The included file checkout_shipping.php have code which takes care of just that..... Aslong as you use the normal oscommerce linking for the checkout buttons/links a customer will be sent to the create account page when he/she clicks checkout.

Edited by toyicebear
Link to comment
Share on other sites

  • 1 year later...

This is a very good add on. I have a question about the layout / design of it.

 

Is there any way the form/log in can be adapted to match your website template?

 

When I install it there is no header bar on the page, the form/log in left justifies and if I can get this changed I will be 100 % using this.

Link to comment
Share on other sites

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...