Jump to content


Corporate Sponsors


Latest News: (loading..)

* * * * * 3 votes

Email issues


162 replies to this topic

#61 Petre

  • Community Member
  • 61 posts
  • Real Name:P.N.

Posted 28 October 2009, 13:33

View Postmultimixer, on 15 July 2009, 04:36, said:

If you want to disable the email send to a customer when he makes an order (order confirmation email) then the admin/orders.php is the WRONG place to do it.

The mail is getting generated in checkout_process.php

Find the line
tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

And comment t out with //
Hi multimixer,
I've commented out the line in the catalog/checkout_process.php file, but I'm still getting two emails with the subject "Order Process" (one sent to the store owner and the other one to the customer). The "Order Process" email needs to be sent to the store owner only. Are there other files that need to be modified so that only the store owner receives the "Order Process" email? Thanks in advance.

#62 johnnybebad

  • Community Member
  • 672 posts
  • Real Name:Johnny

Posted 31 October 2009, 17:18

View Postjohnnybebad, on 27 October 2009, 21:20, said:

Hi,
Just what I was looking for, however I do have a small problem, the name didnt show in the email, but everything else did.

Any ideas, I have uhtml emails installed.

Thanks


I am struggling with this the name is not showing on the emails but everything else is.

Note the uhtml email only sent to customer, the new order details are sent to the store admin/ other email.

Now having played around I am guessing the reason is to do with how the name variable is handled but dont know how to ressolve it.

heres my checkout_process.php code

<?php
/*
  $Id: checkout_process.php 1750 2007-12-21 05:20:28Z hpdl $
  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com
  Copyright (c) 2007 osCommerce
  Released under the GNU General Public License
*/
  include('includes/application_top.php');
//print "<pre>";print_r($_SESSION);exit;

// if the customer is not logged on, redirect them to the login page
  if (!tep_session_is_registered('customer_id') && !tep_session_is_registered('createAccount')) {
    $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');
  // Line Added - MOD: CREDIT CLASS Gift Voucher Contribution
  $payment_method = $payment;
  if ($credit_covers) $payment='';

  $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'){
      require('includes/classes/onepage_checkout.php');
      $onePageCheckout = new osC_onePageCheckout();
  }
/* One Page Checkout - END */ 
/* One Page Checkout - BEGIN */
  if (ONEPAGE_CHECKOUT_ENABLED == 'True'){
      $onePageCheckout->loadSessionVars('process');
  }
/* One Page Checkout - END */

//print_r($_POST);exit;
if (@$_POST["cot_gv"]=="on")
{
	$credit_covers=$cot_gv=1;
	tep_session_register("credit_covers");
	tep_session_register("cot_gv");
}

  require(DIR_WS_CLASSES . 'order_total.php');
  $order_total_modules = new order_total;



        $order_totals = $temp=$order_total_modules->process();
//print($order_total_modules->output());exit;
        $temp=$temp[count($temp)-1];
        $temp=$temp['value'];
        $total = $ot_gv->get_order_total();

        $gv_query = tep_db_query("select amount from " . TABLE_COUPON_GV_CUSTOMER . " where customer_id = '" . $customer_id . "'");
        $gv_result = tep_db_fetch_array($gv_query);
	if ($total>0 && $payment_method == "cot_gv")
	{
	    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
	}

// 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 ($payment_method!="cot_gv")
{
  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'));
  }
}
//  $order_totals = $order_total_modules->process();
// load the before_process function from the payment modules
  $payment_modules->before_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' => 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'], 
                          '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();
