[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
Zen Cart 源代码 invoice.php

Zen Cart 源代码 invoice.php




下载文件

文件名: invoice.php
文件类型: PHP文件
文件大小: 14.11 KiB
MD5: 2a6c575f5922127b194c5a0d719b92c6

invoice.php - 关闭高亮
  1. <?php
  2. /**
  3.  * @package admin
  4.  * @copyright Copyright 2003-2011 Zen Cart Development Team
  5.  * @copyright Portions Copyright 2003 osCommerce
  6.  * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
  7.  * @version $Id: invoice.php 19136 2011-07-18 16:56:18Z wilt $
  8. */
  9.  
  10.   require('includes/application_top.php');
  11.  
  12.   require(DIR_WS_CLASSES . 'currencies.php');
  13.   $currencies = new currencies();
  14.  
  15.   $oID = zen_db_prepare_input($_GET['oID']);
  16.  
  17.   include(DIR_WS_CLASSES . 'order.php');
  18.   $order = new order($oID);
  19.  
  20.   // prepare order-status pulldown list
  21.   $orders_statuses = array();
  22.   $orders_status_array = array();
  23.   $orders_status = $db->Execute("select orders_status_id, orders_status_name
  24.                                 from " . TABLE_ORDERS_STATUS . "
  25.                                 where language_id = '" . (int)$_SESSION['languages_id'] . "'");
  26.   while (!$orders_status->EOF) {
  27.     $orders_statuses[] = array('id' => $orders_status->fields['orders_status_id'],
  28.                                'text' => $orders_status->fields['orders_status_name'] . ' [' . $orders_status->fields['orders_status_id'] . ']');
  29.     $orders_status_array[$orders_status->fields['orders_status_id']] = $orders_status->fields['orders_status_name'];
  30.     $orders_status->MoveNext();
  31.   }
  32. ?>
  33. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  34. <html <?php echo HTML_PARAMS; ?>>
  35. <head>
  36. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  37. <title><?php echo TITLE; ?></title>
  38. <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
  39. <script language="javascript" src="includes/menu.js"></script>
  40. <script language="javascript" type="text/javascript"><!--
  41. function couponpopupWindow(url) {
  42.   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')
  43. }
  44. //--></script>
  45. </head>
  46. <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
  47.  
  48. <!-- body_text //-->
  49. <table border="0" width="100%" cellspacing="0" cellpadding="2">
  50.   <tr>
  51.     <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
  52.       <tr>
  53.         <td class="pageHeading"><?php echo nl2br(STORE_NAME_ADDRESS); ?></td>
  54.         <td class="pageHeading" align="right"><?php echo zen_image(DIR_WS_IMAGES . HEADER_LOGO_IMAGE, HEADER_ALT_TEXT); ?></td>
  55.       </tr>
  56.     </table></td>
  57.   </tr>
  58.   <tr>
  59.     <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
  60.       <tr>
  61.         <td colspan="2"><?php echo zen_draw_separator(); ?></td>
  62.       </tr>
  63.  
  64. <?php
  65.       $order_check = $db->Execute("select cc_cvv, customers_name, customers_company, customers_street_address,
  66.                                    customers_suburb, customers_city, customers_postcode,
  67.                                    customers_state, customers_country, customers_telephone,
  68.                                    customers_email_address, customers_address_format_id, delivery_name,
  69.                                    delivery_company, delivery_street_address, delivery_suburb,
  70.                                    delivery_city, delivery_postcode, delivery_state, delivery_country,
  71.                                    delivery_address_format_id, billing_name, billing_company,
  72.                                    billing_street_address, billing_suburb, billing_city, billing_postcode,
  73.                                    billing_state, billing_country, billing_address_format_id,
  74.                                    payment_method, cc_type, cc_owner, cc_number, cc_expires, currency,
  75.                                    currency_value, date_purchased, orders_status, last_modified
  76.                             from " . TABLE_ORDERS . "
  77.                             where orders_id = '" . (int)$oID . "'");
  78.   $show_customer = 'false';
  79.   if ($order_check->fields['billing_name'] != $order_check->fields['delivery_name']) {
  80.     $show_customer = 'true';
  81.   }
  82.   if ($order_check->fields['billing_street_address'] != $order_check->fields['delivery_street_address']) {
  83.     $show_customer = 'true';
  84.   }
  85.   if ($show_customer == 'true') {
  86. ?>
  87.       <tr>
  88.         <td class="main"><b><?php echo ENTRY_CUSTOMER; ?></b></td>
  89.       </tr>
  90.       <tr>
  91.         <td class="main"><?php echo zen_address_format($order->customer['format_id'], $order->customer, 1, '', '<br>'); ?></td>
  92.       </tr>
  93. <?php } ?>
  94.       <tr>
  95.         <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
  96.           <tr>
  97.             <td class="main"><b><?php echo ENTRY_SOLD_TO; ?></b></td>
  98.           </tr>
  99.           <tr>
  100.             <td class="main"><?php echo zen_address_format($order->billing['format_id'], $order->billing, 1, '', '<br>'); ?></td>
  101.           </tr>
  102.           <tr>
  103.             <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
  104.           </tr>
  105.           <tr>
  106.             <td class="main"><?php echo $order->customer['telephone']; ?></td>
  107.           </tr>
  108.           <tr>
  109.             <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '">' . $order->customer['email_address'] . '</a>'; ?></td>
  110.           </tr>
  111.         </table></td>
  112.         <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
  113.           <tr>
  114.             <td class="main"><b><?php echo ENTRY_SHIP_TO; ?></b></td>
  115.           </tr>
  116.           <tr>
  117.             <td class="main"><?php echo zen_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br>'); ?></td>
  118.           </tr>
  119.         </table></td>
  120.       </tr>
  121.     </table></td>
  122.   </tr>
  123.   <tr>
  124.     <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  125.   </tr>
  126.   <tr>
  127.     <td class="main"><b><?php echo ENTRY_ORDER_ID . $oID; ?></b></td>
  128.   </tr>
  129.   <tr>
  130.     <td><table border="0" cellspacing="0" cellpadding="2">
  131.       <tr>
  132.         <td class="main"><strong><?php echo ENTRY_DATE_PURCHASED; ?></strong></td>
  133.         <td class="main"><?php echo zen_date_long($order->info['date_purchased']); ?></td>
  134.       </tr>
  135.       <tr>
  136.         <td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>
  137.         <td class="main"><?php echo $order->info['payment_method']; ?></td>
  138.       </tr>
  139.     </table></td>
  140.   </tr>
  141.   <tr>
  142.     <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
  143.   </tr>
  144.   <tr>
  145.     <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
  146.       <tr class="dataTableHeadingRow">
  147.         <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
  148.         <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>
  149.         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td>
  150.         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td>
  151.         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td>
  152.         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td>
  153.         <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td>
  154.       </tr>
  155. <?php
  156.     $decimals = $currencies->get_decimal_places($order->info['currency']);
  157.     for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
  158.       if (DISPLAY_PRICE_WITH_TAX_ADMIN == 'true')
  159.       {
  160.         $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']);
  161.       } else
  162.       {
  163.         $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']);
  164.       }
  165.       echo '      <tr class="dataTableRow">' . "\n" .
  166.            '        <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . '&nbsp;x</td>' . "\n" .
  167.            '        <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];
  168.  
  169.       if (isset($order->products[$i]['attributes']) && (($k = sizeof($order->products[$i]['attributes'])) > 0)) {
  170.         for ($j = 0; $j < $k; $j++) {
  171.           echo '<br><nobr><small>&nbsp;<i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . nl2br(zen_output_string_protected($order->products[$i]['attributes'][$j]['value']));
  172.           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']) . ')';
  173.           if ($order->products[$i]['attributes'][$j]['product_attribute_is_free'] == '1' and $order->products[$i]['product_is_free'] == '1') echo TEXT_INFO_ATTRIBUTE_FREE;
  174.           echo '</i></small></nobr>';
  175.         }
  176.       }
  177.  
  178.       echo '        </td>' . "\n" .
  179.            '        <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n";
  180.       echo '        <td class="dataTableContent" align="right" valign="top">' . zen_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" .
  181.            '        <td class="dataTableContent" align="right" valign="top"><b>' .
  182.                       $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) .
  183.                       ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format($order->products[$i]['onetime_charges'], true, $order->info['currency'], $order->info['currency_value']) : '') .
  184.                     '</b></td>' . "\n" .
  185.            '        <td class="dataTableContent" align="right" valign="top"><b>' .
  186.                       $currencies->format(zen_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) .
  187.                       ($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']) : '') .
  188.                     '</b></td>' . "\n" .
  189.            '        <td class="dataTableContent" align="right" valign="top"><b>' .
  190.                       $currencies->format(zen_round($order->products[$i]['final_price'], $decimals) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) .
  191.                       ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format($order->products[$i]['onetime_charges'], true, $order->info['currency'], $order->info['currency_value']) : '') .
  192.                     '</b></td>' . "\n" .
  193.            '        <td class="dataTableContent" align="right" valign="top"><b>' .
  194.                       $priceIncTax .
  195.                       ($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']) : '') .
  196.                     '</b></td>' . "\n";
  197.       echo '      </tr>' . "\n";
  198.     }
  199. ?>
  200.       <tr>
  201.         <td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">
  202. <?php
  203.   for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {
  204.     echo '          <tr>' . "\n" .
  205.          '            <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Text">' . $order->totals[$i]['title'] . '</td>' . "\n" .
  206.          '            <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Amount">' . $order->totals[$i]['text'] . '</td>' . "\n" .
  207.          '          </tr>' . "\n";
  208.   }
  209. ?>
  210.         </table></td>
  211.       </tr>
  212.     </table></td>
  213.   </tr>
  214.  
  215. <?php if (ORDER_COMMENTS_INVOICE > 0) { ?>
  216.       <tr>
  217.         <td class="main"><table border="0" cellspacing="0" cellpadding="5">
  218.           <tr>
  219.             <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_DATE_ADDED; ?></strong></td>
  220.             <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_STATUS; ?></strong></td>
  221.             <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_COMMENTS; ?></strong></td>
  222.           </tr>
  223. <?php
  224.     $orders_history = $db->Execute("select orders_status_id, date_added, customer_notified, comments
  225.                                    from " . TABLE_ORDERS_STATUS_HISTORY . "
  226.                                    where orders_id = '" . zen_db_input($oID) . "' and customer_notified >= 0
  227.                                    order by date_added");
  228.  
  229.     if ($orders_history->RecordCount() > 0) {
  230.       $count_comments=0;
  231.       while (!$orders_history->EOF) {
  232.         $count_comments++;
  233.         echo '          <tr>' . "\n" .
  234.              '            <td class="smallText" align="center" valign="top">' . zen_datetime_short($orders_history->fields['date_added']) . '</td>' . "\n";
  235.         echo '            <td class="smallText" valign="top">' . $orders_status_array[$orders_history->fields['orders_status_id']] . '</td>' . "\n";
  236.         echo '            <td class="smallText" valign="top">' . ($orders_history->fields['comments'] == '' ? TEXT_NONE : nl2br(zen_db_output($orders_history->fields['comments']))) . '&nbsp;</td>' . "\n" .
  237.              '          </tr>' . "\n";
  238.         $orders_history->MoveNext();
  239.         if (ORDER_COMMENTS_INVOICE == 1 && $count_comments >= 1) {
  240.           break;
  241.         }
  242.       }
  243.     } else {
  244.         echo '          <tr>' . "\n" .
  245.              '            <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" .
  246.              '          </tr>' . "\n";
  247.     }
  248. ?>
  249.         </table></td>
  250.       </tr>
  251. <?php } // order comments ?>
  252.  
  253. </table>
  254. <!-- body_text_eof //-->
  255.  
  256. <br>
  257. </body>
  258. </html>
  259. <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>


cron