Guest Posted December 27, 2009 Share Posted December 27, 2009 looks like its in edit_orders.php (5.09b) but not 5.08 So Ill replace the effected files and I should be fine. Thanks for drawing my attention to the right spot. Quote Link to comment Share on other sites More sharing options...
Guest Posted December 28, 2009 Share Posted December 28, 2009 All better. Thnx for the help steve Quote Link to comment Share on other sites More sharing options...
bhbilbao Posted January 3, 2010 Share Posted January 3, 2010 Now all works fine except the emails that receives my customers. Â The billing address is empty , without data. Â Ref: $html_email_order .= " <td width=\"300\" class=\"boxmail\">[b]$VarAddressbill[/b]</td>"; Quote Link to comment Share on other sites More sharing options...
Tessjer Posted February 8, 2010 Share Posted February 8, 2010 Hello....  First i must say this is a great Contri! As like Steelworks we have also a heavily modified shop. I am no pogrammer but more the Copy/Paste/merge and see what happens type :D But now is getting out of my specialty...we have installed this Contri in a shop where Paypal and the dutch Ideal is running. When our clients choose the 'pay by bank transfer' they get the nice HTML Mail...all good....but when they pay with Ideal no mail is going out to my clients :( Could someone look at my checkoutfile if they see can find a error in there pls...  <?php /* $Id: checkout_process.php 1750 2007-12-21 05:20:28Z hpdl $  osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com  Copyright © 2007 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 there is nothing in the customers cart, redirect them to the shopping cart page if ($cart->count_contents() < 1) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); }  // if no shipping method has been selected, redirect the customer to the shipping method selection page if (!tep_session_is_registered('shipping') || !tep_session_is_registered('sendto')) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', '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'); $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;  // Stock Check $any_out_of_stock = false; if (STOCK_CHECK == 'true') { for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { if (tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty'])) { $any_out_of_stock = true; } } // Out of Stock if ( (STOCK_ALLOW_CHECKOUT != 'true') && ($any_out_of_stock == true) ) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); } }  $payment_modules->update_status();  if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL')); }  require(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total;  $order_totals = $order_total_modules->process();  // load the before_process function from the payment modules $payment_modules->before_process(); // IDEAL AANPASSING $do_email = true; if (is_object($$payment)) { $payment_class = $$payment; if ($payment_class->code == 'idealm') { if ((!tep_session_is_registered('trans')) || ($trans != 'success')) $do_email = false; } }  if ((tep_session_is_registered('paymentid')) && ($payment_class->code != 'idealm')) { tep_db_query("UPDATE ".TABLE_IDEAL_PAYMENTS." SET payment_status='".MODULE_PAYMENT_IDEALM_ORDER_CANCELLED_STATUS_ID."', date_last_check=now() WHERE payment_id='" . $paymentid."'"); tep_session_unregister('paymentid'); tep_session_unregister('trans'); }  if (!tep_session_is_registered('paymentid')) { // EINDE IDEAL AANPASSING  $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' => trim($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); }   // IDEAL AANPASSING $customer_notification = '0'; if ($payment_class->code == 'idealm') { if ($do_email) $customer_notification = '1'; } else { $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0'; } // EINDE IDEAL AANPASSING  $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'], 'products_cost' => $order->products[$i]['cost'], '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'; $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 ---- //BEGIN SEND HTML MAIL//  $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"; $products_quantity .= nl2br($order->products[$i]['qty'] . "\n"); $products_name .= nl2br("" . $order->products[$i]['name'] . $products_ordered_attributes ."\n");  if (!tep_not_null($order->products[$i]['model'])) { $products_model .= ''.EMAIL_NO_MODEL.'' ; } else $products_model .= nl2br($order->products[$i]['model'] . "\n");   $products_price .= nl2br($currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty']) . "\n");  }     for ($i=0; $i<sizeof($order_totals); $i++) { $Vartaxe .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; }   if ($order->content_type != 'virtual') { $Varaddress .= tep_address_label($customer_id, $sendto, 0, '', "\n") ; }  if (is_object($$payment)) { $Varmodepay .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n"; $payment_class = $$payment; $Varmodpay .= $payment_class->title . "\n"; if ($payment_class->email_footer) { $Varmodpay .= $payment_class->email_footer . "\n\n"; } }  $Varlogo = ''.VARLOGO.'' ; $Vartable1 = ''.VARTABLE1.'' ; $Vartable2 = ''.VARTABLE2.'' ;  $Vartext1 = ' <b>' . EMAIL_TEXT_DEAR . ' ' . $order->customer['firstname'] . ' ' . $order->customer['lastname'] .' </b><br><br>' . EMAIL_MESSAGE_GREETING ; $Vartext2 = ' ' . EMAIL_TEXT_ORDER_NUMBER . ' <STRONG> ' . $insert_id . '</STRONG><br>' . EMAIL_TEXT_DATE_ORDERED . ' <strong>' . strftime(DATE_FORMAT_LONG) . '</strong><br><a href="' . HTTP_SERVER . DIR_WS_CATALOG . 'account_history_info.php?order_id=' . $insert_id .'">' . EMAIL_TEXT_INVOICE_URL . '</a>' ;  $Varmailfooter = ''.VARMAILFOOTER.'' ; $VarArticles= ''.EMAIL_TEXT_PRODUCTS_ARTICLES.'' ; $VarModele= ''.EMAIL_TEXT_PRODUCTS_MODELE.'' ; $VarQte= ''.EMAIL_TEXT_PRODUCTS_QTY .'' ; $VarTotal= ''.EMAIL_TEXT_TOTAL.'' ; $VarAddresship = ''.EMAIL_TEXT_DELIVERY_ADDRESS.'' ; $VarAddressbill = ''.EMAIL_TEXT_BILLING_ADDRESS.'' ; $Varmetodpaye = ''.EMAIL_TEXT_PAYMENT_METHOD.'' ; $Vardetail = ''.DETAIL .'' ; $Varhttp = ''.VARHTTP.''; $Varstyle = ''.VARSTYLE.''; $Varshipaddress =''.tep_address_format($order->customer['format_id'], $order->customer, 1, '', '<br>').''; $Varadpay =''.tep_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br>').'';  require(DIR_WS_MODULES . 'email/html_checkout_process.php'); $email_order = $html_email_order ;  // IDEAL AANPASSING } if (($do_email) && ($payment_class->code != 'idealm')) { // EINDE IDEAAL AANPASSING  // lets start with the email confirmation if (EMAIL_USE_HTML == 'true') {  $email_order;  } else  {  $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; $i<sizeof($order_totals); $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\n\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } }  $email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" . HTTP_SERVER . DIR_WS_CATALOG . "\n" . EMAIL_TEXT_FOOTERR . "\n" ;  }   tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, nl2br($email_order), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); $email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order);  // send emails to other people if (SEND_EXTRA_ORDER_EMAILS_TO != '') { $email_order = $html_email_order ; if (EMAIL_USE_HTML == 'true') {  $email_order;  } else  {  $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; $i<sizeof($order_totals); $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\n\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } }  $email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" . HTTP_SERVER . DIR_WS_CATALOG . "\n" . EMAIL_TEXT_FOOTERR . "\n" ;  } tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, nl2br($email_order), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); $email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order); }  //END SEND HTML MAIL//  // load the after_process function from the payment modules  // IDEAL AANPASSING } elseif ($do_email) { $orderid = tep_db_query("SELECT order_id FROM " . TABLE_IDEAL_PAYMENTS . " WHERE payment_id='" . $paymentid . "'"); $orderid = tep_db_fetch_array($orderid); $order = new order($orderid['order_id']); $insert_id = $orderid['order_id']; $customer_id = $order->customer['id']; require_once('admin/idealm_email.php'); tep_session_unregister('paymentid'); tep_session_unregister('trans'); }  if ((!$do_email) && ($trans != 'pending')) { $payment_modules->after_process(); // remove items from wishlist if customer purchased them $wishList->clear(); }  // EINDE IDEAL AANPASSING  $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');  /* IDEAAL/IDEAL AANPASSING */ if ((($payment_class->code == 'moneyorder') && (MODULE_PAYMENT_IDEAAL_STATUS != 'True')) && (MODULE_PAYMENT_MONEYORDER_INTERNETBANKING == 'True')) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS_IDEAAL . '?amount=' . $order_totals[$i-1]['value'] . '&ref=' . $insert_id, '', 'SSL')); } elseif ((($payment_class->code == 'idealm')) && (($trans == 'pending') || ($trans == 'success'))) { tep_session_unregister('paymentid'); tep_session_unregister('trans'); tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); } else { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); } /* EINDE IDEAAL/IDEAL AANPASSING */  require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>  THANX JEROEN Quote Link to comment Share on other sites More sharing options...
FSS Posted February 27, 2010 Share Posted February 27, 2010 OK, looks like I did a pretty good job of editing checkout_process. Thanks for your reply steve. My next issue is related to eorder_text. Im getting this error when I try to send a new order confirmation:  1146 - Table 'XXXXXX.eorder_text' doesn't exist  SELECT * FROM eorder_text where eorder_text_id = '1' and language_id = '1'  As far as I can tell, this is related to "email order text" which I dont have installed. I do have "Send Html Email v2" installed which is referred to in the order editor install directions. Maybe im reading the code wrong, but shouldnt eorder_text not come into play if its not installed? Do I have remnants of other contribs interfering? Am I too strung out with this install to make sense of it? I feel like this is a fairly simple install, and im missing something.  Maybe I should start over, its kinda depressing, lol  Hello Zach...can you tell me what you found to overcome these error messages? thanks, Mark Quote Link to comment Share on other sites More sharing options...
Shadow-Lord Posted March 31, 2010 Share Posted March 31, 2010 Hi,  Have 2 problems.  1. After 'The comments for your order are' I am just getting %s, as you can see below.  2. The link for Detailed Invoice, when I do an Order Update it just shows as: http://www.example.c...o.php?order_id= The order id is missing. It is fine for Order Process.   Dear xxxxx xxxxxxxx We would like to notify you that the status of your order has been update. Order Number: 13 Date Ordered:: Wednesday 31 March, 2010 Detailed Invoice: The comments for your order are %s Your order has been updated to the following status. New status: Pending Please reply to this email if you have any questions. This email address was given to us by you or by one of our customers. If you feel that you have received this email in error, please send an email to [email protected] Copyright © 2010 test Quote Link to comment Share on other sites More sharing options...
Django.01 Posted April 28, 2010 Share Posted April 28, 2010 The shipping and billing adresses are swapped in the confirmation email (V2). The values are right (i.e. when I print the bill/label the shipping adress, really is in the shipping address) but they are displayed incorrectly in the confirmation email. This leads to many customers calling in and asking us to switch them back. Where do I change the "headings" around so, that the shipping adress is displayed below the heading "shipping adress"? Â Thank you for help, I have real trouble solving this! Â Hello Philip, I know this is an old post but I'm reading through this thread to find the solution for exactly the same problem I'm heaving. My shipping address and billing address are swapped also in the order confirmation email. In my invoice and packing slip there are no problems. Â Did you find the solution to this problem and do you still remember what it was? It would be a big help. Â Django Quote Link to comment Share on other sites More sharing options...
ismaiel_c Posted May 27, 2010 Share Posted May 27, 2010 Hey Everyone  This is a great contribution but i am having problems with the email not showing the description of the customers order.   This is the Code for the Checkout~_process.php <?php /* $Id: checkout_process.php,v 1.128 2003/05/28 18:00:29 hpdl 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 /* One Page Checkout - BEGIN */ if (ONEPAGE_LOGIN_REQUIRED == 'true'){ 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')); } } /* One Page Checkout - END */ 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) { /* One Page Checkout - BEGIN */ // tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); /* One Page Checkout - END */ } } include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PROCESS); /* One Page Checkout - BEGIN */ if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ require('includes/classes/onepage_checkout.php'); $onePageCheckout = new osC_onePageCheckout(); } /* One Page Checkout - END // load selected payment module require(DIR_WS_CLASSES . 'payment.php'); $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; /* One Page Checkout - BEGIN */ if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ $onePageCheckout->loadSessionVars(); $onePageCheckout->fixTaxes(); /* * This error report is due to the fact that we cannot duplicate some errors. * please forward this email always if you recieve it */ if ($order->customer['email_address'] == '' || $order->customer['firstname'] == '' || $order->billing['firstname'] == '' || $order->delivery['firstname'] == ''){ ob_start(); echo 'ONEPAGE::' . serialize($onepage); echo 'SESSION::' . serialize($_SESSION); echo 'SERVER::' . serialize($_SERVER); echo 'ORDER::' . serialize($order); $content = ob_get_contents(); mail(ONEPAGE_DEBUG_EMAIL_ADDRESS, 'Order Error: Please forward to I.T. Web Experts', $content); unset($content); ob_end_clean(); } } /* One Page Checkout - END */ // load the after_process function from the payment modules $cart->reset(true); /* One Page Checkout - BEGIN */ if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ $onepage['info']['order_id'] = $insert_id; } /* One Page Checkout - END */ 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'], 'shipping_module' => $shipping['id'], '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(); //------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 ---- //BEGIN SEND HTML MAIL// $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"; $products_quantity .= nl2br($order->products[$i]['qty'] . "\n"); $products_name .= nl2br("" . $order->products[$i]['name'] . $products_ordered_attributes ."\n"); if (!tep_not_null($order->products[$i]['model'])) { $products_model .= ''.EMAIL_NO_MODEL.'' ; } else $products_model .= nl2br($order->products[$i]['model'] . "\n"); $products_price .= nl2br($currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty']) . "\n"); } for ($i=0; $i<sizeof($order_totals); $i++) { $Vartaxe .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; } if ($order->content_type != 'virtual') { $Varaddress .= tep_address_label($customer_id, $sendto, 0, '', "\n") ; } if (is_object($$payment)) { $Varmodepay .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n"; $payment_class = $$payment; $Varmodpay .= $payment_class->title . "\n"; if ($payment_class->email_footer) { $Varmodpay .= $payment_class->email_footer . "\n\n"; } } $Varlogo = ''.VARLOGO.'' ; $Vartable1 = ''.VARTABLE1.'' ; $Vartable2 = ''.VARTABLE2.'' ; $Vartext1 = ' <b>' . EMAIL_TEXT_DEAR . ' ' . $order->customer['firstname'] . ' ' . $order->customer['lastname'] .' </b><br>' . EMAIL_MESSAGE_GREETING ; $Vartext2 = ' ' . EMAIL_TEXT_ORDER_NUMBER . ' <STRONG> ' . $insert_id . '</STRONG><br>' . EMAIL_TEXT_DATE_ORDERED . ': <strong>' . strftime(DATE_FORMAT_LONG) . '</strong><br><a href="' . HTTP_SERVER . DIR_WS_CATALOG . 'account_history_info.php?order_id=' . $insert_id .'">' . EMAIL_TEXT_INVOICE_URL . '</a>' ; $Varmailfooter = ''.VARMAILFOOTER.'' ; $VarArticles= ''.EMAIL_TEXT_PRODUCTS_ARTICLES.'' ; $VarModele= ''.EMAIL_TEXT_PRODUCTS_MODELE.'' ; $VarQte= ''.EMAIL_TEXT_PRODUCTS_QTY .'' ; $VarTotal= ''.EMAIL_TEXT_TOTAL.'' ; $VarAddresship = ''.EMAIL_TEXT_DELIVERY_ADDRESS.'' ; $VarAddressbill = ''.EMAIL_TEXT_BILLING_ADDRESS.'' ; $Varmetodpaye = ''.EMAIL_TEXT_PAYMENT_METHOD.'' ; $Vardetail = ''.DETAIL .'' ; $Varhttp = ''.VARHTTP.''; $Varstyle = ''.VARSTYLE.''; $Varshipaddress =''.tep_address_format($order->customer['format_id'], $order->customer, 1, '', '<br>').''; $Varadpay =''.tep_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br>').''; require(DIR_WS_MODULES . 'email/html_checkout_process.php'); $email_order = $html_email_order ; // lets start with the email confirmation if (EMAIL_USE_HTML == 'true') { $email_order; } else { $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; $i<sizeof($order_totals); $i++) { $email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; } /* 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 */ 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\n\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } } $email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" . HTTP_SERVER . DIR_WS_CATALOG . "\n" . EMAIL_TEXT_FOOTERR . "\n" ; } tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, nl2br($email_order), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); $email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order); // send emails to other people if (SEND_EXTRA_ORDER_EMAILS_TO != '') { $email_order = $html_email_order ; if (EMAIL_USE_HTML == 'true') { $email_order; } else { $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; $i<sizeof($order_totals); $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\n\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } } $email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" . HTTP_SERVER . DIR_WS_CATALOG . "\n" . EMAIL_TEXT_FOOTERR . "\n" ; } tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, nl2br($email_order), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); $email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order); } //END SEND HTML MAIL// // load the after_process function from the payment modules $cart->reset(true); /* One Page Checkout - BEGIN */ if (ONEPAGE_CHECKOUT_ENABLED == 'True'){ $onepage['info']['order_id'] = $insert_id; } /* One Page Checkout - END */ // 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'); tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Quote Link to comment Share on other sites More sharing options...
ismaiel_c Posted May 31, 2010 Share Posted May 31, 2010 HELLO IS THEIR ANYONE HERE. I NEED HELP WITH MY WEBSITE Quote Link to comment Share on other sites More sharing options...
ismaiel_c Posted June 13, 2010 Share Posted June 13, 2010 Hi  I have a problem were the product description for the email is not showing up i have installed the contribution a few item to see if that was the problem.  I have also installed an old version to.  Quote Link to comment Share on other sites More sharing options...
Peper Posted September 17, 2010 Share Posted September 17, 2010 After hours of trying to figure this out.. I need some advice  My e-mails from shop comes back as follows VARHTTP VARSTYLE VARTABLE1 VARLOGO  VARTABLE2 EMAIL_TEXT_DEAR Xxxxx Xxxxxxx EMAIL_MESSAGE_GREETING  Order Number: Date Ordered:: Thursday 16 September, 2010 Detailed Invoice: (link for pdf invoice)  EMAIL_TEXT_COMMENTS_UPDATE_HTML  Thank you so much for your order with us!  The status of your order has been updated.  New status:  VARMAILFOOTER   It would appear to be a simple define text problem but I cannot seem to find the solution to the problem My shop is modified a lot Quote Getting the Phoenix off the ground Link to comment Share on other sites More sharing options...
Peper Posted September 17, 2010 Share Posted September 17, 2010 Forget about the previous post - now working somehow - edited edit_orders.php file and added the defines  Now I get an all color full e-mail but is missing the order id and updated status set at admin edit orders  Any help Quote Getting the Phoenix off the ground Link to comment Share on other sites More sharing options...
dartecha Posted September 23, 2010 Share Posted September 23, 2010 Hello, I have installed this module sucessfully and it is working well, I'd like to thank to developers for putting it together. What I'd like help with is the layout of the email sent too customers. I've had a bit of a play and have managed to modify a few things however I'm not a coding expert and I'm starting to go round the bend trying to nut it out. I have included this image that explains what I am trying to do. Can someone help please? Cheers Chad Quote Link to comment Share on other sites More sharing options...
longhorn1999 Posted September 23, 2010 Share Posted September 23, 2010 Hello, I have installed this module sucessfully and it is working well, I'd like to thank to developers for putting it together. What I'd like help with is the layout of the email sent too customers. I've had a bit of a play and have managed to modify a few things however I'm not a coding expert and I'm starting to go round the bend trying to nut it out. I have included this image that explains what I am trying to do. Can someone help please? Cheers Chad  I don't know about the first 2 questions, but to eliminate the extra spaces in the address, there's a file in the contribution called address_optimization.txt.  The order mail in this great contribution did not display the payment address with me. The address format was not to my liking. It looked like: --------------------- Firstname Lastname Streetname 0 Postalcode Country --------------------- With this little mod it now looks like: --------------------- Firstname Lastname Streetname 0 Postalcode Country --------------------- --------------------- To change it open catalog/checkout_process.php Find: $Varshipaddress =''.tep_address_label($customer_id, $sendto).''; Change to: $Varshipaddress =''.tep_address_format($order->customer['format_id'], $order->customer, 1, '', '<br>').''; $Varadpay =''.tep_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br>').''; (if you allready have $Varadpay defined, delete it) --------------------- Many thanks to the makers of this great contribution!!  This worked for me... Quote Link to comment Share on other sites More sharing options...
Lucypher Posted November 1, 2010 Share Posted November 1, 2010 I'm trying to follow the steps for "row mod"  First, I can not get the stylesheet affects the email sent, I'd like to put it to my taste totally, but could be worth so  But when I do, I lose the font face  Does anyone know why?   Modifications made in the /includes/modules/email/html_checkout_process_php find (line 43-48) $html_email_order .= " <tr> "; $html_email_order .= " <td width=\"300\" valign=\"top\" align=\"left\" class=\"boxmailgris\">$products_name</td>"; $html_email_order .= " <td width=\"160\" valign=\"top\" align=\"left\" class=\"boxmailgris\">$products_model</td>"; $html_email_order .= " <td width=\"40\" valign=\"top\" align=\"center\" class=\"boxmailgris\">$products_quantity</td>"; $html_email_order .= " <td width=\"100\" valign=\"top\" align=\"right\" class=\"boxmailgris\">$products_price</td>"; $html_email_order .= " </tr>"; _____________________ replace with $m=0; foreach ($orderarray as $Orderpos){ $modmodel = $Orderpos['Model']; $modpart = $Orderpos['Modelnr']; $modqty = $Orderpos['Qty']; $modtotal = $Orderpos['Price']; $html_email_order .= " <tr><td width=\"300\" valign=\"top\" align=\"left\" class=\"boxmailgris".$m."\">$modmodel</td>"; $html_email_order .= " <td width=\"160\" valign=\"top\" align=\"left\" class=\"boxmailgris".$m."\">$modpart</td>"; $html_email_order .= " <td width=\"40\" valign=\"top\" align=\"center\" class=\"boxmailgris".$m."\">$modqty</td>"; $html_email_order .= " <td width=\"100\" valign=\"top\" align=\"right\" class=\"boxmailgris".$m."\">$modtotal</td></tr>"; $m = $m+1; if ($m == 2)$m=0; };  Thanks Quote Link to comment Share on other sites More sharing options...
Lucypher Posted November 1, 2010 Share Posted November 1, 2010 I'm trying to follow the steps for "row mod"  First, I can not get the stylesheet affects the email sent, I'd like to put it to my taste totally, but could be worth so  But when I do, I lose the font face  Does anyone know why?   Modifications made in the /includes/modules/email/html_checkout_process_php find (line 43-48) $html_email_order .= " <tr> "; $html_email_order .= " <td width=\"300\" valign=\"top\" align=\"left\" class=\"boxmailgris\">$products_name</td>"; $html_email_order .= " <td width=\"160\" valign=\"top\" align=\"left\" class=\"boxmailgris\">$products_model</td>"; $html_email_order .= " <td width=\"40\" valign=\"top\" align=\"center\" class=\"boxmailgris\">$products_quantity</td>"; $html_email_order .= " <td width=\"100\" valign=\"top\" align=\"right\" class=\"boxmailgris\">$products_price</td>"; $html_email_order .= " </tr>"; _____________________ replace with $m=0; foreach ($orderarray as $Orderpos){ $modmodel = $Orderpos['Model']; $modpart = $Orderpos['Modelnr']; $modqty = $Orderpos['Qty']; $modtotal = $Orderpos['Price']; $html_email_order .= " <tr><td width=\"300\" valign=\"top\" align=\"left\" class=\"boxmailgris".$m."\">$modmodel</td>"; $html_email_order .= " <td width=\"160\" valign=\"top\" align=\"left\" class=\"boxmailgris".$m."\">$modpart</td>"; $html_email_order .= " <td width=\"40\" valign=\"top\" align=\"center\" class=\"boxmailgris".$m."\">$modqty</td>"; $html_email_order .= " <td width=\"100\" valign=\"top\" align=\"right\" class=\"boxmailgris".$m."\">$modtotal</td></tr>"; $m = $m+1; if ($m == 2)$m=0; };  Thanks  I have to say that the mistake was mine, not the contribution.  I was looking at the results in the preview emails without opening the email in full, so do not refresh properly.  After opening the email completely, perfectly showed the changes made, as well as the style sheet, which previously seemed to not work Quote Link to comment Share on other sites More sharing options...
Zachary Posted November 30, 2010 Share Posted November 30, 2010 (edited) The instructions state:  In: catalog/includes/languages/english/create_account.php Put this before ?>  blah blah blah blah blah blah blah blah blah blah blah blah define('EMAIL_TEXT_FOOTER', ''); //Footer Text blah blah blah blah blah blah   My changed the code to:  define('EMAIL_TEXT_FOOTER', 'The information contained in this message is confidential and intended solely for the use of the individual or entity named. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution, copying or unauthorized use of this communication is strictly prohibited. If you have received this by error, please notify the sender immediately.'); //Footer Text  This appears in the welcome email. I would like to add this to the order and order update emails as well. How would I do this? Edited November 30, 2010 by Zachary Quote Link to comment Share on other sites More sharing options...
Guest Posted April 18, 2011 Share Posted April 18, 2011 Hi, Â I'm installed the last contributions of send_order_html_email_v1 (24. jul 2008). Everything work perfect, only the order status updates won't work. I receive mesage like this on picture: Â Â The part of ../catalog/admin/orders.php with html code is: Â Â //BEGIN SEND HTML MAIL// //Prepare variables for html email// $Varlogo = ''.VARLOGO.'' ; $Vartable1 = ''.VARTABLE1.'' ; $Vartable2 = ''.VARTABLE2.'' ; $Vartext1 = ' <b>' . EMAIL_TEXT_DEAR . ' ' . $check_status['customers_name'] .' </b><br>' . EMAIL_MESSAGE_GREETING ; $Vartext2 = ' ' . EMAIL_TEXT_ORDER_NUMBER . ' <STRONG> ' . $oID . '</STRONG><br>' . EMAIL_TEXT_DATE_ORDERED . ': <strong>' . strftime(DATE_FORMAT_LONG) . '</strong><br><a href="' . HTTP_SERVER . DIR_WS_CATALOG . 'account_history_info.php?order_id=' . $insert_id .'">' . EMAIL_TEXT_INVOICE_URL . '</a>' ; $Varbody = EMAIL_TEXT_COMMENTS_UPDATE . ' ' . $comments . "\n\n" . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]); $Varmailfooter = ''.VARMAILFOOTER.'' ; $Varhttp = ''.VARHTTP.''; $Varstyle = ''.VARSTYLE.''; //Check if HTML emails is set to true if (EMAIL_USE_HTML == 'true') { //Prepare HTML email require(DIR_WS_MODULES . 'email/html_orders.php'); $email = $html_email_orders; } else { //Send text email $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_COMMENTS_UPDATE . ' ' . $comments . "\n\n" . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]); } //END SEND HTML MAIL// Â Â Any sugestion about this? Â Thanks! Quote Link to comment Share on other sites More sharing options...
Guest Posted April 19, 2011 Share Posted April 19, 2011 Problem solved!  i've just add:  define('VARHTTP', '<base href="' . HTTP_SERVER . DIR_WS_CATALOG . '">'); //Do not change define('VARMAILFOOTER', '' . EMAIL_TEXT_FOOTER . '<a href="mailto:' . STORE_OWNER_EMAIL_ADDRESS . '">' . STORE_OWNER_EMAIL_ADDRESS . '</a><br>' . EMAIL_TEXT_COPYRIGHT . '<a href="' . HTTP_SERVER . DIR_WS_CATALOG . '">'. STORE_NAME .'</a> '); //footer  into the catalog\admin\includes\languages\english\orders.php Quote Link to comment Share on other sites More sharing options...
Zachary Posted July 14, 2011 Share Posted July 14, 2011 The instructions state:  In: catalog/includes/languages/english/create_account.php Put this before ?>  blah blah blah blah blah blah blah blah blah blah blah blah define('EMAIL_TEXT_FOOTER', ''); //Footer Text blah blah blah blah blah blah   My changed the code to:  define('EMAIL_TEXT_FOOTER', 'The information contained in this message is confidential and intended solely for the use of the individual or entity named. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that any dissemination, distribution, copying or unauthorized use of this communication is strictly prohibited. If you have received this by error, please notify the sender immediately.'); //Footer Text  This appears in the welcome email. I would like to add this to the order and order update emails as well. How would I do this?   Still looking for an answer to this. But in looking at all the code for the email I noticed that there are 2 different calls for footer. 1. one call is for EMAIL_TEXT_FOOTER, the 2. another call is for EMAIL_TEXT_FOOTERR. Also in the coding I see $Varmailfooter and then a call for $Varmailfooter2. But $Varmailfooter2 is not defined anywhere.  Just trying to understand the code. Is the above codes the same thing or should I define the footerr and varmailfooter2 as something. Would these pieces of code be used to add the text I want to the order and update order emails. 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.