/*// {{ buySAFE Module
  $buysafe_cart_id = MODULE_BUYSAFE_BUYSAFE_CART_PREFIX . '-' . tep_session_id() . (tep_count_customer_orders()-1);
  $checkout_params = array('WantsBond' => ($WantsBond ? $WantsBond : 'false'), 'orders_id' => $insert_id, 'buysafe_cart_id' => $buysafe_cart_id);
  $checkout_result = $buysafe_module->call_api('SetShoppingCartCheckout', $checkout_params);
  if (is_array($checkout_result) && $checkout_result['IsBuySafeEnabled'] == 'true')
  {
    $update_data_array = array('buysafe_cart_id' => $buysafe_cart_id,
                               'buysafe_client_ip' => tep_get_ip_address(),
                               'buysafe_session_id' => tep_session_id());
    tep_db_perform(TABLE_ORDERS, $update_data_array, 'update', "orders_id = '" . (int)$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);
// enter info into coupons table
  if (tep_session_is_registered('coupon_id')) {
      $sql_data_array = array('coupon_id' => $coupon_id,
                              'customer_id' => $customer_id,
                              'order_id' => $insert_id,
                              'redeem_date' => 'now()');
      tep_db_perform(TABLE_COUPONS_TO_CUSTOMER, $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();
    
// Start - CREDIT CLASS Gift Voucher Contribution
// CCGV 5.19 Fix for GV Queue with Paypal IPN
  $order_total_modules->update_credit_account($i,$insert_id);
// End - CREDIT CLASS Gift Voucher Contribution

//------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";
  }
  
// Line Added - MOD: CREDIT CLASS Gift Voucher Contribution
  $order_total_modules->apply_credit();

// lets start with the email confirmation
//---  Beginning of addition: Ultimate HTML Emails  ---//
if (EMAIL_USE_HTML == 'true') {
//	$order = new order($insert_id);
	require(DIR_WS_MODULES . 'UHtmlEmails/'. ULTIMATE_HTML_EMAIL_LAYOUT .'/checkout_process.php');
	$email_order = $html_email;
}else{//Send text email
//---  End of addition: Ultimate HTML Emails  ---//
  $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";
  }
/* 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" .
                    $sendToFormatted . "\n";
  }
  $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .
                  EMAIL_SEPARATOR . "\n" .
                  $billToFormatted . "\n";
  if (is_object($$payment)) {
    $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . 
                    EMAIL_SEPARATOR . "\n";
    $payment_class = $$payment;
    $email_order .= $order->info['payment_method'] . "\n\n";
    if ($payment_class->email_footer) { 
      $email_order .= $payment_class->email_footer . "\n\n";
    }
  }
//---  Beginning of addition: Ultimate HTML Emails  ---//
}
if(ULTIMATE_HTML_EMAIL_DEVELOPMENT_MODE === 'true'){
	//Save the contents of the generated html email to the harddrive in .htm file. This can be practical when developing a new layout.
	$TheFileName = 'Last_mail_from_checkout_process.php.htm';
	$TheFileHandle = fopen($TheFileName, 'w') or die("can't open error log file");
	fwrite($TheFileHandle, $email_order);
	fclose($TheFileHandle);
}


//---  End of addition: Ultimate HTML Emails  ---/
  // BEGIN added for pdfinvoice email attachment:
    if (PDF_INVOICE_EMAIL_ATTACHMENT == 'true' && $customer_id && $customer_id!="temp_user") {
        // customers will be logged in so usual security checks of pdfinvoice.php will be met. All we do is set the order_id for pdfinvoice.php to pick up
        $HTTP_GET_VARS['order_id'] = $insert_id;
        // set stream mode
        $stream = true;
        // include pdfinvoice.php
//print "<pre>";print_r($_SESSION);exit;
        include_once(FILENAME_CUSTOMER_PDF);
        // add text to email informing customer a pdf invoice copy has been attached:
        $email_order .= PDF_INVOICE_ATTACHED ."\n\n";
        // send email with pdf invoice attached. Check to make sure pdfinvoice.php returns some data, else send standard email
        // note $order object reinstantiated by inclusion of pdfinvoice.php hence customer['name']
        if (tep_not_null($pdf_data)) {
            tep_mail_string_attachment($order->customer['name'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $pdf_data, $file_name);
        } else {
            tep_mail($order->customer['name'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
        }
    } else {
        // send vanilla e-mail - if email attachment option is false
        tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
    }



    // END added for pdfinvoice email attachment:
    // send emails to other people
  // BOF Multimixer 25.6.2009. send emails to other people

  $email_store .= STORE_NAME . "\n" . 
                                  EMAIL_TEXT_STORE_INTRO . "\n" . 
                                  EMAIL_SEPARATOR . "\n" . 
                                  EMAIL_TEXT_STORE_CUSTOMER . ' ' . $order->customer['firstname'] . ' ' . $order->customer['lastname'] . "\n".
                                  EMAIL_TEXT_CUSTOMER_ID . ' ' . $customer_id . "\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";
                                 
  $email_store .= EMAIL_TEXT_PRODUCTS . "\n" . 
                                  EMAIL_SEPARATOR . "\n" . 
                                  $products_ordered . 
                                  EMAIL_SEPARATOR . "\n";

  for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
        $email_store .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n";
  }

  if ($order->content_type != 'virtual') {
        $email_store .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . 
                                        EMAIL_SEPARATOR . "\n" .
                                        tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n";
  }
  
  $email_store .= EMAIL_TEXT_CUSTOMER_TELEPHONE . ' ' . $order->customer['telephone'] . "\n";
  $email_store .= EMAIL_TEXT_CUSTOMER_MAIL . ' ' . $order->customer['email_address']. "\n\n";
  

  $email_store .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .
                                  EMAIL_SEPARATOR . "\n" .
                                  tep_address_label($customer_id, $billto, 0, '', "\n") . "\n";
  
  $email_store .= EMAIL_TEXT_CUSTOMER_TELEPHONE . ' ' . $order->customer['telephone'] . "\n";
  $email_store .= EMAIL_TEXT_CUSTOMER_MAIL . ' ' . $order->customer['email_address']. "\n\n";
  
  if (is_object($$payment)) {
        $email_store .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . 
                                        EMAIL_SEPARATOR . "\n";
        $payment_class = $$payment;
        $email_store .= $order->info['payment_method'] . "\n\n";
        if ($payment_class->email_footer) { 
          $email_store .= $payment_class->email_footer . "\n\n";
        }
  }
  if ($order->info['comments']) {
        $email_store .= EMAIL_TEXT_CUSTOMERS_COMMENT . "\n".
                                        EMAIL_SEPARATOR . "\n".
                                        tep_db_output($order->info['comments']) . "\n\n";
  }



  if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
        tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_STORE_SUBJECT, $email_store, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
  }
  
  //EOF
// Include OSC-AFFILIATE 
  require(DIR_WS_INCLUDES . 'affiliate_checkout_process.php');
// load the after_process function from the payment modules
  $payment_modules->after_process();
// remove items from wishlist if customer purchased them
  $wishList->clear();
$cart->reset(true);
/* One Page Checkout - BEGIN */
  if (ONEPAGE_CHECKOUT_ENABLED == 'True'){
      $_SESSION['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');
 
// Start - CREDIT CLASS Gift Voucher Contribution
  if(tep_session_is_registered('credit_covers')) tep_session_unregister('credit_covers');
  $order_total_modules->clear_posts();
// End - CREDIT CLASS Gift Voucher Contribution
/* 
// {{ buySAFE Module
  tep_session_unregister('WantsBond');
// }}
// unregister any coupons
  tep_session_unregister('coupon_code');
  tep_session_unregister('coupon_amount');
  tep_session_unregister('coupon_type');
  tep_session_unregister('coupon_id');
  */
  tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));
  require(DIR_WS_INCLUDES . 'application_bottom.php');
