[ Index ] |
|
Code source de Zen Cart E-Commerce Shopping Cart 1.3.7.1 |
1 <?php 2 /** 3 * @package admin 4 * @copyright Copyright 2003-2007 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: orders.php 6524 2007-06-25 21:27:46Z drbyte $ 8 */ 9 10 require ('includes/application_top.php'); 11 12 require (DIR_WS_CLASSES . 'currencies.php'); 13 $currencies = new currencies(); 14 15 include(DIR_WS_CLASSES . 'order.php'); 16 17 // prepare order-status pulldown list 18 $orders_statuses = array(); 19 $orders_status_array = array(); 20 $orders_status = $db->Execute("select orders_status_id, orders_status_name 21 from " . TABLE_ORDERS_STATUS . " 22 where language_id = '" . (int)$_SESSION['languages_id'] . "'"); 23 while (!$orders_status->EOF) { 24 $orders_statuses[] = array('id' => $orders_status->fields['orders_status_id'], 25 'text' => $orders_status->fields['orders_status_name'] . ' [' . $orders_status->fields['orders_status_id'] . ']'); 26 $orders_status_array[$orders_status->fields['orders_status_id']] = $orders_status->fields['orders_status_name']; 27 $orders_status->MoveNext(); 28 } 29 30 $action = (isset($_GET['action']) ? $_GET['action'] : ''); 31 32 if (isset($_GET['oID'])) { 33 $oID = zen_db_prepare_input($_GET['oID']); 34 35 $orders = $db->Execute("select orders_id from " . TABLE_ORDERS . " 36 where orders_id = '" . (int)$oID . "'"); 37 $order_exists = true; 38 if ($orders->RecordCount() <= 0) { 39 $order_exists = false; 40 if ($action != '') $messageStack->add(sprintf(ERROR_ORDER_DOES_NOT_EXIST, $oID), 'error'); 41 } 42 } 43 44 if (zen_not_null($action) && $order_exists == true) { 45 switch ($action) { 46 case 'edit': 47 // reset single download to on 48 if ($_GET['download_reset_on'] > 0) { 49 // adjust download_maxdays based on current date 50 $check_status = $db->Execute("select customers_name, customers_email_address, orders_status, 51 date_purchased from " . TABLE_ORDERS . " 52 where orders_id = '" . $_GET['oID'] . "'"); 53 $zc_max_days = date_diff($check_status->fields['date_purchased'], date('Y-m-d H:i:s', time())) + DOWNLOAD_MAX_DAYS; 54 55 $update_downloads_query = "update " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " set download_maxdays='" . $zc_max_days . "', download_count='" . DOWNLOAD_MAX_COUNT . "' where orders_id='" . $_GET['oID'] . "' and orders_products_download_id='" . $_GET['download_reset_on'] . "'"; 56 $db->Execute($update_downloads_query); 57 unset($_GET['download_reset_on']); 58 59 $messageStack->add_session(SUCCESS_ORDER_UPDATED_DOWNLOAD_ON, 'success'); 60 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 61 } 62 // reset single download to off 63 if ($_GET['download_reset_off'] > 0) { 64 // adjust download_maxdays based on current date 65 // $update_downloads_query = "update " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " set download_maxdays='0', download_count='0' where orders_id='" . $_GET['oID'] . "' and orders_products_download_id='" . $_GET['download_reset_off'] . "'"; 66 $update_downloads_query = "update " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " set download_count='0' where orders_id='" . $_GET['oID'] . "' and orders_products_download_id='" . $_GET['download_reset_off'] . "'"; 67 unset($_GET['download_reset_off']); 68 $db->Execute($update_downloads_query); 69 70 $messageStack->add_session(SUCCESS_ORDER_UPDATED_DOWNLOAD_OFF, 'success'); 71 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 72 } 73 break; 74 case 'update_order': 75 // demo active test 76 if (zen_admin_demo()) { 77 $_GET['action']= ''; 78 $messageStack->add_session(ERROR_ADMIN_DEMO, 'caution'); 79 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 80 } 81 $oID = zen_db_prepare_input($_GET['oID']); 82 $status = zen_db_prepare_input($_POST['status']); 83 $comments = zen_db_prepare_input($_POST['comments']); 84 85 $order_updated = false; 86 $check_status = $db->Execute("select customers_name, customers_email_address, orders_status, 87 date_purchased from " . TABLE_ORDERS . " 88 where orders_id = '" . (int)$oID . "'"); 89 90 if ( ($check_status->fields['orders_status'] != $status) || zen_not_null($comments)) { 91 $db->Execute("update " . TABLE_ORDERS . " 92 set orders_status = '" . zen_db_input($status) . "', last_modified = now() 93 where orders_id = '" . (int)$oID . "'"); 94 95 $customer_notified = '0'; 96 if (isset($_POST['notify']) && ($_POST['notify'] == 'on')) { 97 $notify_comments = ''; 98 if (isset($_POST['notify_comments']) && ($_POST['notify_comments'] == 'on') && zen_not_null($comments)) { 99 $notify_comments = EMAIL_TEXT_COMMENTS_UPDATE . $comments . "\n\n"; 100 } 101 102 103 //send emails 104 $message = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . 105 EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n\n" . 106 EMAIL_TEXT_INVOICE_URL . ' ' . zen_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" . 107 EMAIL_TEXT_DATE_ORDERED . ' ' . zen_date_long($check_status->fields['date_purchased']) . "\n\n" . 108 strip_tags($notify_comments) . 109 EMAIL_TEXT_STATUS_UPDATED . sprintf(EMAIL_TEXT_STATUS_LABEL, $orders_status_array[$status] ) . 110 EMAIL_TEXT_STATUS_PLEASE_REPLY; 111 112 $html_msg['EMAIL_CUSTOMERS_NAME'] = $check_status->fields['customers_name']; 113 $html_msg['EMAIL_TEXT_ORDER_NUMBER'] = EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID; 114 $html_msg['EMAIL_TEXT_INVOICE_URL'] = '<a href="' . zen_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') .'">'.str_replace(':','',EMAIL_TEXT_INVOICE_URL).'</a>'; 115 $html_msg['EMAIL_TEXT_DATE_ORDERED'] = EMAIL_TEXT_DATE_ORDERED . ' ' . zen_date_long($check_status->fields['date_purchased']); 116 $html_msg['EMAIL_TEXT_STATUS_COMMENTS'] = nl2br($notify_comments); 117 $html_msg['EMAIL_TEXT_STATUS_UPDATED'] = str_replace('\n','', EMAIL_TEXT_STATUS_UPDATED); 118 $html_msg['EMAIL_TEXT_STATUS_LABEL'] = str_replace('\n','', sprintf(EMAIL_TEXT_STATUS_LABEL, $orders_status_array[$status] )); 119 $html_msg['EMAIL_TEXT_NEW_STATUS'] = $orders_status_array[$status]; 120 $html_msg['EMAIL_TEXT_STATUS_PLEASE_REPLY'] = str_replace('\n','', EMAIL_TEXT_STATUS_PLEASE_REPLY); 121 122 zen_mail($check_status->fields['customers_name'], $check_status->fields['customers_email_address'], EMAIL_TEXT_SUBJECT . ' #' . $oID, $message, STORE_NAME, EMAIL_FROM, $html_msg, 'order_status'); 123 124 $customer_notified = '1'; 125 //send extra emails 126 if (SEND_EXTRA_ORDERS_STATUS_ADMIN_EMAILS_TO_STATUS == '1' and SEND_EXTRA_ORDERS_STATUS_ADMIN_EMAILS_TO != '') { 127 zen_mail('', SEND_EXTRA_ORDERS_STATUS_ADMIN_EMAILS_TO, SEND_EXTRA_ORDERS_STATUS_ADMIN_EMAILS_TO_SUBJECT . ' ' . EMAIL_TEXT_SUBJECT . ' #' . $oID, $message, STORE_NAME, EMAIL_FROM, $html_msg, 'order_status_extra'); 128 } 129 } 130 131 $db->Execute("insert into " . TABLE_ORDERS_STATUS_HISTORY . " 132 (orders_id, orders_status_id, date_added, customer_notified, comments) 133 values ('" . (int)$oID . "', 134 '" . zen_db_input($status) . "', 135 now(), 136 '" . zen_db_input($customer_notified) . "', 137 '" . zen_db_input($comments) . "')"); 138 139 $order_updated = true; 140 } 141 142 if ($order_updated == true) { 143 if ($status == DOWNLOADS_ORDERS_STATUS_UPDATED_VALUE) { 144 // adjust download_maxdays based on current date 145 $zc_max_days = date_diff($check_status->fields['date_purchased'], date('Y-m-d H:i:s', time())) + DOWNLOAD_MAX_DAYS; 146 147 $update_downloads_query = "update " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " set download_maxdays='" . $zc_max_days . "', download_count='" . DOWNLOAD_MAX_COUNT . "' where orders_id='" . (int)$oID . "'"; 148 $db->Execute($update_downloads_query); 149 } 150 $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success'); 151 } else { 152 $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning'); 153 } 154 155 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 156 break; 157 case 'deleteconfirm': 158 // demo active test 159 if (zen_admin_demo()) { 160 $_GET['action']= ''; 161 $messageStack->add_session(ERROR_ADMIN_DEMO, 'caution'); 162 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')), 'NONSSL')); 163 } 164 $oID = zen_db_prepare_input($_GET['oID']); 165 166 zen_remove_order($oID, $_POST['restock']); 167 168 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')), 'NONSSL')); 169 break; 170 case 'delete_cvv': 171 $delete_cvv = $db->Execute("update " . TABLE_ORDERS . " set cc_cvv = '" . TEXT_DELETE_CVV_REPLACEMENT . "' where orders_id = '" . (int)$_GET['oID'] . "'"); 172 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 173 break; 174 case 'mask_cc': 175 $result = $db->Execute("select cc_number from " . TABLE_ORDERS . " where orders_id = '" . (int)$_GET['oID'] . "'"); 176 $old_num = $result->fields['cc_number']; 177 $new_num = substr($old_num, 0, 4) . str_repeat('*', (strlen($old_num) - 8)) . substr($old_num, -4); 178 $mask_cc = $db->Execute("update " . TABLE_ORDERS . " set cc_number = '" . $new_num . "' where orders_id = '" . (int)$_GET['oID'] . "'"); 179 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 180 break; 181 182 case 'doRefund': 183 $order = new order($oID); 184 if ($order->info['payment_module_code']) { 185 if (file_exists(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php')) { 186 require_once(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php'); 187 require_once(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/payment/' . $order->info['payment_module_code'] . '.php'); 188 $module = new $order->info['payment_module_code']; 189 if (method_exists($module, '_doRefund')) { 190 $module->_doRefund($oID); 191 } 192 } 193 } 194 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 195 break; 196 case 'doAuth': 197 $order = new order($oID); 198 if ($order->info['payment_module_code']) { 199 if (file_exists(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php')) { 200 require_once(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php'); 201 require_once(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/payment/' . $order->info['payment_module_code'] . '.php'); 202 $module = new $order->info['payment_module_code']; 203 if (method_exists($module, '_doAuth')) { 204 $module->_doAuth($oID, $order->info['total'], $order->info['currency']); 205 } 206 } 207 } 208 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 209 break; 210 case 'doCapture': 211 $order = new order($oID); 212 if ($order->info['payment_module_code']) { 213 if (file_exists(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php')) { 214 require_once(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php'); 215 require_once(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/payment/' . $order->info['payment_module_code'] . '.php'); 216 $module = new $order->info['payment_module_code']; 217 if (method_exists($module, '_doCapt')) { 218 $module->_doCapt($oID, 'Complete', $order->info['total'], $order->info['currency']); 219 } 220 } 221 } 222 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 223 break; 224 case 'doVoid': 225 $order = new order($oID); 226 if ($order->info['payment_module_code']) { 227 if (file_exists(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php')) { 228 require_once(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php'); 229 require_once(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/payment/' . $order->info['payment_module_code'] . '.php'); 230 $module = new $order->info['payment_module_code']; 231 if (method_exists($module, '_doVoid')) { 232 $module->_doVoid($oID); 233 } 234 } 235 } 236 zen_redirect(zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=edit', 'NONSSL')); 237 break; 238 } 239 } 240 ?> 241 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> 242 <html <?php echo HTML_PARAMS; ?>> 243 <head> 244 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> 245 <title><?php echo TITLE; ?></title> 246 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> 247 <link rel="stylesheet" type="text/css" media="print" href="includes/stylesheet_print.css"> 248 <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS"> 249 <script language="javascript" src="includes/menu.js"></script> 250 <script language="javascript" src="includes/general.js"></script> 251 <script type="text/javascript"> 252 <!-- 253 function init() 254 { 255 cssjsmenu('navbar'); 256 if (document.getElementById) 257 { 258 var kill = document.getElementById('hoverJS'); 259 kill.disabled = true; 260 } 261 } 262 // --> 263 </script> 264 <script language="javascript" type="text/javascript"><!-- 265 function couponpopupWindow(url) { 266 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') 267 } 268 //--></script> 269 </head> 270 <body onLoad="init()"> 271 <!-- header //--> 272 <div class="header-area"> 273 <?php 274 require(DIR_WS_INCLUDES . 'header.php'); 275 ?> 276 </div> 277 <!-- header_eof //--> 278 279 <!-- body //--> 280 <table border="0" width="100%" cellspacing="2" cellpadding="2"> 281 <tr> 282 <!-- body_text //--> 283 284 <?php if (empty($action)) { ?> 285 <!-- search --> 286 <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> 287 <tr> 288 <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> 289 <tr><?php echo zen_draw_form('search', FILENAME_ORDERS, '', 'get', '', true); ?> 290 <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td> 291 <td colspan="2" class="smallText" align="right"> 292 <?php 293 // show reset search 294 if ((isset($_GET['search']) && zen_not_null($_GET['search'])) or $_GET['cID'] !='') { 295 echo '<a href="' . zen_href_link(FILENAME_ORDERS, '', 'NONSSL') . '">' . zen_image_button('button_reset.gif', IMAGE_RESET) . '</a><br />'; 296 } 297 ?> 298 <?php 299 echo HEADING_TITLE_SEARCH_DETAIL . ' ' . zen_draw_input_field('search') . zen_hide_session_id(); 300 if (isset($_GET['search']) && zen_not_null($_GET['search'])) { 301 $keywords = zen_db_input(zen_db_prepare_input($_GET['search'])); 302 echo '<br/ >' . TEXT_INFO_SEARCH_DETAIL_FILTER . $keywords; 303 } 304 ?> 305 </td> 306 </form></tr> 307 </table></td> 308 </tr> 309 <!-- search --> 310 <?php } ?> 311 312 313 <?php 314 if (($action == 'edit') && ($order_exists == true)) { 315 $order = new order($oID); 316 if ($order->info['payment_module_code']) { 317 if (file_exists(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php')) { 318 require(DIR_FS_CATALOG_MODULES . 'payment/' . $order->info['payment_module_code'] . '.php'); 319 require(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/payment/' . $order->info['payment_module_code'] . '.php'); 320 $module = new $order->info['payment_module_code']; 321 // echo $module->admin_notification($oID); 322 } 323 } 324 ?> 325 <tr> 326 <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> 327 <tr> 328 <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> 329 <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td> 330 <td class="pageHeading" align="right"><?php echo '<a href="javascript:history.back()">' . zen_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td> 331 </tr> 332 </table></td> 333 </tr> 334 <tr> 335 <td><table width="100%" border="0" cellspacing="0" cellpadding="2"> 336 <tr> 337 <td colspan="3"><?php echo zen_draw_separator(); ?></td> 338 </tr> 339 <tr> 340 <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2"> 341 <tr> 342 <td class="main" valign="top"><strong><?php echo ENTRY_CUSTOMER; ?></strong></td> 343 <td class="main"><?php echo zen_address_format($order->customer['format_id'], $order->customer, 1, '', '<br />'); ?></td> 344 </tr> 345 <tr> 346 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '5'); ?></td> 347 </tr> 348 <tr> 349 <td class="main"><strong><?php echo ENTRY_TELEPHONE_NUMBER; ?></strong></td> 350 <td class="main"><?php echo $order->customer['telephone']; ?></td> 351 </tr> 352 <tr> 353 <td class="main"><strong><?php echo ENTRY_EMAIL_ADDRESS; ?></strong></td> 354 <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '">' . $order->customer['email_address'] . '</a>'; ?></td> 355 </tr> 356 <tr> 357 <td class="main"><strong><?php echo TEXT_INFO_IP_ADDRESS; ?></strong></td> 358 <td class="main"><?php echo $order->info['ip_address']; ?></td> 359 </tr> 360 </table></td> 361 <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2"> 362 <tr> 363 <td class="main" valign="top"><strong><?php echo ENTRY_SHIPPING_ADDRESS; ?></strong></td> 364 <td class="main"><?php echo zen_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br />'); ?></td> 365 </tr> 366 </table></td> 367 <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2"> 368 <tr> 369 <td class="main" valign="top"><strong><?php echo ENTRY_BILLING_ADDRESS; ?></strong></td> 370 <td class="main"><?php echo zen_address_format($order->billing['format_id'], $order->billing, 1, '', '<br />'); ?></td> 371 </tr> 372 </table></td> 373 </tr> 374 </table></td> 375 </tr> 376 <tr> 377 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 378 </tr> 379 <tr> 380 <td class="main"><strong><?php echo ENTRY_ORDER_ID . $oID; ?></strong></td> 381 </tr> 382 <tr> 383 <td><table border="0" cellspacing="0" cellpadding="2"> 384 <tr> 385 <td class="main"><strong><?php echo ENTRY_DATE_PURCHASED; ?></strong></td> 386 <td class="main"><?php echo zen_date_long($order->info['date_purchased']); ?></td> 387 </tr> 388 <tr> 389 <td class="main"><strong><?php echo ENTRY_PAYMENT_METHOD; ?></strong></td> 390 <td class="main"><?php echo $order->info['payment_method']; ?></td> 391 </tr> 392 <?php 393 if (zen_not_null($order->info['cc_type']) || zen_not_null($order->info['cc_owner']) || zen_not_null($order->info['cc_number'])) { 394 ?> 395 <tr> 396 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 397 </tr> 398 <tr> 399 <td class="main"><?php echo ENTRY_CREDIT_CARD_TYPE; ?></td> 400 <td class="main"><?php echo $order->info['cc_type']; ?></td> 401 </tr> 402 <tr> 403 <td class="main"><?php echo ENTRY_CREDIT_CARD_OWNER; ?></td> 404 <td class="main"><?php echo $order->info['cc_owner']; ?></td> 405 </tr> 406 <tr> 407 <td class="main"><?php echo ENTRY_CREDIT_CARD_NUMBER; ?></td> 408 <td class="main"><?php echo $order->info['cc_number'] . (zen_not_null($order->info['cc_number']) && !strstr($order->info['cc_number'],'X') && !strstr($order->info['cc_number'],'********') ? ' <a href="' . zen_href_link(FILENAME_ORDERS, '&action=mask_cc&oID=' . $oID, 'NONSSL') . '" class="noprint">' . TEXT_MASK_CC_NUMBER . '</a>' : ''); ?><td> 409 </tr> 410 <tr> 411 <td class="main"><?php echo ENTRY_CREDIT_CARD_CVV; ?></td> 412 <td class="main"><?php echo $order->info['cc_cvv'] . (zen_not_null($order->info['cc_cvv']) && !strstr($order->info['cc_cvv'],TEXT_DELETE_CVV_REPLACEMENT) ? ' <a href="' . zen_href_link(FILENAME_ORDERS, '&action=delete_cvv&oID=' . $oID, 'NONSSL') . '" class="noprint">' . TEXT_DELETE_CVV_FROM_DATABASE . '</a>' : ''); ?><td> 413 </tr> 414 <tr> 415 <td class="main"><?php echo ENTRY_CREDIT_CARD_EXPIRES; ?></td> 416 <td class="main"><?php echo $order->info['cc_expires']; ?></td> 417 </tr> 418 <?php 419 } 420 ?> 421 </table></td> 422 </tr> 423 <?php 424 if (method_exists($module, 'admin_notification')) { 425 ?> 426 <tr> 427 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 428 </tr> 429 <tr> 430 <?php echo $module->admin_notification($oID); ?> 431 </tr> 432 <tr> 433 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 434 </tr> 435 <?php 436 } 437 ?> 438 <tr> 439 <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> 440 <tr class="dataTableHeadingRow"> 441 <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td> 442 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td> 443 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td> 444 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td> 445 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td> 446 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td> 447 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td> 448 </tr> 449 <?php 450 for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { 451 echo ' <tr class="dataTableRow">' . "\n" . 452 ' <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" . 453 ' <td class="dataTableContent" valign="top">' . $order->products[$i]['name']; 454 455 if (isset($order->products[$i]['attributes']) && (sizeof($order->products[$i]['attributes']) > 0)) { 456 for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j++) { 457 echo '<br /><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . nl2br(zen_output_string_protected($order->products[$i]['attributes'][$j]['value'])); 458 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']) . ')'; 459 if ($order->products[$i]['attributes'][$j]['product_attribute_is_free'] == '1' and $order->products[$i]['product_is_free'] == '1') echo TEXT_INFO_ATTRIBUTE_FREE; 460 echo '</i></small></nobr>'; 461 } 462 } 463 464 echo ' </td>' . "\n" . 465 ' <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n" . 466 ' <td class="dataTableContent" align="right" valign="top">' . zen_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" . 467 ' <td class="dataTableContent" align="right" valign="top"><strong>' . 468 $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) . 469 ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format($order->products[$i]['onetime_charges'], true, $order->info['currency'], $order->info['currency_value']) : '') . 470 '</strong></td>' . "\n" . 471 ' <td class="dataTableContent" align="right" valign="top"><strong>' . 472 $currencies->format(zen_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . 473 ($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']) : '') . 474 '</strong></td>' . "\n" . 475 ' <td class="dataTableContent" align="right" valign="top"><strong>' . 476 $currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . 477 ($order->products[$i]['onetime_charges'] != 0 ? '<br />' . $currencies->format($order->products[$i]['onetime_charges'], true, $order->info['currency'], $order->info['currency_value']) : '') . 478 '</strong></td>' . "\n" . 479 ' <td class="dataTableContent" align="right" valign="top"><strong>' . 480 $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']) . 481 ($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']) : '') . 482 '</strong></td>' . "\n"; 483 echo ' </tr>' . "\n"; 484 } 485 ?> 486 <tr> 487 <td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2"> 488 <?php 489 for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) { 490 echo ' <tr>' . "\n" . 491 ' <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Text">' . $order->totals[$i]['title'] . '</td>' . "\n" . 492 ' <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Amount">' . $order->totals[$i]['text'] . '</td>' . "\n" . 493 ' </tr>' . "\n"; 494 } 495 ?> 496 </table></td> 497 </tr> 498 </table></td> 499 </tr> 500 501 <?php 502 // show downloads 503 require(DIR_WS_MODULES . 'orders_download.php'); 504 ?> 505 506 <tr> 507 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 508 </tr> 509 <tr> 510 <td class="main"><table border="1" cellspacing="0" cellpadding="5"> 511 <tr> 512 <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_DATE_ADDED; ?></strong></td> 513 <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></strong></td> 514 <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_STATUS; ?></strong></td> 515 <td class="smallText" align="center"><strong><?php echo TABLE_HEADING_COMMENTS; ?></strong></td> 516 </tr> 517 <?php 518 $orders_history = $db->Execute("select orders_status_id, date_added, customer_notified, comments 519 from " . TABLE_ORDERS_STATUS_HISTORY . " 520 where orders_id = '" . zen_db_input($oID) . "' 521 order by date_added"); 522 523 if ($orders_history->RecordCount() > 0) { 524 while (!$orders_history->EOF) { 525 echo ' <tr>' . "\n" . 526 ' <td class="smallText" align="center">' . zen_datetime_short($orders_history->fields['date_added']) . '</td>' . "\n" . 527 ' <td class="smallText" align="center">'; 528 if ($orders_history->fields['customer_notified'] == '1') { 529 echo zen_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . "</td>\n"; 530 } else { 531 echo zen_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "</td>\n"; 532 } 533 echo ' <td class="smallText">' . $orders_status_array[$orders_history->fields['orders_status_id']] . '</td>' . "\n"; 534 echo ' <td class="smallText">' . nl2br(zen_db_output($orders_history->fields['comments'])) . ' </td>' . "\n" . 535 ' </tr>' . "\n"; 536 $orders_history->MoveNext(); 537 } 538 } else { 539 echo ' <tr>' . "\n" . 540 ' <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" . 541 ' </tr>' . "\n"; 542 } 543 ?> 544 </table></td> 545 </tr> 546 <tr> 547 <td class="main noprint"><br /><strong><?php echo TABLE_HEADING_COMMENTS; ?></strong></td> 548 </tr> 549 <tr> 550 <td class="noprint"><?php echo zen_draw_separator('pixel_trans.gif', '1', '5'); ?></td> 551 </tr> 552 <tr><?php echo zen_draw_form('status', FILENAME_ORDERS, zen_get_all_get_params(array('action')) . 'action=update_order', 'post', '', true); ?> 553 <td class="main noprint"><?php echo zen_draw_textarea_field('comments', 'soft', '60', '5'); ?></td> 554 </tr> 555 <tr> 556 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 557 </tr> 558 <tr> 559 <td><table border="0" cellspacing="0" cellpadding="2" class="noprint"> 560 <tr> 561 <td><table border="0" cellspacing="0" cellpadding="2"> 562 <tr> 563 <td class="main"><strong><?php echo ENTRY_STATUS; ?></strong> <?php echo zen_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td> 564 </tr> 565 <tr> 566 <td class="main"><strong><?php echo ENTRY_NOTIFY_CUSTOMER; ?></strong> <?php echo zen_draw_checkbox_field('notify', '', true); ?></td> 567 <td class="main"><strong><?php echo ENTRY_NOTIFY_COMMENTS; ?></strong> <?php echo zen_draw_checkbox_field('notify_comments', '', true); ?></td> 568 </tr> 569 </table></td> 570 <td valign="top"><?php echo zen_image_submit('button_update.gif', IMAGE_UPDATE); ?></td> 571 </tr> 572 </table></td> 573 </form></tr> 574 <tr> 575 <td colspan="2" align="right" class="noprint"><?php echo '<a href="' . zen_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $_GET['oID']) . '" TARGET="_blank">' . zen_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . zen_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $_GET['oID']) . '" TARGET="_blank">' . zen_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a> <a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('action'))) . '">' . zen_image_button('button_orders.gif', IMAGE_ORDERS) . '</a>'; ?></td> 576 </tr> 577 <?php 578 // check if order has open gv 579 $gv_check = $db->Execute("select order_id, unique_id 580 from " . TABLE_COUPON_GV_QUEUE ." 581 where order_id = '" . $_GET['oID'] . "' and release_flag='N' limit 1"); 582 if ($gv_check->RecordCount() > 0) { 583 $goto_gv = '<a href="' . zen_href_link(FILENAME_GV_QUEUE, 'order=' . $_GET['oID']) . '">' . zen_image_button('button_gift_queue.gif',IMAGE_GIFT_QUEUE) . '</a>'; 584 echo ' <tr><td align="right"><table width="225"><tr>'; 585 echo ' <td align="center">'; 586 echo $goto_gv . ' '; 587 echo ' </td>'; 588 echo ' </tr></table></td></tr>'; 589 } 590 ?> 591 <?php 592 } else { 593 ?> 594 <tr> 595 <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> 596 <tr> 597 <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> 598 <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td> 599 <td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0"> 600 <tr><?php echo zen_draw_form('orders', FILENAME_ORDERS, '', 'get', '', true); ?> 601 <td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . zen_draw_input_field('oID', '', 'size="12"') . zen_draw_hidden_field('action', 'edit') . zen_hide_session_id(); ?></td> 602 </form></tr> 603 <tr><?php echo zen_draw_form('status', FILENAME_ORDERS, '', 'get', '', true); ?> 604 <td class="smallText" align="right"> 605 <?php 606 echo HEADING_TITLE_STATUS . ' ' . zen_draw_pull_down_menu('status', array_merge(array(array('id' => '', 'text' => TEXT_ALL_ORDERS)), $orders_statuses), $_GET['status'], 'onChange="this.form.submit();"'); 607 echo zen_hide_session_id(); 608 ?> 609 </td> 610 </form></tr> 611 </table></td> 612 </tr> 613 </table></td> 614 </tr> 615 <tr> 616 <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> 617 <tr> 618 <td class="smallText"><?php echo TEXT_LEGEND . ' ' . zen_image(DIR_WS_IMAGES . 'icon_status_red.gif', TEXT_BILLING_SHIPPING_MISMATCH, 10, 10) . ' ' . TEXT_BILLING_SHIPPING_MISMATCH; ?> 619 </td> 620 <tr> 621 <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> 622 <tr class="dataTableHeadingRow"> 623 <?php 624 // Sort Listing 625 switch ($_GET['list_order']) { 626 case "id-asc": 627 $disp_order = "c.customers_id"; 628 break; 629 case "firstname": 630 $disp_order = "c.customers_firstname"; 631 break; 632 case "firstname-desc": 633 $disp_order = "c.customers_firstname DESC"; 634 break; 635 case "lastname": 636 $disp_order = "c.customers_lastname, c.customers_firstname"; 637 break; 638 case "lastname-desc": 639 $disp_order = "c.customers_lastname DESC, c.customers_firstname"; 640 break; 641 case "company": 642 $disp_order = "a.entry_company"; 643 break; 644 case "company-desc": 645 $disp_order = "a.entry_company DESC"; 646 break; 647 default: 648 $disp_order = "c.customers_id DESC"; 649 } 650 ?> 651 <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_ORDERS_ID; ?></td> 652 <td class="dataTableHeadingContent" align="left" width="50"><?php echo TABLE_HEADING_PAYMENT_METHOD; ?></td> 653 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td> 654 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td> 655 <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td> 656 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td> 657 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td> 658 </tr> 659 660 <?php 661 // create search filter 662 $search = ''; 663 if (isset($_GET['search']) && zen_not_null($_GET['search'])) { 664 $keywords = zen_db_input(zen_db_prepare_input($_GET['search'])); 665 $search = " and (o.customers_city like '%" . $keywords . "%' or o.customers_postcode like '%" . $keywords . "%' or o.date_purchased like '%" . $keywords . "%' or o.billing_name like '%" . $keywords . "%' or o.billing_company like '%" . $keywords . "%' or o.billing_street_address like '%" . $keywords . "%' or o.delivery_city like '%" . $keywords . "%' or o.delivery_postcode like '%" . $keywords . "%' or o.delivery_name like '%" . $keywords . "%' or o.delivery_company like '%" . $keywords . "%' or o.delivery_street_address like '%" . $keywords . "%' or o.billing_city like '%" . $keywords . "%' or o.billing_postcode like '%" . $keywords . "%' or o.customers_email_address like '%" . $keywords . "%' or o.customers_name like '%" . $keywords . "%' or o.customers_company like '%" . $keywords . "%' or o.customers_street_address like '%" . $keywords . "%' or o.customers_telephone like '%" . $keywords . "%' or o.ip_address like '%" . $keywords . "%')"; 666 } 667 ?> 668 <?php 669 $new_fields = ", o.customers_company, o.customers_email_address, o.customers_street_address, o.delivery_company, o.delivery_name, o.delivery_street_address, o.billing_company, o.billing_name, o.billing_street_address, o.payment_module_code, o.shipping_module_code, o.ip_address "; 670 if (isset($_GET['cID'])) { 671 $cID = zen_db_prepare_input($_GET['cID']); 672 $orders_query_raw = "select o.orders_id, o.customers_id, o.customers_name, o.payment_method, o.shipping_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total" . $new_fields . " from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$_SESSION['languages_id'] . "' and ot.class = 'ot_total' order by orders_id DESC"; 673 } elseif ($_GET['status'] != '') { 674 $status = zen_db_prepare_input($_GET['status']); 675 $orders_query_raw = "select o.orders_id, o.customers_id, o.customers_name, o.payment_method, o.shipping_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total" . $new_fields . " from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$_SESSION['languages_id'] . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' " . $search . " order by o.orders_id DESC"; 676 } else { 677 $orders_query_raw = "select o.orders_id, o.customers_id, o.customers_name, o.payment_method, o.shipping_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total" . $new_fields . " from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$_SESSION['languages_id'] . "' and ot.class = 'ot_total' " . $search . " order by o.orders_id DESC"; 678 } 679 680 // Split Page 681 // reset page when page is unknown 682 if (($_GET['page'] == '' or $_GET['page'] <= 1) and $_GET['oID'] != '') { 683 $check_page = $db->Execute($orders_query_raw); 684 $check_count=1; 685 if ($check_page->RecordCount() > MAX_DISPLAY_SEARCH_RESULTS_ORDERS) { 686 while (!$check_page->EOF) { 687 if ($check_page->fields['orders_id'] == $_GET['oID']) { 688 break; 689 } 690 $check_count++; 691 $check_page->MoveNext(); 692 } 693 $_GET['page'] = round((($check_count/MAX_DISPLAY_SEARCH_RESULTS_ORDERS)+(fmod_round($check_count,MAX_DISPLAY_SEARCH_RESULTS_ORDERS) !=0 ? .5 : 0)),0); 694 } else { 695 $_GET['page'] = 1; 696 } 697 } 698 699 // $orders_query_numrows = ''; 700 $orders_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS_ORDERS, $orders_query_raw, $orders_query_numrows); 701 $orders = $db->Execute($orders_query_raw); 702 while (!$orders->EOF) { 703 if ((!isset($_GET['oID']) || (isset($_GET['oID']) && ($_GET['oID'] == $orders->fields['orders_id']))) && !isset($oInfo)) { 704 $oInfo = new objectInfo($orders->fields); 705 } 706 707 if (isset($oInfo) && is_object($oInfo) && ($orders->fields['orders_id'] == $oInfo->orders_id)) { 708 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"; 709 } else { 710 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"; 711 } 712 713 $show_difference = ''; 714 if (($orders->fields['delivery_name'] != $orders->fields['billing_name'] and $orders->fields['delivery_name'] != '')) { 715 $show_difference = zen_image(DIR_WS_IMAGES . 'icon_status_red.gif', TEXT_BILLING_SHIPPING_MISMATCH, 10, 10) . ' '; 716 } 717 if (($orders->fields['delivery_street_address'] != $orders->fields['billing_street_address'] and $orders->fields['delivery_street_address'] != '')) { 718 $show_difference = zen_image(DIR_WS_IMAGES . 'icon_status_red.gif', TEXT_BILLING_SHIPPING_MISMATCH, 10, 10) . ' '; 719 } 720 $show_payment_type = $orders->fields['payment_module_code'] . '<br />' . $orders->fields['shipping_module_code']; 721 ?> 722 <td class="dataTableContent" align="right"><?php echo $show_difference . $orders->fields['orders_id']; ?></td> 723 <td class="dataTableContent" align="left" width="50"><?php echo $show_payment_type; ?></td> 724 <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> 725 <td class="dataTableContent" align="right"><?php echo strip_tags($orders->fields['order_total']); ?></td> 726 <td class="dataTableContent" align="center"><?php echo zen_datetime_short($orders->fields['date_purchased']); ?></td> 727 <td class="dataTableContent" align="right"><?php echo $orders->fields['orders_status_name']; ?></td> 728 729 <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=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> 730 </tr> 731 <?php 732 $orders->MoveNext(); 733 } 734 ?> 735 <tr> 736 <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2"> 737 <tr> 738 <td class="smallText" valign="top"><?php echo $orders_split->display_count($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS_ORDERS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS); ?></td> 739 <td class="smallText" align="right"><?php echo $orders_split->display_links($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS_ORDERS, MAX_DISPLAY_PAGE_LINKS, $_GET['page'], zen_get_all_get_params(array('page', 'oID', 'action'))); ?></td> 740 </tr> 741 <?php 742 if (isset($_GET['search']) && zen_not_null($_GET['search'])) { 743 ?> 744 <tr> 745 <td class="smallText" align="right" colspan="2"> 746 <?php 747 echo '<a href="' . zen_href_link(FILENAME_ORDERS, '', 'NONSSL') . '">' . zen_image_button('button_reset.gif', IMAGE_RESET) . '</a>'; 748 if (isset($_GET['search']) && zen_not_null($_GET['search'])) { 749 $keywords = zen_db_input(zen_db_prepare_input($_GET['search'])); 750 echo '<br/ >' . TEXT_INFO_SEARCH_DETAIL_FILTER . $keywords; 751 } 752 ?> 753 </td> 754 </tr> 755 <?php 756 } 757 ?> 758 </table></td> 759 </tr> 760 </table></td> 761 <?php 762 $heading = array(); 763 $contents = array(); 764 765 switch ($action) { 766 case 'delete': 767 $heading[] = array('text' => '<strong>' . TEXT_INFO_HEADING_DELETE_ORDER . '</strong>'); 768 769 $contents = array('form' => zen_draw_form('orders', FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=deleteconfirm', 'post', '', true)); 770 // $contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '<br /><br /><strong>' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '</strong>'); 771 $contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '<br /><br /><strong>' . ENTRY_ORDER_ID . $oInfo->orders_id . '<br />' . $oInfo->order_total . '<br />' . $oInfo->customers_name . ($oInfo->customers_company != '' ? '<br />' . $oInfo->customers_company : '') . '</strong>'); 772 $contents[] = array('text' => '<br />' . zen_draw_checkbox_field('restock') . ' ' . TEXT_INFO_RESTOCK_PRODUCT_QUANTITY); 773 $contents[] = array('align' => 'center', 'text' => '<br />' . zen_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id, 'NONSSL') . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); 774 break; 775 default: 776 if (isset($oInfo) && is_object($oInfo)) { 777 $heading[] = array('text' => '<strong>[' . $oInfo->orders_id . '] ' . zen_datetime_short($oInfo->date_purchased) . '</strong>'); 778 779 $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit', 'NONSSL') . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=delete', 'NONSSL') . '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a>'); 780 $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . zen_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . zen_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . zen_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a>'); 781 $contents[] = array('text' => '<br />' . TEXT_DATE_ORDER_CREATED . ' ' . zen_date_short($oInfo->date_purchased)); 782 $contents[] = array('text' => '<br />' . $oInfo->customers_email_address); 783 $contents[] = array('text' => TEXT_INFO_IP_ADDRESS . ' ' . $oInfo->ip_address); 784 if (zen_not_null($oInfo->last_modified)) $contents[] = array('text' => TEXT_DATE_ORDER_LAST_MODIFIED . ' ' . zen_date_short($oInfo->last_modified)); 785 $contents[] = array('text' => '<br />' . TEXT_INFO_PAYMENT_METHOD . ' ' . $oInfo->payment_method); 786 $contents[] = array('text' => '<br />' . ENTRY_SHIPPING . ' ' . $oInfo->shipping_method); 787 788 // check if order has open gv 789 $gv_check = $db->Execute("select order_id, unique_id 790 from " . TABLE_COUPON_GV_QUEUE ." 791 where order_id = '" . $oInfo->orders_id . "' and release_flag='N' limit 1"); 792 if ($gv_check->RecordCount() > 0) { 793 $goto_gv = '<a href="' . zen_href_link(FILENAME_GV_QUEUE, 'order=' . $oInfo->orders_id) . '">' . zen_image_button('button_gift_queue.gif',IMAGE_GIFT_QUEUE) . '</a>'; 794 $contents[] = array('text' => '<br />' . zen_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); 795 $contents[] = array('align' => 'center', 'text' => $goto_gv); 796 } 797 } 798 799 // indicate if comments exist 800 $orders_history_query = $db->Execute("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . $oInfo->orders_id . "' and comments !='" . "'" ); 801 if ($orders_history_query->RecordCount() > 0) { 802 $contents[] = array('align' => 'left', 'text' => '<br />' . TABLE_HEADING_COMMENTS); 803 } 804 805 $contents[] = array('text' => '<br />' . zen_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); 806 $order = new order($oInfo->orders_id); 807 $contents[] = array('text' => 'Products Ordered: ' . sizeof($order->products) ); 808 for ($i=0; $i<sizeof($order->products); $i++) { 809 $contents[] = array('text' => $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name']); 810 811 if (sizeof($order->products[$i]['attributes']) > 0) { 812 for ($j=0; $j<sizeof($order->products[$i]['attributes']); $j++) { 813 $contents[] = array('text' => ' <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . nl2br(zen_output_string_protected($order->products[$i]['attributes'][$j]['value'])) . '</i></nobr>' ); 814 } 815 } 816 if ($i > MAX_DISPLAY_RESULTS_ORDERS_DETAILS_LISTING and MAX_DISPLAY_RESULTS_ORDERS_DETAILS_LISTING != 0) { 817 $contents[] = array('align' => 'left', 'text' => TEXT_MORE); 818 break; 819 } 820 } 821 822 if (sizeof($order->products) > 0) { 823 $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit', 'NONSSL') . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a>'); 824 } 825 break; 826 } 827 828 if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) { 829 echo ' <td width="25%" valign="top">' . "\n"; 830 831 $box = new box; 832 echo $box->infoBox($heading, $contents); 833 834 echo ' </td>' . "\n"; 835 } 836 ?> 837 </tr> 838 </table></td> 839 </tr> 840 <?php 841 } 842 ?> 843 </table></td> 844 <!-- body_text_eof //--> 845 </tr> 846 </table> 847 <!-- body_eof //--> 848 849 <!-- footer //--> 850 <div class="footer-area"> 851 <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> 852 </div> 853 <!-- footer_eof //--> 854 <br /> 855 </body> 856 </html> 857 <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 16:45:43 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |