ZenCart_Documentation  1.5.0
http://www.collinsharper.com
C:/xampp/htdocs/zen-cart/admin/invoice.php
Go to the documentation of this file.
00001 <?php
00010   require('includes/application_top.php');
00011 
00012   require(DIR_WS_CLASSES . 'currencies.php');
00013   $currencies = new currencies();
00014 
00015   $oID = zen_db_prepare_input($_GET['oID']);
00016 
00017   include(DIR_WS_CLASSES . 'order.php');
00018   $order = new order($oID);
00019 
00020   // prepare order-status pulldown list
00021   $orders_statuses = array();
00022   $orders_status_array = array();
00023   $orders_status = $db->Execute("select orders_status_id, orders_status_name
00024                                  from " . TABLE_ORDERS_STATUS . "
00025                                  where language_id = '" . (int)$_SESSION['languages_id'] . "'");
00026   while (!$orders_status->EOF) {
00027     $orders_statuses[] = array('id' => $orders_status->fields['orders_status_id'],
00028                                'text' => $orders_status->fields['orders_status_name'] . ' [' . $orders_status->fields['orders_status_id'] . ']');
00029     $orders_status_array[$orders_status->fields['orders_status_id']] = $orders_status->fields['orders_status_name'];
00030     $orders_status->MoveNext();
00031   }
00032 ?>
00033 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
00034 <html <?php echo HTML_PARAMS; ?>>
00035 <head>
00036 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
00037 <title><?php echo TITLE; ?></title>
00038 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
00039 <script language="javascript" src="includes/menu.js"></script>
00040 <script language="javascript" type="text/javascript"><!--
00041 function couponpopupWindow(url) {
00042   window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=450,height=280,screenX=150,screenY=150,top=150,left=150')
00043 }
00044 //--></script>
00045 </head>
00046 <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
00047 
00048 <!-- body_text //-->
00049 <table border="0" width="100%" cellspacing="0" cellpadding="2">
00050   <tr>
00051     <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
00052       <tr>
00053         <td class="pageHeading"><?php echo nl2br(STORE_NAME_ADDRESS); ?></td>
00054         <td class="pageHeading" align="right"><?php echo zen_image(DIR_WS_IMAGES . HEADER_LOGO_IMAGE, HEADER_ALT_TEXT); ?></td>
00055       </tr>
00056     </table></td>
00057   </tr>
00058   <tr>
00059     <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
00060       <tr>
00061         <td colspan="2"><?php echo zen_draw_separator(); ?></td>
00062       </tr>
00063 
00064 <?php
00065       $order_check = $db->Execute("select cc_cvv, customers_name, customers_company, customers_street_address,
00066                                     customers_suburb, customers_city, customers_postcode,
00067                                     customers_state, customers_country, customers_telephone,
00068                                     customers_email_address, customers_address_format_id, delivery_name,
00069                                     delivery_company, delivery_street_address, delivery_suburb,
00070                                     delivery_city, delivery_postcode, delivery_state, delivery_country,
00071                                     delivery_address_format_id, billing_name, billing_company,
00072                                     billing_street_address, billing_suburb, billing_city, billing_postcode,
00073                                     billing_state, billing_country, billing_address_format_id,
00074                                     payment_method, cc_type, cc_owner, cc_number, cc_expires, currency,
00075                                     currency_value, date_purchased, orders_status, last_modified
00076                              from " . TABLE_ORDERS . "
00077                              where orders_id = '" . (int)$oID . "'");
00078   $show_customer = 'false';
00079   if ($order_check->fields['billing_name'] != $order_check->fields['delivery_name']) {
00080     $show_customer = 'true';
00081   }
00082   if ($order_check->fields['billing_street_address'] != $order_check->fields['delivery_street_address']) {
00083     $show_customer = 'true';
00084   }
00085   if ($show_customer == 'true') {
00086 ?>
00087       <tr>
00088         <td class="main"><b><?php echo ENTRY_CUSTOMER; ?></b></td>
00089       </tr>
00090       <tr>
00091         <td class="main"><?php echo zen_address_format($order->customer['format_id'], $order->customer, 1, '', '<br>'); ?></td>
00092       </tr>
00093 <?php } ?>
00094       <tr>
00095         <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
00096           <tr>
00097             <td class="main"><b><?php echo ENTRY_SOLD_TO; ?></b></td>
00098           </tr>
00099           <tr>
00100             <td class="main"><?php echo zen_address_format($order->billing['format_id'], $order->billing, 1, '', '<br>'); ?></td>
00101           </tr>
00102           <tr>
00103             <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
00104           </tr>
00105           <tr>
00106             <td class="main"><?php echo $order->customer['telephone']; ?></td>
00107           </tr>
00108           <tr>
00109             <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '">' . $order->customer['email_address'] . '</a>'; ?></td>
00110           </tr>
00111         </table></td>
00112         <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
00113           <tr>
00114             <td class="main"><b><?php echo ENTRY_SHIP_TO; ?></b></td>
00115           </tr>
00116           <tr>
00117             <td class="main"><?php echo zen_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br>'); ?></td>
00118           </tr>
00119         </table></td>
00120       </tr>
00121     </table></td>
00122   </tr>
00123   <tr>
00124     <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
00125   </tr>
00126   <tr>
00127     <td class="main"><b><?php echo ENTRY_ORDER_ID . $oID; ?></b></td>
00128   </tr>
00129   <tr>
00130     <td><table border="0" cellspacing="0" cellpadding="2">
00131       <tr>
00132         <td class="main"><strong><?php echo ENTRY_DATE_PURCHASED; ?></strong></td>
00133         <td class="main"><?php echo zen_date_long($order->info['date_purchased']); ?></td>
00134       </tr>
00135       <tr>
00136         <td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>
00137         <td class="main"><?php echo $order->info['payment_method']; ?></td>
00138       </tr>
00139     </table></td>
00140   </tr>
00141   <tr>
00142     <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
00143   </tr>
00144   <tr>
00145     <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
00146       <tr class="dataTableHeadingRow">
00147         <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
00148         <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>
00149         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td>
00150         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td>
00151         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td>
00152         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td>
00153         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td>
00154       </tr>
00155 <?php
00156     $decimals = $currencies->get_decimal_places($order->info['currency']);
00157     for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
00158       if (DISPLAY_PRICE_WITH_TAX_ADMIN == 'true')
00159       {
00160         $priceIncTax = $currencies->format(zen_round(zen_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']),$decimals) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']);
00161       } else 
00162       {
00163         $priceIncTax = $currencies->format(zen_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']);
00164       }
00165       echo '      <tr class="dataTableRow">' . "\n" .
00166            '        <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . '&nbsp;x</td>' . "\n" .
00167            '        <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];
00168 
00169       if (isset($order->products[$i]['attributes']) && (($k = sizeof($order->products[$i]['attributes'])) > 0)) {
00170         for ($j = 0; $j < $k; $j++) {
00171           echo '<br><nobr><small>&nbsp;<i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . nl2br(zen_output_string_protected($order->products[$i]['attributes'][$j]['value']));
00172           if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')';
00173           if ($order->products[$i]['attributes'][$j]['product_attribute_is_free'] == '1' and $order->products[$i]['product_is_free'] == '1') echo TEXT_INFO_ATTRIBUTE_FREE;
00174           echo '</i></small></nobr>';
00175         }
00176       }
00177 
00178       echo '        </td>' . "\n" .
00179            '        <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n";
00180       echo '        <td class="dataTableContent" align="right" valign="top">' . zen_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" .
00181            '        <td class="dataTableContent" align="right" valign="top"><b>' .
00182                       $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) .
00183                       ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format($order->products[$i]['onetime_charges'], true, $order->info['currency'], $order->info['currency_value']) : '') .
00184                     '</b></td>' . "\n" .
00185            '        <td class="dataTableContent" align="right" valign="top"><b>' .
00186                       $currencies->format(zen_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) .
00187                       ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format(zen_add_tax($order->products[$i]['onetime_charges'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) : '') .
00188                     '</b></td>' . "\n" .
00189            '        <td class="dataTableContent" align="right" valign="top"><b>' .
00190                       $currencies->format(zen_round($order->products[$i]['final_price'], $decimals) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) .
00191                       ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format($order->products[$i]['onetime_charges'], true, $order->info['currency'], $order->info['currency_value']) : '') .
00192                     '</b></td>' . "\n" .
00193            '        <td class="dataTableContent" align="right" valign="top"><b>' .
00194                       $priceIncTax .
00195                       ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format(zen_add_tax($order->products[$i]['onetime_charges'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) : '') .
00196                     '</b></td>' . "\n";
00197       echo '      </tr>' . "\n";
00198     }
00199 ?>
00200       <tr>
00201         <td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">
00202 <?php
00203   for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {
00204     echo '          <tr>' . "\n" .
00205          '            <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Text">' . $order->totals[$i]['title'] . '</td>' . "\n" .
00206          '            <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Amount">' . $order->totals[$i]['text'] . '</td>' . "\n" .
00207          '          </tr>' . "\n";
00208   }
00209 ?>
00210         </table></td>
00211       </tr>
00212     </table></td>
00213   </tr>
00214 
00215 <?php if (ORDER_COMMENTS_INVOICE > 0) { ?>
00216       <tr>
00217         <td class="main"><table border="0" cellspacing="0" cellpadding="5">
00218           <tr>
00219             <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_DATE_ADDED; ?></strong></td>
00220             <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_STATUS; ?></strong></td>
00221             <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_COMMENTS; ?></strong></td>
00222           </tr>
00223 <?php
00224     $orders_history = $db->Execute("select orders_status_id, date_added, customer_notified, comments
00225                                     from " . TABLE_ORDERS_STATUS_HISTORY . "
00226                                     where orders_id = '" . zen_db_input($oID) . "' and customer_notified >= 0
00227                                     order by date_added");
00228 
00229     if ($orders_history->RecordCount() > 0) {
00230       $count_comments=0;
00231       while (!$orders_history->EOF) {
00232         $count_comments++;
00233         echo '          <tr>' . "\n" .
00234              '            <td class="smallText" align="center" valign="top">' . zen_datetime_short($orders_history->fields['date_added']) . '</td>' . "\n";
00235         echo '            <td class="smallText" valign="top">' . $orders_status_array[$orders_history->fields['orders_status_id']] . '</td>' . "\n";
00236         echo '            <td class="smallText" valign="top">' . ($orders_history->fields['comments'] == '' ? TEXT_NONE : nl2br(zen_db_output($orders_history->fields['comments']))) . '&nbsp;</td>' . "\n" .
00237              '          </tr>' . "\n";
00238         $orders_history->MoveNext();
00239         if (ORDER_COMMENTS_INVOICE == 1 && $count_comments >= 1) {
00240           break;
00241         }
00242       }
00243     } else {
00244         echo '          <tr>' . "\n" .
00245              '            <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" .
00246              '          </tr>' . "\n";
00247     }
00248 ?>
00249         </table></td>
00250       </tr>
00251 <?php } // order comments ?>
00252 
00253 </table>
00254 <!-- body_text_eof //-->
00255 
00256 <br>
00257 </body>
00258 </html>
00259 <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
 All Data Structures Namespaces Files Functions Variables Enumerations