?>

Getting better with mods but no programmer am I.

#63 wired

  • Community Member
  • 2 posts
  • Real Name:Zattera

Posted 02 November 2009, 23:30

Hello, I'm new to osCommerce and php.

I just wanna know how to add separate extra line in the email Order Process such as Bank Account Number, Store Owner Name etc (i have to use offline payment method for my store). I've already tried <p> </br> in /includes/languages/english/checkout_process.php but it doesn't work. Extra text got wrap up.

Great addons btw.

Edited by wired, 02 November 2009, 23:39.


#64 elmatt

  • Community Member
  • 3 posts
  • Real Name:Mateus Belluzzo

Posted 09 November 2009, 14:00

Hi Sirs,

I'm from Brazil and I've a problem in the sent mails with UTHML, the are comming all messy like uncorrect charset configuration, but the charset configuration its OK and the "Use MIME HTML When Sending Emails" option is true, so the problem must be another one.

Here is an example of mail through "Tell a Friend" function:

[indent]
--=_bbcce45d8fab9a73f0595d1101afeb8b Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: 7bit
Hello João da Silva!Mateus Belluzzo think you will like of this product of MY SITE.Comments:Muito bonito! To see the product just
click in the link bellow or copy and paste in your web navegator:http://www.mysite.com.br/loja/product_info.php?products_id=230
Att,MY SITEhttp://www.mysite.com.br --=_bbcce45d8fab9a73f0595d1101afeb8b Content-Type: text/html; charset="iso-8859-1" Content-
Transfer-Encoding: quoted-printable 
Hello&= aacute; Jo=E3o da Silva!
Mateus Belluzzo think you will lik= e of this product of MY SITE.


Comme= nts:
Muito Boni=T3o!

To see the product just click in the li= nk bellow or copy and paste in your web navegator:
http://www.my= site.com.br/loja/product_info.php?products_id=3D230

A= tt,
MY SITE
http://www.my= site.com.br
--=_bbcce45d8fab9a73f0595d1101afeb8b-- 
[/indent]


Can someone help me with this please?

Thanks and kindly regards,

Mateus Belluzzo
Brazil

#65 aucadior

  • Community Member
  • 3 posts
  • Real Name:M. Armand

Posted 17 November 2009, 14:28

Hi! i have installed onepage and everythings works well, but yesterday the 12th customer who checkout get a error when he attemps to enter his email address, here the message that he got: there was a error checking email address,please inform it web expert about this error.
it also appear that when they try to enter their address or zip^code they also get error message like : there was a error updating your billing address,please inform it web expert about this error. now the one page contribution doesn't work anymore! Can someone help? who have this error before!

#66 cszita

  • Community Member
  • 37 posts
  • Real Name:Christian Szita
  • Location:Santiago/Chile

Posted 21 November 2009, 05:03

Hi

I need to add extra imput fields to the contact_us.php, I did as you instructed adding the phone field to the page.
When I receive the form in my email there is no phone entry at all, just plain'old name, email and inquiry (body) message.. but the phone field doesn't get captured by the script..

Could you tell me what's wrong? I grabbed the standard contact_us page, no modifications, and then inserted your code. Customer can fill the field in but I dont see it when I get the email.

Thanks!

#67 multimixer

  • Community Sponsor
  • 3,437 posts
  • Real Name:George Zarkadas
  • Gender:Male
  • Location:Greece

Posted 21 November 2009, 05:23

Can you post your file?

#68 cszita

  • Community Member
  • 37 posts
  • Real Name:Christian Szita
  • Location:Santiago/Chile

Posted 22 November 2009, 20:18

View Postmultimixer, on 21 November 2009, 05:23, said:

Can you post your file?

I´m sorry, I have uploaded the wrong file: For testing purposes, I created a modified contact_us2.php without fist deleting the original, causing the non-altered script to do the work (form action was using the old one). Now that I'm using your modified script it all works like a charm.

Thanks!

Edited by cszita, 22 November 2009, 20:20.


#69 all-bijoux

  • Community Member
  • 1 posts
  • Real Name:Stefan Buzoianu

Posted 01 December 2009, 14:29

I had the same problems like your ... a new customer don't receive the welcome email but I can send emails from the send email page in tools. I modified some variables on my WHM but nothing happens. So, I decided to use smtp like a E-Mail Transport Method on my Configuration -> E-mail Options and now I receive all necessary emails.
My server config infos:
HTTP Server: Apache/2.2.10 (Unix) mod_ssl/2.2.10 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.6
PHP Version: 5.2.6 (Zend: 2.2.0)
MySQL 5.0.81-community
My site is:www.all-bijoux.ro

Edited by Jan Zonjee, 06 March 2010, 12:05.


#70 2johnsons

  • Community Member
  • 189 posts
  • Real Name:Vaughn Johnson

Posted 10 December 2009, 01:51

View Postmultimixer, on 21 November 2009, 05:23, said:

Can you post your file?

My customers as well as myself are not receiving emails indicating what they ordered/confirmation of the order. It was working at one time but now it's not.
Can you help me out with this.

#71 kpenn

  • Community Member
  • 9 posts
  • Real Name:Kyle

Posted 10 December 2009, 10:47

EXTRA ORDER EMAIL ISSUE – wondering if you could help me out

http://forums.oscommerce.com/topic/350349-php-or-server-issue/

If you want me to post here I will.

