steve_s Posted October 14, 2009 Share Posted October 14, 2009 Thank you for the reply. This is what I got: Notice: Undefined property: coupon in /home/content/b/e/a/beangarage/html/catalog/includes/classes/order.php on line 322 Notice: Undefined property: coupon in /home/content/b/e/a/beangarage/html/catalog/includes/classes/order.php on line 366 Notice: Undefined property: coupon in /home/content/b/e/a/beangarage/html/catalog/includes/modules/order_total/ot_discount_coupon.php on line 51 Notice: Undefined variable: pass in /home/content/b/e/a/beangarage/html/catalog/includes/modules/order_total/ot_shipping.php on line 41 Hi Try the latest contribution 1.0.8 Steve Quote Link to comment Share on other sites More sharing options...
steve_s Posted October 14, 2009 Share Posted October 14, 2009 does it make a difference to use $_POST['whatever'] instead of $HTTP_POST_VARS['whatever'] ? Hi Kira, If your php version is >= 4.0.1 $_POST['whatever'] will work fine Steve Quote Link to comment Share on other sites More sharing options...
markfinstro Posted October 15, 2009 Share Posted October 15, 2009 Version 1.08 released, all known issues have been resolved. Thanks for your support and enjoy. http://addons.oscommerce.com/info/6646 I've installed the new version 8, which has fixed the issue with the telephone number not being captured - however the post code is now not being captured. I'm using the option where no account is required / optional. The order details is placed directly into the orders table, but without the postcode. Any thoughts, as this was working before? Quote Link to comment Share on other sites More sharing options...
markfinstro Posted October 15, 2009 Share Posted October 15, 2009 RE POSTCODE ERROR: found the problem where the postcode is not captured, it's in the includes/classes/onepage_checkout.php file around line 554 change $order->{$varName}['postcode'] = tep_db_prepare_input($_POST[$prefix . 'zipcode']); to $order->{$varName}['postcode'] = tep_db_prepare_input($_POST[$prefix . 'postcode']); Quote Link to comment Share on other sites More sharing options...
andychev Posted October 15, 2009 Share Posted October 15, 2009 (edited) 1.08 is a lot better although still has some major bugs: In 1.07 there were a lot of errors caused by duplicate entries added into the customers table when the order was placed. This is now fixed first time round. However, if you place an order (dont enter a password) then enter another order (with the system already having logged in from the previous one) another customer is entered into the customers table with the same details. Ie causing a duplication of the email address which causes big problems. The second major issue is the storing of session variables for the customer details. Again if multiple orders are placed on after the other it is possible to have the customer details based on session variables from a previous order while the shipping and billing address are correct. These variables are alto used to create the duplicate account as detailed above. One thing that would resolve a lot of problems is a check to see if the email address exists before adding the customer into the customers table and causing duplication. It would also be nice to have telephone as a required field. Bring on 1.09 :) Edited October 15, 2009 by andychev Quote Link to comment Share on other sites More sharing options...
andychev Posted October 15, 2009 Share Posted October 15, 2009 To reslove the multiple new duplicate customers problem detailed in my post above in includes/classes/onepage_checkout.php Around line 755 Replace ------------------ function createCustomerAccount(){ global $currencies, $customer_id, $onepage, $customer_default_address_id, $customer_first_name, $customer_country_id, $customer_zone_id, $languages_id; if ($onepage['createAccount'] === true){ if (!tep_session_is_registered('customer_id')) tep_session_register('customer_id'); if (!tep_session_is_registered('customer_default_address_id')) tep_session_register('customer_default_address_id'); if (!tep_session_is_registered('customer_first_name')) tep_session_register('customer_first_name'); if (!tep_session_is_registered('customer_country_id')) tep_session_register('customer_country_id'); if (!tep_session_is_registered('customer_zone_id')) tep_session_register('customer_zone_id'); $sql_data_array = array( 'customers_firstname' => $onepage['billing']['firstname'], 'customers_lastname' => $onepage['billing']['lastname'], 'customers_email_address' => $onepage['customer']['email_address'], 'customers_telephone' => $onepage['customer']['telephone'], 'customers_fax' => $onepage['customer']['fax'], 'customers_newsletter' => $onepage['customer']['newsletter'], 'customers_password' => tep_encrypt_password($onepage['customer']['password']) ); if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $onepage['billing']['gender']; if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = tep_date_raw($onepage['customer']['dob']); tep_db_perform(TABLE_CUSTOMERS, $sql_data_array); ------------------ With ------------------ function createCustomerAccount(){ global $currencies, $customer_id, $onepage, $customer_default_address_id, $customer_first_name, $customer_country_id, $customer_zone_id, $languages_id; $check_query = tep_db_query("select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . $onepage['customer']['email_address'] . "'"); $check_p = tep_db_fetch_array($check_query); if ($check_p['total'] < 1) { if ($onepage['createAccount'] === true){ if (!tep_session_is_registered('customer_id')) tep_session_register('customer_id'); if (!tep_session_is_registered('customer_default_address_id')) tep_session_register('customer_default_address_id'); if (!tep_session_is_registered('customer_first_name')) tep_session_register('customer_first_name'); if (!tep_session_is_registered('customer_country_id')) tep_session_register('customer_country_id'); if (!tep_session_is_registered('customer_zone_id')) tep_session_register('customer_zone_id'); $sql_data_array = array( 'customers_firstname' => $onepage['billing']['firstname'], 'customers_lastname' => $onepage['billing']['lastname'], 'customers_email_address' => $onepage['customer']['email_address'], 'customers_telephone' => $onepage['customer']['telephone'], 'customers_fax' => $onepage['customer']['fax'], 'customers_newsletter' => $onepage['customer']['newsletter'], 'customers_password' => tep_encrypt_password($onepage['customer']['password']) ); if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $onepage['billing']['gender']; if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = tep_date_raw($onepage['customer']['dob']); tep_db_perform(TABLE_CUSTOMERS, $sql_data_array); } --------------------- This will add a simple check to see whether the customer already exists in the customer table and skip adding them if they are. It also resolves the problem of logged in customers telephone numbers not being added to the orders table. Quote Link to comment Share on other sites More sharing options...
johnnybebad Posted October 15, 2009 Share Posted October 15, 2009 I now only have design issues basically how everything looks. I am wanting to change the layout of the sign in login box that uses the ui.css theme, I want to be able to design it specifically for each sts template rather than just have a default setting. I have played around with the references etc and copied the files to the template directory I am using but its not working. guessing now, but when I changed the references the box was drawn but without the formatting, css error, so it would appear that the link is either incorrect to the theme file in the template or I need to change some of the settings within the .css files? can anyone point me in the right direction with this please. Quote Getting better with mods but no programmer am I. Link to comment Share on other sites More sharing options...
DenominatorX Posted October 16, 2009 Share Posted October 16, 2009 Everything works fine except for when enter a bad CC# in Authorize.net. When I do, it returns the proper error, but the State field shows a red star next to it as if you need to re-select it. Also, the Authorize.net table is collapsed. When you try to re-select the state, it doesn't work unless you select a different state first, then go back to the correct state. Doing this re-opens up the options for the Authorize.net entries. When you enter an invalid CC# in Authorize.net, is there a way to carry over State properly so that the Authorize.net module is still showing properly? If not, is there a way to have the state option revert back to "Please Select" so the customer at least knows they need to re-select the state? Quote Link to comment Share on other sites More sharing options...
GieltjE Posted October 16, 2009 Share Posted October 16, 2009 In a version of ie7 the continue button does not show after filling in all fields it just keeps running the different updating texts in a loop. The other thing I noticed is that I can enter anything I want in the phone nr field, is this supposed to be accepted? Quote Link to comment Share on other sites More sharing options...
redrum Posted October 16, 2009 Share Posted October 16, 2009 If I enter all shipping details and then change country, the continue button wont load. It stops at "Getting Country's Zones". If I check the Error Console in Firefox I receive the following error: Error: $el.get(0) is undefined Source: http://www.URL.com/includes/checkout/checkout.js Row: 39 I dont know if this has anyting t do with the error, since it appears in the error console if I upload the includes/checkout/checkout.js from version 1.07. But when I use it the continue button loads as it should. There's also alot of warnings in the Error Console saying emty string sent to getElementById(). What is wrong and how can this be solved? Thanks, Fredrik Quote Link to comment Share on other sites More sharing options...
steve_s Posted October 16, 2009 Share Posted October 16, 2009 I now only have design issues basically how everything looks. I am wanting to change the layout of the sign in login box that uses the ui.css theme, I want to be able to design it specifically for each sts template rather than just have a default setting. I have played around with the references etc and copied the files to the template directory I am using but its not working. guessing now, but when I changed the references the box was drawn but without the formatting, css error, so it would appear that the link is either incorrect to the theme file in the template or I need to change some of the settings within the .css files? can anyone point me in the right direction with this please. Hi Johnny Best to ask how to do that in STS support forum Steve Quote Link to comment Share on other sites More sharing options...
steve_s Posted October 16, 2009 Share Posted October 16, 2009 In a version of ie7 the continue button does not show after filling in all fields it just keeps running the different updating texts in a loop. The other thing I noticed is that I can enter anything I want in the phone nr field, is this supposed to be accepted? Hi I dont think there is any validation on phone number Steve Quote Link to comment Share on other sites More sharing options...
steve_s Posted October 16, 2009 Share Posted October 16, 2009 If I enter all shipping details and then change country, the continue button wont load. It stops at "Getting Country's Zones". If I check the Error Console in Firefox I receive the following error: Error: $el.get(0) is undefined Source: http://www.URL.com/includes/checkout/checkout.js Row: 39 I dont know if this has anyting t do with the error, since it appears in the error console if I upload the includes/checkout/checkout.js from version 1.07. But when I use it the continue button loads as it should. There's also alot of warnings in the Error Console saying emty string sent to getElementById(). What is wrong and how can this be solved? Thanks, Fredrik Hi Fredrik Check the installation instructions to make sure you havent missed anything out, it looks like some javascript isnt being loaded or called Steve Quote Link to comment Share on other sites More sharing options...
steve_s Posted October 16, 2009 Share Posted October 16, 2009 Everything works fine except for when enter a bad CC# in Authorize.net. When I do, it returns the proper error, but the State field shows a red star next to it as if you need to re-select it. Also, the Authorize.net table is collapsed. When you try to re-select the state, it doesn't work unless you select a different state first, then go back to the correct state. Doing this re-opens up the options for the Authorize.net entries. When you enter an invalid CC# in Authorize.net, is there a way to carry over State properly so that the Authorize.net module is still showing properly? If not, is there a way to have the state option revert back to "Please Select" so the customer at least knows they need to re-select the state? Hi Im not sure on this please report the bug to kjavitz @ itwebexperts.com join email together Steve Quote Link to comment Share on other sites More sharing options...
redrum Posted October 16, 2009 Share Posted October 16, 2009 (edited) Hi Fredrik Check the installation instructions to make sure you havent missed anything out, it looks like some javascript isnt being loaded or called Steve Thanks for your reply Steve. I use STS, so I deactivated STS in sts_display_output.php, but the problem remained. I then uploaded includes/checkout/checkout.js from version 1.07 and then the continue-button was loaded after I change the countries. But If I skipped to choose a payment option and hit the continue-button I received the pre_confirmation_check error. Then I changed checkAllErrors(); to return checkAllErrors(); in includes/checkout/checkout.js (version 1.07) at line 795. And then it seems to work. But I found all this a bit odd. Edited October 16, 2009 by redrum Quote Link to comment Share on other sites More sharing options...
maxabears Posted October 18, 2009 Share Posted October 18, 2009 HI All. I have just installed 1.08, and everything seems OK until I get to the last step. Using paypal standard, you can order items, pay (payments work) and then when you click on the link to return to my web site (from Paypal), I get this error message Fatal error: Call to a member function getAddressFormatted() on a non-object in /...../public_html/catalog3/includes/modules/payment/paypal_standard.php on line 522 I had the same problem in v1.07 The line in question is here /* One Page Checkout - BEGIN */ $sendToFormatted = tep_address_label($customer_id, $sendto, 0, '', "\n"); if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ ---> $sendToFormatted = $onePageCheckout->getAddressFormatted('sendto'); } $billToFormatted = tep_address_label($customer_id, $billto, 0, '', "\n"); if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ $billToFormatted = $onePageCheckout->getAddressFormatted('billto'); } /* One Page Checkout - END */ I don't understand why the return page is calling paypal_standard.php anyway - shouldn't it be calling checkout_success ??? Can anyone confirm the correct return page please ? (or have any ideas about this prob) ?? Thanks Hardy Quote Link to comment Share on other sites More sharing options...
Monk Posted October 18, 2009 Share Posted October 18, 2009 Ok....i've tried installing all of the versions and the best I can get is the page to load...but nothing else to work. I get a JS error coming from line 297 on checkout.php where there is $(document).ready(function () { The JS error I get in IE references that line and says "Object Expected" My php is pretty good....but not JS or Ajax. Any ideas / help? Quote Link to comment Share on other sites More sharing options...
Monk Posted October 18, 2009 Share Posted October 18, 2009 Even weirder (sp?) I just tried installing it on another site and I get a 100% blank page....but doing a view source shows me all the html code / script Quote Link to comment Share on other sites More sharing options...
steve_s Posted October 18, 2009 Share Posted October 18, 2009 Even weirder (sp?) I just tried installing it on another site and I get a 100% blank page....but doing a view source shows me all the html code / script Blank page is a php error, look in your hosts error log if they have one if not after require('includes/application_top.php'); add error_reporting(E_ALL); ini_set('display_errors', '1'); now view that page again and see what the errors are Steve Quote Link to comment Share on other sites More sharing options...
steve_s Posted October 18, 2009 Share Posted October 18, 2009 HI All. I have just installed 1.08, and everything seems OK until I get to the last step. Using paypal standard, you can order items, pay (payments work) and then when you click on the link to return to my web site (from Paypal), I get this error message Fatal error: Call to a member function getAddressFormatted() on a non-object in /...../public_html/catalog3/includes/modules/payment/paypal_standard.php on line 522 I had the same problem in v1.07 The line in question is here /* One Page Checkout - BEGIN */ $sendToFormatted = tep_address_label($customer_id, $sendto, 0, '', "\n"); if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ ---> $sendToFormatted = $onePageCheckout->getAddressFormatted('sendto'); } $billToFormatted = tep_address_label($customer_id, $billto, 0, '', "\n"); if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ $billToFormatted = $onePageCheckout->getAddressFormatted('billto'); } /* One Page Checkout - END */ I don't understand why the return page is calling paypal_standard.php anyway - shouldn't it be calling checkout_success ??? Can anyone confirm the correct return page please ? (or have any ideas about this prob) ?? Thanks Hardy Hi Hardy paypal standard has its own process order, if you can get paypal to direct you back to checkout_process.php that will be good if not try making changes to paypal standard that contribution asked you to make to checkout_process steve Quote Link to comment Share on other sites More sharing options...
emmet11 Posted October 18, 2009 Share Posted October 18, 2009 (edited) Sorry for my english. Two serius bugs encountered in new 1.08 version: 1. When a customer is logged in, you can not select shipping methods until you re-select shipping address in Addres Book and press Continue button. 2. When a customer is logged id and press continue to finish order and not selected any payment method you get an error same this: Fatal error: Call to a member function on a non-object in /home/shop/includes/classes/onepage_checkout.php on line 716 IMPORTANT NOTE: This errors not occurs if customer log in in checkout.php page. Tips usefull for next version: 1. Telephone Number must be required (order without telephone contact are not good for the majority of shops) 2. There are too many people that would like to use Paypal_ipn with this contribution but get the duplicate orders problem (one order from paypal_ipn module that is the correct to get de ipn status and another order from checkot.php and checkout_process.php). The ideal thing would be to get only the paypal_ipn created order Best regards.... Edited October 18, 2009 by emmet11 Quote Link to comment Share on other sites More sharing options...
Monk Posted October 18, 2009 Share Posted October 18, 2009 (edited) Blank page is a php error, look in your hosts error log if they have one if not after require('includes/application_top.php'); add error_reporting(E_ALL); ini_set('display_errors', '1'); now view that page again and see what the errors are Steve Steve - thanks for the fast reply. I think I mispoke about a "blank page" What I meant is the script is not loading. I have error reporting turned on. There actually is something at the very bottom of the page - my page parse time. And I can get the header and footer to load for the site. But the middle body content that hold the checkout script is blank. If I edit the script and remove the line: style="display:show;" The I get the page but nothing works. Its like the JQuery is not being loaded for the id="pageContentContainer" I get a javascript error that points to $(document).ready(function (){ And that the Object is not defined. Thanks again for any ideas suggestions!!! Edited October 18, 2009 by Monk Quote Link to comment Share on other sites More sharing options...
emmet11 Posted October 18, 2009 Share Posted October 18, 2009 Sorry for my english. Two serius bugs encountered in new 1.08 version: 1. When a customer is logged in, you can not select shipping methods until you re-select shipping address in Addres Book and press Continue button. 2. When a customer is logged id and press continue to finish order and not selected any payment method you get an error same this: Fatal error: Call to a member function on a non-object in /home/shop/includes/classes/onepage_checkout.php on line 716 IMPORTANT NOTE: This errors not occurs if customer log in in checkout.php page. I've solved this questions: Open checkout.js and find: this.updateFinalProductListing(); this.updateOrderTotals(); Change it to: checkoutClass.updateShippingMethods(); this.updateFinalProductListing(); this.updateOrderTotals(); Open checkout/payment_method.php: search for: if ($paymentMethod == ''){ $paymentMethod = ONEPAGE_DEFAULT_PAYMENT; } and comment it to: // if ($paymentMethod == ''){ //$paymentMethod = ONEPAGE_DEFAULT_PAYMENT; // } This solves the probems. Regards... Quote Link to comment Share on other sites More sharing options...
emmet11 Posted October 18, 2009 Share Posted October 18, 2009 I forgot to show you how to set required phone number: In checkout/billing_address.php change: <td class="main"><?php echo ENTRY_TELEPHONE; ?><br><?php echo tep_draw_input_field('billing_telephone', (isset($customerAddress) ? $customerAddress['telephone'] : ''), 'style="width:80%;float:left;"'); ?></td> to: <td class="main"><?php echo ENTRY_TELEPHONE; ?><br><?php echo tep_draw_input_field('billing_telephone', (isset($customerAddress) ? $customerAddress['telephone'] : ''), 'class="required" style="width:80%;float:left;"'); ?></td> Regards!! Quote Link to comment Share on other sites More sharing options...
Monk Posted October 18, 2009 Share Posted October 18, 2009 I forgot to show you how to set required phone number: In checkout/billing_address.php change: <td class="main"><?php echo ENTRY_TELEPHONE; ?><br><?php echo tep_draw_input_field('billing_telephone', (isset($customerAddress) ? $customerAddress['telephone'] : ''), 'style="width:80%;float:left;"'); ?></td> to: <td class="main"><?php echo ENTRY_TELEPHONE; ?><br><?php echo tep_draw_input_field('billing_telephone', (isset($customerAddress) ? $customerAddress['telephone'] : ''), 'class="required" style="width:80%;float:left;"'); ?></td> Regards!! Hi emmet - have you ever encountered the error that I am having posted above?? 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.