Jump to content

dr_lucas

Members
  • Content count

    357
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by dr_lucas

  1. dr_lucas

    Time Zone Offset Contribution Support

    So they probably still didn't revise the new mod to work with the now() function. They should have... In this case, the only advice I could offer you is "use sunscreen" (j/k) ;) Seriously now - there is not much you can do for this visitors script at the moment, at least all the rest is working as it should. :)
  2. dr_lucas

    Time Zone Offset Contribution Support

    You are right about that, it's the same on my system, with the old mod, and it's because its' code isn't standard osCommerce code. It also does not use the now() function, and that is why the time and date are showing in PST instead of Central. I am also using the excellent user tracking contribution (http://www.oscommerce.com/community/contributions,1055) and it works fine there simply because it's written according to osC standards... You may want to replace your visitors mod with the updated one: http://www.oscommerce.com/community/contributions,4067
  3. dr_lucas

    Time Zone Offset Contribution Support

    Actually, it does change something as you stated before - it changed the time and date of your received orders, which is what its supposed to change. Without it your orders time and date will be the same as your datebase's...
  4. Perfect! Thank you! :thumbsup:
  5. dr_lucas

    NEW! Complete Order Editing Tool!

    Thanks A LOT, mate, seems to be working fine now! :D You're a VERY helpful person... :thumbsup:
  6. dr_lucas

    NEW! Complete Order Editing Tool!

    Thanks for the quick response. I tried this code and I am now getting the following SQL error: 1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'from orders_products op join products p on op.products_id = p.p select op.orders_products_id, op.products_id, op.products_name, op.products_model, op.products_price, op.products_tax, op.products_quantity, op.final_price, p.products_tax_class_id, from orders_products op join products p on op.products_id = p.products_id where orders_id = '14225' How can I fix that?
  7. dr_lucas

    NEW! Complete Order Editing Tool!

    Hi, I also have the Paypal IPN 3.15 installed, and my fundctions/order.php of the orders_products_query section and of the attributes_query look like this: //begin PayPal_Shopping_Cart_IPN $orders_products_query = tep_db_query("select orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price, products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'"); //end PayPal_Shopping_Cart_IPN while ($orders_products = tep_db_fetch_array($orders_products_query)) { $this->products[$index] = array('qty' => $orders_products['products_quantity'], //begin PayPal_Shopping_Cart_IPN 'id' => $orders_products['products_id'], 'orders_products_id' => $orders_products['orders_products_id'], //end PayPal_Shopping_Cart_IPN 'name' => $orders_products['products_name'], 'model' => $orders_products['products_model'], 'tax' => $orders_products['products_tax'], 'price' => $orders_products['products_price'], 'final_price' => $orders_products['final_price']); $subindex = 0; //begin PayPal_Shopping_Cart_IPN $attributes_query = tep_db_query("select products_options, products_options_values, options_values_price, price_prefix, products_options_id, products_options_values_id from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$order_id . "' and orders_products_id = '" . (int)$orders_products['orders_products_id'] . "'"); //end PayPal_Shopping_Cart_IPN if (tep_db_num_rows($attributes_query)) { while ($attributes = tep_db_fetch_array($attributes_query)) { $this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options'], //begin PayPal_Shopping_Cart_IPN 'option_id' => $attributes['products_options_id'], 'value_id' => $attributes['products_options_values_id'], //end PayPal_Shopping_Cart_IPN 'value' => $attributes['products_options_values'], 'prefix' => $attributes['price_prefix'], 'price' => $attributes['options_values_price']); $subindex++; } } $index++; } } } I read the reply about how to edit the orders_products_query How should I edit the attributes_query section to make it work with the order editor 2.4? TIA :-) Mikey
  8. dr_lucas

    Time Zone Offset Contribution Support

    The problem must be in your admin/includes/languages/english.php Your server date and time in the Admin "Server info" is taken from this file so you will probably have to play more with the putenv("TZ=US/Central"); until it shows you the right time and date in the server date line. I am sure that if you remove the 2 lines from admin/includes/languages/english.php: putenv("TZ=US/Central"); $lcl_date_time = date("Y-m-d H:i:s"); then the server date & time will be as before, matching the datebase date... Once you find the correct TZ that adjust the server date to match yours, you will have to put it in both the english.php files of course.
  9. dr_lucas

    DataBase Optimizer

    I use it, didn't notice any improvement tho...try it and let me know if you notice any yourself...
  10. dr_lucas

    Time Zone Offset Contribution Support

    Irina, 1) I am not sure if this will work on Windows servers, I never tested it on a windows server. I am also not sure if your host allow putenv, this should be checked as well. 2) The code in admin/includes/languages/english.php has got nothing to do with the offset time you set in Admin. The only files which are using this variable are the database.php files (TIME_ZONE_OFFSET). My mod is actually 2 separate time-zone mods in 1... 3) Did you place an order in your store to check the order date and time? Does it show the right time after you set the offset right?
  11. dr_lucas

    Time Zone Offset Contribution Support

    By the way, I believe your TZ should be set to: putenv("TZ=US/Pacific"); some Unix servers may use a different format for TZ. Example: putenv("TZ=PST8EDT");
  12. dr_lucas

    Time Zone Offset Contribution Support

    Irina, first try to place a new order and see if the order date and time match your Houston time after you installed the mod. Does it show the right time now? After that, just for testing purposes try to change the putenv("TZ=USA/Houston"); to putenv("TZ=Asia/Bangkok"); in both your catalog/includes/languages/english.php and admin/includes/languages/english.php and check if your store time changes. If it doesn't, it may be (although I am not 100% sure) because your host disables the putenv command on the server, but the orders still supposed to show the right time because they do not use the putenv addition...
  13. dr_lucas

    Time Zone Offset Contribution Support

    Hi, Irin I thought it may be something with my heavily modded store that made it work for me, so I just tried my own mod on a brand new installation of osC, following my own instructions, and all seem to be working as it should. Could you please provide some more information? Does the time of your store change at all? Does the time/date of your newly placed order change? Did you set the offset in the admin My Store configuration to match your time(I set it to +14 on my store because I am located in BKK while my host is in California) ? Did you set the correct TZ settings in your english.php files? Please check all the steps out again and let me know.... Anyone else tried it and did have success?
  14. dr_lucas

    Time Zone Offset Contribution Support

    Contribution location: http://www.oscommerce.com/community/contributions,4156 WHAT DOES THIS MODULE DO? This module allows you to set a time zone offset into the cart if you are in a situation where your store is in a different time zone from the server on which it is hosted. (For example, your store is based in Australia but is hosted on a server in the USA.) This situation can become a problem for accounting because order dates will not be accurate for the store time zone. The module will also make the entire store and admin display the right date and time of your real location. The module inserts a new configuration key into the database that sets the value of the time zone difference. The offset value is set from Admin>Configuration>My Store>Time Zone Offset. All orders will have their 'date_purchased' value corrected for the timezone difference when they are inserted into the database. This corrected value will be displayed on all admin pages, on the customer's 'My Account' page Need to work on: Make it display the right date in order confirmation and order status update emails (code is located in checkout_process.php). I couldn't do that. Any help will be appreciated.
  15. I am wondering if there is a way to change the scroll speed of the Best Selling products, since they are moving too slow as it is right now (example - http://www.skpiercing.com) Here is the code in bestseller2.php: (I assume that the bold part need to be changed, but I am not sure)
  16. dr_lucas

    Fancier Invoice & Packingslip v1.0

    There seem to be indeed a compatibility issue with this contribution and the Paypal IPN by devosc when it comes to the HTML Invoice sending. The Paypal IPN is using a different files than the catalog/checkout_process.php so the email sent to the customers who purchase via Paypal is the standard one instead of the HTML Invoice one. Could you please show how to edit the IPN files in order for it to send the HTML Invoice also on order completion?
  17. dr_lucas

    [Contribution]Paypal IPN - Devosc

    Unfortunately based on the last 20 messages (unanswered tech problems/questions) it seems like that is exactly what it is for... :(
  18. dr_lucas

    [Contribution]Paypal IPN - Devosc

    Hi Greg and all, First I would like to apologize if this have been answered before, I couldn't find the answer here in this endless thread, so if it is already available please point me to it. Thanks. I just installed the v3.1.5 of the contribution (after I removed my previous v2.8) and everything seems to work normally except for 2 issues: 1) Orders placed with a gift voucher does not seem to pass the shipping cost to paypal, for example: If the ordered products cost $49USD and the shipping cost is $30USD (sub total = $79USD) and the gift voucher worth $77USD, then the total to be passed to paypal should be $2USD. However when reaching the paypal site for payment the total shows a minus number instead (as if there was no shipping cost): -$28USD 2) The IPN Test Panel, which worked fine on my previous v2.8 of the IPN, works strangely this time. When I use it, it sends the IPN, but the total payment "received" shows as $0 in my order and not the real sum, even if I write the correct full sum in the MC Gross and/or in the Settle Amount (tried it also). Please let me know if I am doing something wrong and what's the resolution to these issues. Thanks a lot in advance.
  19. You guys do try to install it on MS1 and not MS2, right?
  20. dr_lucas

    [Contribution]Paypal IPN - Devosc

    Hopefully... :rolleyes:
  21. dr_lucas

    Scrambled Order Numbers

    Thank you for your quick response, Rich. Although I can perfectly understand you, I also can say "I wish I had the coding knowledge to make these IPN changes myself without breaking everything". I guess I will just have to wait until someone will come up with a step-by-step quick manual on how to make everything work together, especially since the PayPal IPN contribution is one of the most popular cont. it will probably happen sooner or later. Unfotuntaley I will not be able to test or use your (very much appreciated) important contribution obviously until then... Thanks again for your valuable time mate! :)
  22. dr_lucas

    Scrambled Order Numbers

    Richard, the paypal IPN (I am using Greg's IPN v2.8) has different/seperate checkout_process that I believe should be revised too in order for that to work and not screw things up when the customer is making the order with PayPal. Am I correct?
  23. dr_lucas

    [Contribution]Paypal IPN - Devosc

    I don't think there is error when they are combined, but we do need to make some more (probably minor) modifications to the IPN checkout_process file (maybe other files too?). Hopefully Greg can give us some more info... :rolleyes:
  24. dr_lucas

    [Contribution]Paypal IPN - Devosc

    Greg, I am a bit lost here with this CCGV (latest ver. - 5.10) contribution and the v2.8 IPN. They seemed to work fine together without me updating anything in the IPN, but I just found out that the credit (vouchers) used are not being cleared from the customer cart after he retursn back from paypal payment page, I already had 1 customer using his credit twice on 2 consecutive orders... Other than that they work fine together, the discount is forwarded to paypal and I have no other issues with them. I read in many places that editing the IPN's checkout_process accordingly suppose to fix this issue, but I can't figure what to change because they are totally different files. Below are my modified (the ICW comments are for the ccgv mod of course) /catalog/checkout_process.php and my original v2.8 /catalog//includes/modules/payment/paypal/catalog/checkout_process.inc.php Thanks in advance. <?php /* $Id: checkout_process.php,v 1.2.37.2 2004/01/01 14:00:29 Strider Exp $ $Id: checkout_process.php,v 1.128 2003/07/24 18:00:29 Strider Exp $ $Id: checkout_process.php,v 1.128 2003/05/28 18:00:29 hpdl Exp $ $Id: checkout_process.php,v 1.6.2.1 2003/05/03 23:41:23 wilt Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ include('includes/application_top.php'); // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT)); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } if (!tep_session_is_registered('sendto')) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } if ( (tep_not_null(MODULE_PAYMENT_INSTALLED)) && (!tep_session_is_registered('payment')) ) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } // avoid hack attempts during the checkout procedure by checking the internal cartID if (isset($cart->cartID) && tep_session_is_registered('cartID')) { if ($cart->cartID != $cartID) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); } } include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PROCESS); // load selected payment module require(DIR_WS_CLASSES . 'payment.php'); if ($credit_covers) $payment=''; //ICW added for CREDIT CLASS $payment_modules = new payment($payment); // load the selected shipping module require(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping($shipping); require(DIR_WS_CLASSES . 'order.php'); $order = new order; // load the before_process function from the payment modules $payment_modules->before_process(); require(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total; $order_totals = $order_total_modules->process(); $sql_data_array = array('customers_id' => $customer_id, 'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], 'customers_company' => $order->customer['company'], 'customers_street_address' => $order->customer['street_address'], 'customers_suburb' => $order->customer['suburb'], 'customers_city' => $order->customer['city'], 'customers_postcode' => $order->customer['postcode'], 'customers_state' => $order->customer['state'], 'customers_country' => $order->customer['country']['title'], 'customers_telephone' => $order->customer['telephone'], 'customers_email_address' => $order->customer['email_address'], 'customers_address_format_id' => $order->customer['format_id'], 'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 'delivery_company' => $order->delivery['company'], 'delivery_street_address' => $order->delivery['street_address'], 'delivery_suburb' => $order->delivery['suburb'], 'delivery_city' => $order->delivery['city'], 'delivery_postcode' => $order->delivery['postcode'], 'delivery_state' => $order->delivery['state'], 'delivery_country' => $order->delivery['country']['title'], 'delivery_address_format_id' => $order->delivery['format_id'], 'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 'billing_company' => $order->billing['company'], 'billing_street_address' => $order->billing['street_address'], 'billing_suburb' => $order->billing['suburb'], 'billing_city' => $order->billing['city'], 'billing_postcode' => $order->billing['postcode'], 'billing_state' => $order->billing['state'], 'billing_country' => $order->billing['country']['title'], 'billing_address_format_id' => $order->billing['format_id'], 'payment_method' => $order->info['payment_method'], 'cc_type' => $order->info['cc_type'], 'cc_owner' => $order->info['cc_owner'], 'cc_number' => $order->info['cc_number'], 'cc_expires' => $order->info['cc_expires'], 'date_purchased' => 'now()', 'orders_status' => $order->info['order_status'], 'currency' => $order->info['currency'], 'currency_value' => $order->info['currency_value']); tep_db_perform(TABLE_ORDERS, $sql_data_array); $insert_id = tep_db_insert_id(); for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $sql_data_array = array('orders_id' => $insert_id, 'title' => $order_totals[$i]['title'], 'text' => $order_totals[$i]['text'], 'value' => $order_totals[$i]['value'], 'class' => $order_totals[$i]['code'], 'sort_order' => $order_totals[$i]['sort_order']); tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array); } $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0'; $sql_data_array = array('orders_id' => $insert_id, 'orders_status_id' => $order->info['order_status'], 'date_added' => 'now()', 'customer_notified' => $customer_notification, 'comments' => $order->info['comments']); tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); // initialized for the email confirmation $products_ordered = ''; $subtotal = 0; $total_tax = 0; for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { // Stock Update - Joao Correia if (STOCK_LIMITED == 'true') { if (DOWNLOAD_ENABLED == 'true') { $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa ON p.products_id=pa.products_id LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad ON pa.products_attributes_id=pad.products_attributes_id WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"; // Will work with only one option for downloadable products // otherwise, we have to build the query dynamically with a loop $products_attributes = $order->products[$i]['attributes']; if (is_array($products_attributes)) { $stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'"; } $stock_query = tep_db_query($stock_query_raw); } else { $stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); } if (tep_db_num_rows($stock_query) > 0) { $stock_values = tep_db_fetch_array($stock_query); // do not decrement quantities if products_attributes_filename exists if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) { $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty']; } else { $stock_left = $stock_values['products_quantity']; } tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) { tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); } } } // Update products_ordered (for bestsellers list) tep_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); $sql_data_array = array('orders_id' => $insert_id, 'products_id' => tep_get_prid($order->products[$i]['id']), 'products_model' => $order->products[$i]['model'], 'products_name' => $order->products[$i]['name'], 'products_price' => $order->products[$i]['price'], 'final_price' => $order->products[$i]['final_price'], 'products_tax' => $order->products[$i]['tax'], 'products_quantity' => $order->products[$i]['qty']); tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array); $order_products_id = tep_db_insert_id(); $order_total_modules->update_credit_account($i);//ICW ADDED FOR CREDIT CLASS SYSTEM //------insert customer choosen option to order-------- $attributes_exist = '0'; $products_ordered_attributes = ''; if (isset($order->products[$i]['attributes'])) { $attributes_exist = '1'; for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) { if (DOWNLOAD_ENABLED == 'true') { $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad on pa.products_attributes_id=pad.products_attributes_id where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"; $attributes = tep_db_query($attributes_query); } else { $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"); } $attributes_values = tep_db_fetch_array($attributes); $sql_data_array = array('orders_id' => $insert_id, 'orders_products_id' => $order_products_id, 'products_options' => $attributes_values['products_options_name'], 'products_options_values' => $attributes_values['products_options_values_name'], 'options_values_price' => $attributes_values['options_values_price'], 'price_prefix' => $attributes_values['price_prefix']); tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array); if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) { $sql_data_array = array('orders_id' => $insert_id, 'orders_products_id' => $order_products_id, 'orders_products_filename' => $attributes_values['products_attributes_filename'], 'download_maxdays' => $attributes_values['products_attributes_maxdays'], 'download_count' => $attributes_values['products_attributes_maxcount']); tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array); } $products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name']; } } //------insert customer choosen option eof ---- $total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']); $total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty']; $total_cost += $total_products_price; $products_ordered .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . $products_ordered_attributes . "\n"; } $order_total_modules->apply_credit();//ICW ADDED FOR CREDIT CLASS SYSTEM // lets start with the email confirmation $email_order = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n"; if ($order->info['comments']) { $email_order .= tep_db_output($order->info['comments']) . "\n\n"; } $email_order .= EMAIL_TEXT_PRODUCTS . "\n" . EMAIL_SEPARATOR . "\n" . $products_ordered . EMAIL_SEPARATOR . "\n"; for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; } if ($order->content_type != 'virtual') { $email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n"; } $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n"; if (is_object($$payment)) { $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n"; $payment_class = $$payment; $email_order .= $payment_class->title . "\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } } tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // send emails to other people if (SEND_EXTRA_ORDER_EMAILS_TO != '') { tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } // load the after_process function from the payment modules $payment_modules->after_process(); $cart->reset(true); // unregister session variables used during checkout tep_session_unregister('sendto'); tep_session_unregister('billto'); tep_session_unregister('shipping'); tep_session_unregister('payment'); tep_session_unregister('comments'); if(tep_session_is_registered('credit_covers')) tep_session_unregister('credit_covers'); $order_total_modules->clear_posts();//ICW ADDED FOR CREDIT CLASS SYSTEM tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> /catalog//includes/modules/payment/paypal/catalog/checkout_process.inc.php: <?php /* $Id: checkout_process.inc.php,v 2.8 2004/09/11 devosc Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com DevosC, Developing open source Code http://www.devosc.com Copyright (c) 2003 osCommerce Copyright (c) 2004 DevosC.com Released under the GNU General Public License */ global $payment_modules, $shipping_modules, $order, $currencies, $cart, $PayPal_osC, $customer_id, $sendto, $billto, $shipping, $payment, $language, $currency, $languages_id, $order_totals; require_once(DIR_WS_INCLUDES . 'modules/payment/paypal/database_tables.inc.php'); if(!class_exists('order_total')) { include_once(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total; $order_totals = $order_total_modules->process(); } $sql_data_array = array('customers_id' => $customer_id, 'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], 'customers_company' => $order->customer['company'], 'customers_street_address' => $order->customer['street_address'], 'customers_suburb' => $order->customer['suburb'], 'customers_city' => $order->customer['city'], 'customers_postcode' => $order->customer['postcode'], 'customers_state' => $order->customer['state'], 'customers_country' => $order->customer['country']['title'], 'customers_telephone' => $order->customer['telephone'], 'customers_email_address' => $order->customer['email_address'], 'customers_address_format_id' => $order->customer['format_id'], 'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 'delivery_company' => $order->delivery['company'], 'delivery_street_address' => $order->delivery['street_address'], 'delivery_suburb' => $order->delivery['suburb'], 'delivery_city' => $order->delivery['city'], 'delivery_postcode' => $order->delivery['postcode'], 'delivery_state' => $order->delivery['state'], 'delivery_country' => $order->delivery['country']['title'], 'delivery_address_format_id' => $order->delivery['format_id'], 'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 'billing_company' => $order->billing['company'], 'billing_street_address' => $order->billing['street_address'], 'billing_suburb' => $order->billing['suburb'], 'billing_city' => $order->billing['city'], 'billing_postcode' => $order->billing['postcode'], 'billing_state' => $order->billing['state'], 'billing_country' => $order->billing['country']['title'], 'billing_address_format_id' => $order->billing['format_id'], 'payment_method' => $this->codeTitle, 'cc_type' => $order->info['cc_type'], 'cc_owner' => $order->info['cc_owner'], 'cc_number' => $order->info['cc_number'], 'cc_expires' => $order->info['cc_expires'], 'orders_status' => MODULE_PAYMENT_PAYPAL_PROCESSING_STATUS_ID, 'last_modified' => 'now()', 'currency' => $order->info['currency'], 'currency_value' => $order->info['currency_value']); $session_exists = false; if(tep_session_is_registered('PayPal_osC')) { $orders_session_query = tep_db_query("select osi.orders_id, o.payment_id from " . TABLE_ORDERS_SESSION_INFO . " osi left join " . TABLE_ORDERS . " o on osi.orders_id = o.orders_id where osi.txn_signature ='" . tep_db_input($PayPal_osC->txn_signature) . "'"); $orders_check = tep_db_fetch_array($orders_session_query); //Now check to see whether order session info exists AND that this order //does not currently have an IPN. if ($orders_check['orders_id'] > 0 && $orders_check['payment_id'] == '0' ) { $session_exists = true; $this->orders_id = $orders_check['orders_id']; } } if($session_exists) { tep_db_perform(TABLE_ORDERS, $sql_data_array, 'update', "orders_id = '" . (int)$this->orders_id . "'"); } else { $sql_data_array['date_purchased'] = 'now()'; tep_db_perform(TABLE_ORDERS, $sql_data_array); $this->orders_id = tep_db_insert_id(); } if($session_exists) { tep_db_query("delete from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$this->orders_id . "'"); } for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $sql_data_array = array('orders_id' => (int)$this->orders_id, 'title' => $order_totals[$i]['title'], 'text' => $order_totals[$i]['text'], 'value' => $order_totals[$i]['value'], 'class' => $order_totals[$i]['code'], 'sort_order' => $order_totals[$i]['sort_order']); tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array); } $sql_data_array = array('orders_status_id' => MODULE_PAYMENT_PAYPAL_PROCESSING_STATUS_ID, 'date_added' => 'now()', 'customer_notified' => 0, 'comments' => $order->info['comments']); if($session_exists) { tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array, 'update', "orders_id = '" . (int)$this->orders_id . "'"); tep_db_query("delete from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$this->orders_id . "'"); tep_db_query("delete from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$this->orders_id . "'"); } else { $sql_data_array['orders_id'] = $this->orders_id; tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); } for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { $sql_data_array = array('orders_id' => (int)$this->orders_id, 'products_id' => tep_get_prid($order->products[$i]['id']), 'products_model' => $order->products[$i]['model'], 'products_name' => $order->products[$i]['name'], 'products_price' => $order->products[$i]['price'], 'final_price' => $order->products[$i]['final_price'], 'products_tax' => $order->products[$i]['tax'], 'products_quantity' => $order->products[$i]['qty']); tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array); $order_products_id = tep_db_insert_id(); //------insert customer choosen option to order-------- $attributes_exist = '0'; if (isset($order->products[$i]['attributes'])) { $attributes_exist = '1'; for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) { if (DOWNLOAD_ENABLED == 'true') { $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad on pa.products_attributes_id=pad.products_attributes_id where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"; $attributes = tep_db_query($attributes_query); } else { $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"); } $attributes_values = tep_db_fetch_array($attributes); $sql_data_array = array('orders_id' => (int)$this->orders_id, 'orders_products_id' => $order_products_id, 'products_options_id' => $order->products[$i]['attributes'][$j]['option_id'], 'products_options' => $attributes_values['products_options_name'], 'products_options_values_id' => $order->products[$i]['attributes'][$j]['value_id'], 'products_options_values' => $attributes_values['products_options_values_name'], 'options_values_price' => $attributes_values['options_values_price'], 'price_prefix' => $attributes_values['price_prefix']); tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array); } } } // store the session info for notification update - gsb $sql_data_array = array('sendto' => $sendto, 'billto' => $billto, 'firstname' => $order->billing['firstname'], 'lastname' => $order->billing['lastname'], 'payment' => $payment, 'payment_title' => $this->codeTitle, 'payment_amount' => $this->grossPaymentAmount($this->currency()), 'payment_currency' => $this->currency(), 'payment_currency_val' => $currencies->get_value($this->currency()), 'language' => $language, 'language_id' => $languages_id, 'currency' => $currency, 'currency_value' => $currencies->get_value($currency), 'content_type' => $order->content_type, 'txn_signature' => $this->setTransactionID()); if($session_exists) { tep_db_perform(TABLE_ORDERS_SESSION_INFO, $sql_data_array, 'update', "orders_id = '" . (int)$this->orders_id . "'"); $PayPal_osC->txn_signature = $this->digest; } else { $sql_data_array['orders_id'] = (int)$this->orders_id; tep_db_perform(TABLE_ORDERS_SESSION_INFO, $sql_data_array); $PayPal_osC = new PayPal_osC($this->orders_id,$this->digest); tep_session_register('PayPal_osC'); } require(DIR_WS_INCLUDES . 'modules/payment/paypal/catalog/checkout_splash.inc.php'); ?>
  25. The contribution suggest that it is needed to disable the "Prevent Spiders Sessions". I prefer to keep it enabled. Does anyobdy know if there is any problem or disadvantage in doing that while using the SEO Sitemap contribution?
×