#72 nhtsystems

  • Community Member
  • 1 posts
  • Real Name:Vulpe Valentin

Posted 31 January 2010, 12:01

hello all

how can i configure email register confirmation to send username and his password on registration......


on create_account.php i have this...

define('EMAIL_SUBJECT', 'welcome to' . STORE_NAME);
define('EMAIL_GREET_MR', 'Dl. %s,' . "\n\n");
define('EMAIL_GREET_MS', 'Dna. %s,' . "\n\n");
define('EMAIL_GREET_NONE', 'Dear %s' . "\n\n");
define('EMAIL_WELCOME', 'We welcome you to <b>' . STORE_NAME . '</b>.' . "\n\n");
define('EMAIL_TEXT', 'You can now take part in the <b>various services</b> we have to offer you. Some of these services include:' . "\n\n" . '<li><b>Permanent Cart</b> - Any products added to your online cart remain there until you remove them, or check them out.' . "\n" . '<li><b>Address Book</b> - We can now deliver your products to another address other than yours! This is perfect to send birthday gifts direct to the birthday-person themselves.' . "\n" . '<li><b>Order History</b> - View your history of purchases that you have made with us.' . "\n" . '<li><b>Products Reviews</b> - Share your opinions on products with our other customers.' . "\n\n");
define('EMAIL_CONTACT', 'For help with any of our online services, please email the store-owner: ' . STORE_OWNER_EMAIL_ADDRESS . '.' . "\n\n");
define('EMAIL_WARNING', '<b>Note:</b> This email address was given to us by one of our customers. If you did not signup to be a member, please send an email to ' . STORE_OWNER_EMAIL_ADDRESS . '.' . "\n");
?>


but i want that user recive his password at least something like your login is: username: his email password: his password

#73 multimixer

  • Community Sponsor
  • 3,437 posts
  • Real Name:George Zarkadas
  • Gender:Male
  • Location:Greece

Posted 02 February 2010, 08:38

View Postnhtsystems, on 31 January 2010, 12:01, said:

how can i configure email register confirmation to send username and his password on registration......

Thats not hard to do since all necessary info exist already, you need just to put it into the email. You have already $password (thats obviously the customers password) and $email_address (customers email)

1) open file catalog/create_account.php

I would put the additional info it in that way into $email_text
      $email_text .= EMAIL_WELCOME . EMAIL_TEXT_LOGIN . ' ' . $email_address .  "\r\n" . EMAIL_TEXT_PASSWORD . ' ' . $password .  "\r\n\n" . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING;

If you have made the changes to receive an email too when the customer register (as described here) and you want to receive customers password too then you change the $owners_text as follows
	  $owners_text = EMAIL_TEXT_OWNER_INFO . "\r\n\n" .EMAIL_TEXT_CUSTOMER_NAME . ' ' . $name . "\r\n" . EMAIL_TEXT_CUSTOMER_EMAIL . ' ' .  $email_address . "\r\n" . EMAIL_TEXT_CUSTOMER_PHONE . ' ' . $telephone . "\r\n" . EMAIL_TEXT_CUSTOMER_ADDRESS . ' ' . $street_address . "\r\n" . EMAIL_TEXT_CUSTOMER_CITY . ' ' . $city . "\r\n" . EMAIL_TEXT_CUSTOMER_STATE . ' ' . $state . "\r\n" . EMAIL_TEXT_CUSTOMER_COUNTRY . ' ' . $country . "\r\n" . EMAIL_TEXT_PASSWORD . ' ' . $password;

2) Open file catalog/includes/languages/yourlanguage/create account.php

Add 2 more language definitions as follows
define('EMAIL_TEXT_LOGIN', 'Your username is:');
define('EMAIL_TEXT_PASSWORD', 'Your password is:');

Not to mention to do a backup of your files BEFORE you start to do any changes

#74 Whiskers

  • Community Member
  • 355 posts
  • Real Name:Nick
  • Gender:Male
  • Location:Norfolk, UK

Posted 05 February 2010, 00:56

View Postmultimixer, on 24 June 2009, 11:39, said:

I worked out some solutions for mails, they are already posted all around the forum, now I want to share them in a organized way. I hope somebody will find this useful.

A. How to get a notification when a person register.

1) Set up the "extra order emails" feature in Admin/my store

