function send_order_email($zf_insert_id, $zf_mode) { global $currencies, $order_totals, $zco_notifier; // print_r($this); // die(); if ($this->email_low_stock != '' and SEND_LOWSTOCK_EMAIL == '1') { // send an email $email_low_stock = SEND_EXTRA_LOW_STOCK_EMAIL_TITLE . "\n\n" . $this->email_low_stock; zen_mail('', SEND_EXTRA_LOW_STOCK_EMAILS_TO, EMAIL_TEXT_SUBJECT_LOWSTOCK, $email_low_stock, STORE_OWNER, EMAIL_FROM, array('EMAIL_MESSAGE_HTML' => nl2br($email_low_stock)), 'low_stock'); } // lets start with the email confirmation // make an array to store the html version $html_msg = array(); //intro area $email_order = EMAIL_TEXT_HEADER . EMAIL_TEXT_FROM . STORE_NAME . "\n\n" . $this->customer['firstname'] . ' ' . $this->customer['lastname'] . "\n\n" . EMAIL_THANKS_FOR_SHOPPING . "\n" . EMAIL_DETAILS_FOLLOW . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . zen_get_order_no($zf_insert_id) . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . zen_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_no=' . zen_get_order_no($zf_insert_id), 'SSL', false) . "\n\n"; $html_msg['EMAIL_TEXT_HEADER'] = EMAIL_TEXT_HEADER; $html_msg['EMAIL_TEXT_FROM'] = EMAIL_TEXT_FROM; $html_msg['INTRO_STORE_NAME'] = STORE_NAME; $html_msg['EMAIL_THANKS_FOR_SHOPPING'] = EMAIL_THANKS_FOR_SHOPPING; $html_msg['EMAIL_DETAILS_FOLLOW'] = EMAIL_DETAILS_FOLLOW; $html_msg['INTRO_ORDER_NUM_TITLE'] = EMAIL_TEXT_ORDER_NUMBER; $html_msg['INTRO_ORDER_NUMBER'] = zen_get_order_no($zf_insert_id); $html_msg['INTRO_DATE_TITLE'] = EMAIL_TEXT_DATE_ORDERED; $html_msg['INTRO_DATE_ORDERED'] = strftime(DATE_FORMAT_LONG); $html_msg['INTRO_URL_TEXT'] = EMAIL_TEXT_INVOICE_URL_CLICK; $html_msg['INTRO_URL_VALUE'] = zen_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_no=' . zen_get_order_no($zf_insert_id), 'SSL', false); //comments area if ($this->info['comments']) { $email_order .= zen_db_output($this->info['comments']) . "\n\n"; $html_msg['ORDER_COMMENTS'] = nl2br(zen_db_output($this->info['comments'])); } else { $html_msg['ORDER_COMMENTS'] = ''; } //products area $email_order .= EMAIL_TEXT_PRODUCTS . "\n" . EMAIL_SEPARATOR . "\n" . $this->products_ordered . EMAIL_SEPARATOR . "\n"; $html_msg['PRODUCTS_TITLE'] = EMAIL_TEXT_PRODUCTS; $html_msg['PRODUCTS_DETAIL'] = '<table class="product-details" border="0" width="100%" cellspacing="0" cellpadding="2">' . $this->products_ordered_html . '</table>'; //order totals area $html_ot .= '<td class="order-totals-text" align="right" width="100%">' . ' ' . '</td> ' . "\n" . '<td class="order-totals-num" align="right" nowrap="nowrap">' . '---------' . '</td> </tr>' . "\n" . '<tr>'; 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"; $html_ot .= '<td class="order-totals-text" align="right" width="100%">' . $order_totals[$i]['title'] . '</td> ' . "\n" . '<td class="order-totals-num" align="right" nowrap="nowrap">' . $order_totals[$i]['text'] . '</td> </tr>' . "\n" . '<tr>'; } $html_msg['ORDER_TOTALS'] = '<table border="0" width="100%" cellspacing="0" cellpadding="2"> ' . $html_ot . ' </table>'; //addresses area: Delivery $html_msg['HEADING_ADDRESS_INFORMATION'] = HEADING_ADDRESS_INFORMATION; $html_msg['ADDRESS_DELIVERY_TITLE'] = EMAIL_TEXT_DELIVERY_ADDRESS; $html_msg['ADDRESS_DELIVERY_DETAIL'] = $this->content_type != 'virtual' ? zen_address_label($_SESSION['customer_id'], $_SESSION['sendto'], true, '', "<br />") : 'n/a'; $html_msg['SHIPPING_METHOD_TITLE'] = HEADING_SHIPPING_METHOD; $html_msg['SHIPPING_METHOD_DETAIL'] = zen_not_null($this->info['shipping_method']) ? $this->info['shipping_method'] : 'n/a'; if ($this->content_type != 'virtual') { $email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . zen_address_label($_SESSION['customer_id'], $_SESSION['sendto'], 0, '', "\n") . "\n"; } //addresses area: Billing $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . zen_address_label($_SESSION['customer_id'], $_SESSION['billto'], 0, '', "\n") . "\n\n"; $html_msg['ADDRESS_BILLING_TITLE'] = EMAIL_TEXT_BILLING_ADDRESS; $html_msg['ADDRESS_BILLING_DETAIL'] = zen_address_label($_SESSION['customer_id'], $_SESSION['billto'], true, '', "<br />"); if (is_object($GLOBALS[$_SESSION['payment']])) { $cc_num_display = isset($this->info['cc_number']) && $this->info['cc_number'] != '' ? substr($this->info['cc_number'], 0, 4) . str_repeat('X', strlen($this->info['cc_number']) - 8) . substr($this->info['cc_number'], -4) . "\n\n" : ''; $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n"; $payment_class = $_SESSION['payment']; $email_order .= $GLOBALS[$payment_class]->title . "\n\n"; $email_order .= isset($this->info['cc_type']) && $this->info['cc_type'] != '' ? $this->info['cc_type'] . ' ' . $cc_num_display . "\n\n" : ''; $email_order .= $GLOBALS[$payment_class]->email_footer ? $GLOBALS[$payment_class]->email_footer . "\n\n" : ''; } else { $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n"; $email_order .= PAYMENT_METHOD_GV . "\n\n"; } $html_msg['PAYMENT_METHOD_TITLE'] = EMAIL_TEXT_PAYMENT_METHOD; $html_msg['PAYMENT_METHOD_DETAIL'] = is_object($GLOBALS[$_SESSION['payment']]) ? $GLOBALS[$payment_class]->title : PAYMENT_METHOD_GV; $html_msg['PAYMENT_METHOD_FOOTER'] = is_object($GLOBALS[$_SESSION['payment']]) && $GLOBALS[$payment_class]->email_footer != '' ? nl2br($GLOBALS[$payment_class]->email_footer) : (isset($this->info['cc_type']) && $this->info['cc_type'] != '' ? $this->info['cc_type'] . ' ' . $cc_num_display . "\n\n" : ''); // include disclaimer $email_order .= "\n-----\n" . sprintf(EMAIL_DISCLAIMER, STORE_OWNER_EMAIL_ADDRESS) . "\n\n"; // include copyright //$email_order .= "\n-----\n" . EMAIL_FOOTER_COPYRIGHT . "\n\n"; while (strstr($email_order, ' ')) { $email_order = str_replace(' ', ' ', $email_order); } $html_msg['EMAIL_FIRST_NAME'] = $this->customer['firstname']; $html_msg['EMAIL_LAST_NAME'] = $this->customer['lastname']; // $html_msg['EMAIL_TEXT_HEADER'] = EMAIL_TEXT_HEADER; $html_msg['EXTRA_INFO'] = ''; $zco_notifier->notify('NOTIFY_ORDER_INVOICE_CONTENT_READY_TO_SEND', array('zf_insert_id' => $zf_insert_id, 'text_email' => $email_order, 'html_email' => $html_msg)); zen_mail($this->customer['firstname'] . ' ' . $this->customer['lastname'], $this->customer['email_address'], EMAIL_TEXT_SUBJECT . EMAIL_ORDER_NUMBER_SUBJECT . zen_get_order_no($zf_insert_id), $email_order, STORE_NAME, EMAIL_FROM, $html_msg, 'checkout', $this->attachArray); // send additional emails if (SEND_EXTRA_ORDER_EMAILS_TO != '') { $extra_info = email_collect_extra_info('', '', $this->customer['firstname'] . ' ' . $this->customer['lastname'], $this->customer['email_address'], $this->customer['telephone']); $html_msg['EXTRA_INFO'] = $extra_info['HTML']; if ($GLOBALS[$_SESSION['payment']]->auth_code || $GLOBALS[$_SESSION['payment']]->transaction_id) { $pmt_details = 'AuthCode: ' . $GLOBALS[$_SESSION['payment']]->auth_code . ' TransID: ' . $GLOBALS[$_SESSION['payment']]->transaction_id . "\n\n"; $email_order = $pmt_details . $email_order; $html_msg['EMAIL_TEXT_HEADER'] = nl2br($pmt_details) . $html_msg['EMAIL_TEXT_HEADER']; } zen_mail('', SEND_EXTRA_ORDER_EMAILS_TO, SEND_EXTRA_NEW_ORDERS_EMAILS_TO_SUBJECT . ' ' . EMAIL_TEXT_SUBJECT . EMAIL_ORDER_NUMBER_SUBJECT . zen_get_order_no($zf_insert_id), $email_order . $extra_info['TEXT'], STORE_NAME, EMAIL_FROM, $html_msg, 'checkout_extra', $this->attachArray); } $zco_notifier->notify('NOTIFY_ORDER_AFTER_SEND_ORDER_EMAIL'); }
">contact us</a> to assist you. </span> </div> </div> <div class="right_big_con margin_t line_30px"> <h2 class="border_b"><?php echo HEADING_TITLE; ?> </h2> <?php if ($accountHasHistory === true) { foreach ($accountHistory as $history) { ?> <fieldset class="pad_10px"> <legend><?php echo TEXT_ORDER_NUMBER . zen_get_order_no($history['orders_id']); ?> </legend> <div class="notice forward"><?php echo TEXT_ORDER_STATUS . $history['orders_status_name']; ?> </div> <br class="clear" /> <div class="content back"><?php echo '<strong>' . TEXT_ORDER_DATE . '</strong> ' . zen_date_long($history['date_purchased']) . '<br /><strong>' . $history['order_type'] . '</strong> ' . zen_output_string_protected($history['order_name']); ?> </div> <div class="content"><?php echo '<strong>' . TEXT_ORDER_PRODUCTS . '</strong> ' . $history['product_count'] . '<br /><strong>' . TEXT_ORDER_COST . '</strong> ' . strip_tags($history['order_total']); ?> </div>
?> <div id="OrderSummary"> <h4 class="dark_bg margin_t bg_in"><?php echo 'Order Infomation'; ?> </h4> <ul class="pad_l_28px margin_t"> <strong><?php echo 'Order Date'; ?> </strong> <?php echo zen_date_long($order->info['date_purchased']); ?> <br/> <strong>Order #: </strong> <?php echo zen_get_order_no($order_id); ?> <br/> <strong>Order Total: </strong> <?php echo $order->totals[sizeof($order->totals) - 1]['text']; ?> <br /> <strong>Order Status: </strong> <?php echo $statuses->fields['orders_status_name']; ?> <?php /** * Used to display any downloads associated with the cutomers account */ if (DOWNLOAD_ENABLED == 'true') {
?> </td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?> </td> </tr> <tr> <td class="main"><b><?php echo ENTRY_ORDER_ID . zen_get_order_no($oID); ?> </b></td> </tr> <tr> <td><table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main"><strong><?php echo ENTRY_DATE_PURCHASED; ?> </strong></td> <td class="main"><?php echo zen_date_long($order->info['date_purchased']); ?> </td> </tr>
$zco_notifier->notify('NOTIFY_MODULE_PRODUCT_LISTING_RESULTCOUNT', $listing_split->number_of_rows); $sql = str_replace("ORDER BY orders_id", "ORDER BY orders_id desc", $orders_split->sql_query); $orders = $db->Execute($sql); if ($orders->RecordCount() > 0) { while (!$orders->EOF) { if (zen_not_null($orders->fields['delivery_name'])) { $order_name = $orders->fields['delivery_name']; $order_country = $orders->fields['delivery_country']; } else { $order_name = $orders->fields['billing_name']; $order_country = $orders->fields['billing_country']; } ?> <tr> <td><?php echo '<a href="' . zen_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $orders->fields['orders_id'], 'SSL') . '"> ' . TEXT_NUMBER_SYMBOL . zen_get_order_no($orders->fields['orders_id']) . '</a>'; ?> </td> <td><?php echo zen_date_short($orders->fields['date_purchased']); ?> </td> <td><?php echo zen_output_string_protected($order_name) . '<br />' . $order_country; ?> </td> <td><?php echo $orders->fields['orders_status_name']; ?> </td> <td><?php
if (isset($oInfo) && is_object($oInfo) && ($orders->fields['orders_id'] == $oInfo->orders_id)) { echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit', 'NONSSL') . '\'">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID')) . 'oID=' . $orders->fields['orders_id'], 'NONSSL') . '\'">' . "\n"; } $show_difference = ''; if (($orders->fields['delivery_name'] != $orders->fields['billing_name'] and $orders->fields['delivery_name'] != '')) { $show_difference = zen_image(DIR_WS_IMAGES . 'icon_status_red.gif', TEXT_BILLING_SHIPPING_MISMATCH, 10, 10) . ' '; } if (($orders->fields['delivery_street_address'] != $orders->fields['billing_street_address'] and $orders->fields['delivery_street_address'] != '')) { $show_difference = zen_image(DIR_WS_IMAGES . 'icon_status_red.gif', TEXT_BILLING_SHIPPING_MISMATCH, 10, 10) . ' '; } $show_payment_type = $orders->fields['payment_module_code'] . '<br />' . $orders->fields['shipping_module_code']; ?> <td class="dataTableContent" align="right"><?php echo $show_difference . zen_get_order_no($orders->fields['orders_id']); ?></td> <td class="dataTableContent" align="left" width="50"><?php echo $show_payment_type; ?></td> <td class="dataTableContent"><?php echo '<a href="' . zen_href_link(FILENAME_CUSTOMERS, 'cID=' . $orders->fields['customers_id'], 'NONSSL') . '">' . zen_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW . ' ' . TABLE_HEADING_CUSTOMERS) . '</a> ' . $orders->fields['customers_name'] . ($orders->fields['customers_company'] != '' ? '<br />' . $orders->fields['customers_company'] : ''); ?></td> <td class="dataTableContent" align="right"><?php echo strip_tags($orders->fields['order_total']); ?></td> <td class="dataTableContent" align="center"><?php echo zen_datetime_short($orders->fields['date_purchased']); ?></td> <td class="dataTableContent" align="right"><?php echo $orders->fields['orders_status_name']; ?></td> <td class="dataTableContent" align="center"><?php //echo ((zen_get_orders_comments($orders->fields['orders_id']) == '' ? '' : zen_image(DIR_WS_IMAGES . 'icon_yellow_on.gif', TEXT_COMMENTS_YES, 16, 16)); ?></td> <td class="dataTableContent" align="right"> <?php echo '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders->fields['orders_id'] . '&action=deleteconfirm', 'NONSSL') . '" onclick="return ConfirmDel();">' . zen_image(DIR_WS_IMAGES . 'icon_delete.gif', ICON_EDIT) . '</a>'; ?> <?php echo '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders->fields['orders_id'] . '&action=edit', 'NONSSL') . '">' . zen_image(DIR_WS_IMAGES . 'icon_edit.gif', ICON_EDIT) . '</a>'; ?><?php if (isset($oInfo) && is_object($oInfo) && ($orders->fields['orders_id'] == $oInfo->orders_id)) { echo zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID')) . 'oID=' . $orders->fields['orders_id'], 'NONSSL') . '">' . zen_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> </tr> <?php $orders->MoveNext(); }
if (DEFINE_CHECKOUT_SUCCESS_STATUS >= 1 and DEFINE_CHECKOUT_SUCCESS_STATUS <= 2) { ?> <div id="checkoutSuccessMainContent" class="content"> <?php /** * require the html_defined text for checkout success */ require $define_page; ?> </div> <?php } ?> <div class="success_box"> <div><?php echo TEXT_YOUR_ORDER_NUMBER . '<strong class="red">' . zen_get_order_no($zv_orders_id) . '</strong>'; ?> </div> <div><?php echo TEXT_SEE_ORDERS; ?> </div> <div><?php echo TEXT_CONTACT_STORE_OWNER; ?> </div> </div> <?php unset($_SESSION['coupons']); ?> <!--bof -gift certificate- send or spend box-->
<table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php if ($action == 'edit' && $order_exists == true) { $order = new order($oID); ?> <tr> <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?> #<?php echo zen_get_order_no($oID); echo zen_draw_hidden_field('update_order_no', zen_get_order_no($oID)); ?> </td> <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?> </td> <td class="pageHeading" align="right"><?php echo '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action'))) . '">' . zen_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?> </td> </tr> </table></td> </tr>
$order_id = $customer_info->fields['orders_id']; } else { if (!isset($_GET['order_id']) || isset($_GET['order_id']) && !is_numeric($_GET['order_id'])) { $messageStack->add_session('account', NO_FOUND_ORDER, 'error'); zen_redirect(zen_href_link(FILENAME_ACCOUNT, '', 'SSL')); } $order_id = $_GET['order_id']; } $customer_info_query = "SELECT customers_id\n FROM " . TABLE_ORDERS . "\n WHERE orders_id = :ordersID"; $customer_info_query = $db->bindVars($customer_info_query, ':ordersID', $order_id, 'integer'); $customer_info = $db->Execute($customer_info_query); if ($customer_info->fields['customers_id'] != $_SESSION['customer_id']) { $messageStack->add_session('account', NO_FOUND_ORDER, 'error'); zen_redirect(zen_href_link(FILENAME_ACCOUNT, '', 'SSL')); } $statuses_query = "SELECT os.orders_status_name, osh.date_added, osh.comments\n FROM " . TABLE_ORDERS_STATUS . " os, " . TABLE_ORDERS_STATUS_HISTORY . " osh\n WHERE osh.orders_id = :ordersID\n AND osh.orders_status_id = os.orders_status_id\n AND os.language_id = :languagesID\n ORDER BY osh.date_added"; $statuses_query = $db->bindVars($statuses_query, ':ordersID', $order_id, 'integer'); $statuses_query = $db->bindVars($statuses_query, ':languagesID', $_SESSION['languages_id'], 'integer'); $statuses = $db->Execute($statuses_query); while (!$statuses->EOF) { $statusArray[] = array('date_added' => $statuses->fields['date_added'], 'orders_status_name' => $statuses->fields['orders_status_name'], 'comments' => $statuses->fields['comments']); $statuses->MoveNext(); } require DIR_WS_MODULES . zen_get_module_directory('require_languages.php'); $breadcrumb->add(NAVBAR_TITLE_1, zen_href_link(FILENAME_ACCOUNT, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, zen_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL')); $breadcrumb->add(sprintf(NAVBAR_TITLE_3, zen_get_order_no($order_id))); require DIR_WS_CLASSES . 'order.php'; $order = new order($order_id); // This should be last line of the script: $zco_notifier->notify('NOTIFY_HEADER_END_ACCOUNT_HISTORY_INFO');