[ Index ] |
|
Code source de Zen Cart E-Commerce Shopping Cart 1.3.7.1 |
1 <?php 2 // 3 // +----------------------------------------------------------------------+ 4 // |zen-cart Open Source E-commerce | 5 // +----------------------------------------------------------------------+ 6 // | Copyright (c) 2003 The zen-cart developers | 7 // | | 8 // | http://www.zen-cart.com/index.php | 9 // | | 10 // | Portions Copyright (c) 2003 osCommerce | 11 // | | 12 // | DevosC, Developing open source Code | 13 // | Copyright (c) 2004 DevosC.com | 14 // +----------------------------------------------------------------------+ 15 // | This source file is subject to version 2.0 of the GPL license, | 16 // | that is bundled with this package in the file LICENSE, and is | 17 // | available through the world-wide-web at the following url: | 18 // | http://www.zen-cart.com/license/2_0.txt. | 19 // | If you did not receive a copy of the zen-cart license and are unable | 20 // | to obtain it through the world-wide-web, please send a note to | 21 // | license@zen-cart.com so we can mail you a copy immediately. | 22 // +----------------------------------------------------------------------+ 23 // $Id: paypal.php 3016 2006-02-12 05:26:46Z ajeh $ 24 // 25 require ('includes/application_top.php'); 26 27 $paypal_ipn_sort_order_array = array(array('id' => '0', 'text' => TEXT_SORT_PAYPAL_ID_DESC), 28 array('id' => '1', 'text' => TEXT_SORT_PAYPAL_ID), 29 array('id' => '2', 'text' => TEXT_SORT_ZEN_ORDER_ID_DESC), 30 array('id' => '3', 'text'=> TEXT_SORT_ZEN_ORDER_ID), 31 array('id' => '4', 'text'=> TEXT_PAYMENT_AMOUNT_DESC), 32 array('id' => '5', 'text'=> TEXT_PAYMENT_AMOUNT) 33 ); 34 35 if (isset($_GET['paypal_ipn_sort_order'])) { 36 $paypal_ipn_sort_order = $_GET['paypal_ipn_sort_order']; 37 } else { 38 $paypal_ipn_sort_order = 0; 39 } 40 // $ipn_query_raw = "select p.zen_order_id, p.paypal_ipn_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.first_name, p.last_name, p.payer_business_name, p.parent_txn_id, p.txn_id from " . TABLE_PAYPAL . " as p, " .TABLE_ORDERS . " as o where o.orders_id = p.zen_order_id " . $ipn_search . " order by o.orders_id DESC"; 41 42 switch ($paypal_ipn_sort_order) { 43 case (0): 44 $order_by = " order by p.paypal_ipn_id DESC"; 45 break; 46 case (1): 47 $order_by = " order by p.paypal_ipn_id"; 48 break; 49 case (2): 50 $order_by = " order by p.zen_order_id DESC, p.paypal_ipn_id"; 51 break; 52 case (3): 53 $order_by = " order by p.zen_order_id, p.paypal_ipn_id"; 54 break; 55 case (4): 56 $order_by = " order by p.mc_gross DESC"; 57 break; 58 case (5): 59 $order_by = " order by p.mc_gross"; 60 break; 61 default: 62 $order_by = " order by p.paypal_ipn_id DESC"; 63 break; 64 } 65 66 $action = (isset($_GET['action']) ? $_GET['action'] : ''); 67 $selected_status = (isset($_GET['payment_status']) ? $_GET['payment_status'] : ''); 68 69 require(DIR_FS_CATALOG_MODULES . 'payment/paypal.php'); 70 71 $payment_statuses = array(); 72 $payment_status_trans = $db->Execute("select payment_status_name as payment_status from " . TABLE_PAYPAL_PAYMENT_STATUS ); 73 while (!$payment_status_trans->EOF) { 74 $payment_statuses[] = array('id' => $payment_status_trans->fields['payment_status'], 75 'text' => $payment_status_trans->fields['payment_status']); 76 $payment_status_trans->MoveNext(); 77 } 78 79 ?> 80 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> 81 <html <?php echo HTML_PARAMS; ?>> 82 <head> 83 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> 84 <title><?php echo TITLE; ?></title> 85 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> 86 <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS"> 87 <script language="javascript" src="includes/menu.js"></script> 88 <script language="javascript" src="includes/general.js"></script> 89 <script type="text/javascript"> 90 <!-- 91 function init() 92 { 93 cssjsmenu('navbar'); 94 if (document.getElementById) 95 { 96 var kill = document.getElementById('hoverJS'); 97 kill.disabled = true; 98 } 99 } 100 // --> 101 </script> 102 </head> 103 <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus(), init();"> 104 <!-- header //--> 105 <?php require(DIR_WS_INCLUDES . 'header.php'); ?> 106 <!-- header_eof //--> 107 108 <!-- body //--> 109 <table border="0" width="100%" cellspacing="2" cellpadding="2"> 110 <tr> 111 <!-- body_text //--> 112 <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> 113 <tr> 114 <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> 115 <tr> 116 <td class="pageHeading"><?php echo HEADING_ADMIN_TITLE; ?></td> 117 <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> 118 <td class="smallText" align="right"> 119 <?php 120 echo zen_draw_form('payment_status', FILENAME_PAYPAL, '', 'get') . HEADING_PAYMENT_STATUS . ' ' . zen_draw_pull_down_menu('payment_status', array_merge(array(array('id' => '', 'text' => TEXT_ALL_IPNS)), $payment_statuses), $selected_status, 'onChange="this.form.submit();"') . zen_hide_session_id() . zen_draw_hidden_field('paypal_ipn_sort_order', $_GET['paypal_ipn_sort_order']) . '</form>'; 121 ?> 122 <?php 123 // echo zen_draw_form('payment_sort_order', FILENAME_PAYPAL, '', 'get') . HEADING_PAYMENT_STATUS . ' ' . zen_draw_pull_down_menu('payment_sort_order', array_merge(array(array('id' => '', 'text' => TEXT_ALL_IPNS)), $payment_statuses), $selected_status, 'onChange="this.form.submit();"') . zen_hide_session_id() . '</form>'; 124 echo ' ' . TEXT_PAYPAL_IPN_SORT_ORDER_INFO . zen_draw_form('paypal_ipn_sort_order', FILENAME_PAYPAL, '', 'get') . ' ' . zen_draw_pull_down_menu('paypal_ipn_sort_order', $paypal_ipn_sort_order_array, $reset_paypal_ipn_sort_order, 'onChange="this.form.submit();"') . zen_hide_session_id() . zen_draw_hidden_field('payment_status', $_GET['payment_status']) . '</form>'; 125 ?> 126 </td> 127 <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> 128 </tr> 129 </table></td> 130 </tr> 131 <tr> 132 <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> 133 <tr> 134 <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> 135 <tr class="dataTableHeadingRow"> 136 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_ORDER_NUMBER; ?></td> 137 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PAYPAL_ID; ?></td> 138 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_TXN_TYPE; ?></td> 139 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PAYMENT_STATUS; ?></td> 140 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PAYMENT_AMOUNT; ?></td> 141 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td> 142 </tr> 143 <?php 144 if (zen_not_null($selected_status)) { 145 $ipn_search = "and p.payment_status = '" . zen_db_prepare_input($selected_status) . "'"; 146 switch ($selected_status) { 147 case 'Pending': 148 case 'Completed': 149 default: 150 // $ipn_query_raw = "select p.zen_order_id, p.paypal_ipn_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.first_name, p.last_name, p.payer_business_name, p.parent_txn_id, p.txn_id from " . TABLE_PAYPAL . " as p, " .TABLE_ORDERS . " as o where o.orders_id = p.zen_order_id " . $ipn_search . " order by o.orders_id DESC"; 151 $ipn_query_raw = "select p.zen_order_id, p.paypal_ipn_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.first_name, p.last_name, p.payer_business_name, p.parent_txn_id, p.txn_id from " . TABLE_PAYPAL . " as p, " .TABLE_ORDERS . " as o where o.orders_id = p.zen_order_id " . $ipn_search . $order_by; 152 break; 153 } 154 } else { 155 // $ipn_query_raw = "select p.zen_order_id, p.paypal_ipn_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.first_name, p.last_name, p.payer_business_name, p.parent_txn_id, p.txn_id from " . TABLE_PAYPAL . " as p left join " .TABLE_ORDERS . " as o on o.orders_id = p.zen_order_id order by p.paypal_ipn_id DESC"; 156 $ipn_query_raw = "select p.zen_order_id, p.paypal_ipn_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.first_name, p.last_name, p.payer_business_name, p.parent_txn_id, p.txn_id from " . TABLE_PAYPAL . " as p left join " .TABLE_ORDERS . " as o on o.orders_id = p.zen_order_id" . $order_by; 157 } 158 $ipn_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS_PAYPAL_IPN, $ipn_query_raw, $ipn_query_numrows); 159 $ipn_trans = $db->Execute($ipn_query_raw); 160 while (!$ipn_trans->EOF) { 161 if ((!isset($_GET['ipnID']) || (isset($_GET['ipnID']) && ($_GET['ipnID'] == $ipn_trans->fields['paypal_ipn_id']))) && !isset($ipnInfo) ) { 162 $ipnInfo = new objectInfo($ipn_trans->fields); 163 } 164 165 if (isset($ipnInfo) && is_object($ipnInfo) && ($ipn_trans->fields['paypal_ipn_id'] == $ipnInfo->paypal_ipn_id) ) { 166 echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_ORDERS, 'page=' . $_GET['page'] . '&ipnID=' . $ipnInfo->paypal_ipn_id . '&oID=' . $ipnInfo->zen_order_id . '&action=edit' . '&referer=ipn' . (zen_not_null($selected_status) ? '&payment_status=' . $selected_status : '') . (zen_not_null($paypal_ipn_sort_order) ? '&paypal_ipn_sort_order=' . $paypal_ipn_sort_order : '') ) . '\'">' . "\n"; 167 } else { 168 echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_PAYPAL, 'page=' . $_GET['page'] . '&ipnID=' . $ipn_trans->fields['paypal_ipn_id'] . (zen_not_null($selected_status) ? '&payment_status=' . $selected_status : '') . (zen_not_null($paypal_ipn_sort_order) ? '&paypal_ipn_sort_order=' . $paypal_ipn_sort_order : '') ) . '\'">' . "\n"; 169 } 170 ?> 171 <td class="dataTableContent"> <?php echo $ipn_trans->fields['zen_order_id']; ?> </td> 172 <td class="dataTableContent"> <?php echo $ipn_trans->fields['paypal_ipn_id']; ?> </td> 173 <td class="dataTableContent"> <?php echo $ipn_trans->fields['txn_type'] . '<br />' . $ipn_trans->fields['first_name'] . ' ' . $ipn_trans->fields['last_name'] . ($ipn_trans->fields['payer_business_name'] != '' ? '<br />' . $ipn_trans->fields['payer_business_name'] : ''); ?> 174 <td class="dataTableContent"><?php echo $ipn_trans->fields['payment_status_name'] . ' '. $ipn_trans->fields['payment_status'] . '<br />Parent Trans ID:' . $ipn_trans->fields['parent_txn_id'] . '<br />Trans ID:' . $ipn_trans->fields['txn_id']; ?></td> 175 <td class="dataTableContent" align="right"><?php echo $ipn_trans->fields['mc_currency'] . ' '.number_format($ipn_trans->fields['mc_gross'], 2); ?></td> 176 <td class="dataTableContent" align="right"><?php if (isset($ipnInfo) && is_object($ipnInfo) && ($ipn_trans->fields['paypal_ipn_id'] == $ipnInfo->paypal_ipn_id) ) { echo zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif'); } else { echo '<a href="' . zen_href_link(FILENAME_PAYPAL, 'page=' . $_GET['page'] . '&ipnID=' . $ipn_trans->fields['paypal_ipn_id']) . (zen_not_null($selected_status) ? '&payment_status=' . $selected_status : '') . (zen_not_null($paypal_ipn_sort_order) ? '&paypal_ipn_sort_order=' . $paypal_ipn_sort_order : '') . '">' . zen_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> 177 </tr> 178 <?php 179 $ipn_trans->MoveNext(); 180 } 181 ?> 182 <tr> 183 <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2"> 184 <tr> 185 <td class="smallText" valign="top"><?php echo $ipn_split->display_count($ipn_query_numrows, MAX_DISPLAY_SEARCH_RESULTS_PAYPAL_IPN, $_GET['page'], "Displaying <strong>%d</strong> to <strong>%d</strong> (of <strong>%d</strong> IPN's)"); ?></td> 186 <td class="smallText" align="right"><?php echo $ipn_split->display_links($ipn_query_numrows, MAX_DISPLAY_SEARCH_RESULTS_PAYPAL_IPN, MAX_DISPLAY_PAGE_LINKS, $_GET['page'], (zen_not_null($selected_status) ? '&payment_status=' . $selected_status : '') . (zen_not_null($paypal_ipn_sort_order) ? '&paypal_ipn_sort_order=' . $paypal_ipn_sort_order : '')); ?></td> 187 </tr> 188 </table></td> 189 </tr> 190 </table></td> 191 <?php 192 $heading = array(); 193 $contents = array(); 194 195 switch ($action) { 196 case 'new': 197 break; 198 case 'edit': 199 break; 200 case 'delete': 201 break; 202 default: 203 if (is_object($ipnInfo)) { 204 $heading[] = array('text' => '<strong>' . TEXT_INFO_PAYPAL_IPN_HEADING.' #' . $ipnInfo->paypal_ipn_id . '</strong>'); 205 $ipn = $db->Execute("select * from " . TABLE_PAYPAL_PAYMENT_STATUS_HISTORY . " where paypal_ipn_id = '" . $ipnInfo->paypal_ipn_id . "'"); 206 $ipn_count = $ipn->RecordCount(); 207 208 $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('ipnID', 'action')) . 'oID=' . $ipnInfo->zen_order_id .'&' . 'ipnID=' . $ipnInfo->paypal_ipn_id .'&action=edit' . '&referer=ipn') . '">' . zen_image_button('button_orders.gif', IMAGE_ORDERS) . '</a>'); 209 $contents[] = array('text' => '<br>' . TABLE_HEADING_NUM_HISTORY_ENTRIES . ': '. $ipn_count); 210 $count = 1; 211 while (!$ipn->EOF) { 212 $contents[] = array('text' => '<br>' . TABLE_HEADING_ENTRY_NUM . ': '. $count); 213 $contents[] = array('text' => TABLE_HEADING_DATE_ADDED . ': '. zen_datetime_short($ipn->fields['date_added'])); 214 $contents[] = array('text' => TABLE_HEADING_TRANS_ID . ': '.$ipn->fields['txn_id']); 215 $contents[] = array('text' => TABLE_HEADING_PAYMENT_STATUS . ': '.$ipn->fields['payment_status']); 216 $contents[] = array('text' => TABLE_HEADING_PENDING_REASON . ': '.$ipn->fields['pending_reason']); 217 $count++; 218 $ipn->MoveNext(); 219 } 220 } 221 break; 222 } 223 224 if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) { 225 echo ' <td width="25%" valign="top">' . "\n"; 226 227 $box = new box; 228 echo $box->infoBox($heading, $contents); 229 230 echo ' </td>' . "\n"; 231 } 232 ?> 233 </tr> 234 </table></td> 235 </tr> 236 </table></td> 237 <!-- body_text_eof //--> 238 </tr> 239 </table> 240 <!-- body_eof //--> 241 242 <!-- footer //--> 243 <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> 244 <!-- footer_eof //--> 245 <br> 246 </body> 247 </html> 248 <?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 |
![]() |