2) In file catalog/create_account.php

Find the lines
email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING;
	  tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

Place after
 // BOF multimixer 24.6.2009 send emails to other people
	  $owners_text = EMAIL_TEXT_OWNER_INFO . "\r\n" .EMAIL_TEXT_CUSTOMER_NAME . ' ' . $name . "\r\n" . EMAIL_TEXT_CUSTOMER_EMAIL . ' ' .  $email_address . "\r\n" . EMAIL_TEXT_CUSTOMER_PHONE . ' ' . $telephone . "\r\n" . EMAIL_TEXT_CUSTOMER_ADDRESS . ' ' . $street_address . "\r\n" . EMAIL_TEXT_CUSTOMER_CITY . ' ' . $city . "\r\n" . EMAIL_TEXT_CUSTOMER_STATE . ' ' . $state . "\r\n" . EMAIL_TEXT_CUSTOMER_COUNTRY . ' ' . $country;
	  
	  if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
	tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_OWNER_SUBJECT, $owners_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
	 }
	 
	 // EOF multimixer

3) In file catalog/includes/laguages/yourlanguage/create_account.php

Put before the end
// mm 24.6.09
define('EMAIL_OWNER_SUBJECT', 'New registration' );
define('EMAIL_TEXT_OWNER_INFO', 'New customer registration, find details below:');
define('EMAIL_TEXT_CUSTOMER_NAME', 'Name:' );
define('EMAIL_TEXT_CUSTOMER_EMAIL', 'email:' );
define('EMAIL_TEXT_CUSTOMER_PHONE', 'Phone:' );
define('EMAIL_TEXT_CUSTOMER_ADDRESS', 'Address:');
define('EMAIL_TEXT_CUSTOMER_CITY', 'City:' );
define('EMAIL_TEXT_CUSTOMER_STATE', 'State:');
define('EMAIL_TEXT_CUSTOMER_COUNTRY', 'Country:');
This will send an email to the additional email as set in admin for every new customer registration.

Because you don't want to read each time the "hello bla bla" text that the customer receives, it contains just the useful information, name, email etc

This is a great thread! Thanks. I can't work out why the first email mod is not working for me. I have installed those small bits of code, but still nothing. No errors or anything, just no email when testing. Could something be the cause of it?

#75 multimixer

  • Community Sponsor
  • 3,437 posts
  • Real Name:George Zarkadas
  • Gender:Male
  • Location:Greece

Posted 05 February 2010, 05:28

View PostWhiskers, on 05 February 2010, 00:56, said:

This is a great thread! Thanks. I can't work out why the first email mod is not working for me. I have installed those small bits of code, but still nothing. No errors or anything, just no email when testing. Could something be the cause of it?

Did you entered an email address into thr field "send extra order emails to" in admin? Do you receive new order emails?

#76 Whiskers

  • Community Member
  • 355 posts
  • Real Name:Nick
  • Gender:Male
  • Location:Norfolk, UK

Posted 05 February 2010, 13:27

View Postmultimixer, on 05 February 2010, 05:28, said:

Did you entered an email address into thr field "send extra order emails to" in admin? Do you receive new order emails?

Yeah the email address has always been there. I just re-entered it to make sure. I receive new order emails fine. Weird.

#77 multimixer

  • Community Sponsor
  • 3,437 posts
  • Real Name:George Zarkadas
  • Gender:Male
  • Location:Greece

Posted 05 February 2010, 13:53

Well, I don't know what you did. Can you post the lines of create_account.php that refer to the email? (please do not post the complete file and use the <code> tags)

#78 Whiskers

  • Community Member
  • 355 posts
  • Real Name:Nick
  • Gender:Male
  • Location:Norfolk, UK

Posted 05 February 2010, 16:00

View Postmultimixer, on 05 February 2010, 13:53, said:

Well, I don't know what you did. Can you post the lines of create_account.php that refer to the email? (please do not post the complete file and use the <code> tags)

This is what I have including a bit above and below:

      $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING;
      tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
       // BOF multimixer 24.6.2009 send emails to other people          $owners_text = EMAIL_TEXT_OWNER_INFO . "\r\n" .EMAIL_TEXT_CUSTOMER_NAME . ' ' . $name . "\r\n" . EMAIL_TEXT_CUSTOMER_EMAIL . ' ' .  $email_address . "\r\n" . EMAIL_TEXT_CUSTOMER_PHONE . ' ' . $telephone . "\r\n" . EMAIL_TEXT_CUSTOMER_ADDRESS . ' ' . $street_address . "\r\n" . EMAIL_TEXT_CUSTOMER_CITY . ' ' . $city . "\r\n" . EMAIL_TEXT_CUSTOMER_STATE . ' ' . $state . "\r\n" . EMAIL_TEXT_CUSTOMER_COUNTRY . ' ' . $country;                    if (SEND_EXTRA_ORDER_EMAILS_TO != '') {        tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_OWNER_SUBJECT, $owners_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);         }                  // EOF multimixer

      tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL'));
    }
  }


#79 multimixer

  • Community Sponsor
  • 3,437 posts
  • Real Name:George Zarkadas
  • Gender:Male
  • Location:Greece

Posted 05 February 2010, 16:11

View PostWhiskers, on 05 February 2010, 16:00, said:

This is what I have including a bit above and below:

Ok, clear now. You have the necessary code all in one line and commented out. So the code is inactive. What kind of editor you use?

change this
 // BOF multimixer 24.6.2009 send emails to other people          $owners_text = EMAIL_TEXT_OWNER_INFO . "\r\n" .EMAIL_TEXT_CUSTOMER_NAME . ' ' . $name . "\r\n" . EMAIL_TEXT_CUSTOMER_EMAIL . ' ' .  $email_address . "\r\n" . EMAIL_TEXT_CUSTOMER_PHONE . ' ' . $telephone . "\r\n" . EMAIL_TEXT_CUSTOMER_ADDRESS . ' ' . $street_address . "\r\n" . EMAIL_TEXT_CUSTOMER_CITY . ' ' . $city . "\r\n" . EMAIL_TEXT_CUSTOMER_STATE . ' ' . $state . "\r\n" . EMAIL_TEXT_CUSTOMER_COUNTRY . ' ' . $country;                    if (SEND_EXTRA_ORDER_EMAILS_TO != '') {        tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_OWNER_SUBJECT, $owners_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);         }                  // EOF multimixer

to this
 
// BOF multimixer 24.6.2009 send emails to other people          
$owners_text = EMAIL_TEXT_OWNER_INFO . "\r\n" .EMAIL_TEXT_CUSTOMER_NAME . ' ' . $name . "\r\n" . EMAIL_TEXT_CUSTOMER_EMAIL . ' ' .  $email_address . "\r\n" . EMAIL_TEXT_CUSTOMER_PHONE . ' ' . $telephone . "\r\n" . EMAIL_TEXT_CUSTOMER_ADDRESS . ' ' . $street_address . "\r\n" . EMAIL_TEXT_CUSTOMER_CITY . ' ' . $city . "\r\n" . EMAIL_TEXT_CUSTOMER_STATE . ' ' . $state . "\r\n" . EMAIL_TEXT_CUSTOMER_COUNTRY . ' ' . $country;                   
 if (SEND_EXTRA_ORDER_EMAILS_TO != '') {        
tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_OWNER_SUBJECT, $owners_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);        
 }                  
// EOF multimixer


#80 Whiskers

  • Community Member
  • 355 posts
  • Real Name:Nick
  • Gender:Male
  • Location:Norfolk, UK

Posted 05 February 2010, 16:51

That's weird as when I open the file it is on different lines. I did just space them out exactly like you have though and it worked! Finally... but I got the email like this:

EMAIL_TEXT_OWNER_INFO
EMAIL_TEXT_CUSTOMER_NAME Kljghlkjh Jkhkjh
EMAIL_TEXT_CUSTOMER_EMAIL myemail.com
EMAIL_TEXT_CUSTOMER_PHONE
EMAIL_TEXT_CUSTOMER_ADDRESS Kljhkljh
EMAIL_TEXT_CUSTOMER_CITY Lkjhkljh
EMAIL_TEXT_CUSTOMER_STATE ENGLAND - CUMBRIA
EMAIL_TEXT_CUSTOMER_COUNTRY 222

Edited by Whiskers, 05 February 2010, 16:58.