ZenCart_Documentation  1.5.0
http://www.collinsharper.com
C:/xampp/htdocs/zen-cart/admin/paypal.php
Go to the documentation of this file.
00001 <?php
00011   require('includes/application_top.php');
00012 
00013   $paypal_ipn_sort_order_array = array(array('id' => '0', 'text' => TEXT_SORT_PAYPAL_ID_DESC),
00014                              array('id' => '1', 'text' => TEXT_SORT_PAYPAL_ID),
00015                              array('id' => '2', 'text' => TEXT_SORT_ZEN_ORDER_ID_DESC),
00016                              array('id' => '3', 'text'=> TEXT_SORT_ZEN_ORDER_ID),
00017                              array('id' => '4', 'text'=> TEXT_PAYMENT_AMOUNT_DESC),
00018                              array('id' => '5', 'text'=> TEXT_PAYMENT_AMOUNT)
00019                              );
00020 
00021   if (isset($_GET['paypal_ipn_sort_order'])) {
00022     $paypal_ipn_sort_order = $_GET['paypal_ipn_sort_order'];
00023   } else {
00024     $paypal_ipn_sort_order = 0;
00025   }
00026 //        $ipn_query_raw = "select p.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.order_id " . $ipn_search . " order by o.orders_id DESC";
00027 
00028   switch ($paypal_ipn_sort_order) {
00029     case (0):
00030       $order_by = " order by p.paypal_ipn_id DESC";
00031       break;
00032     case (1):
00033       $order_by = " order by p.paypal_ipn_id";
00034       break;
00035     case (2):
00036       $order_by = " order by p.order_id DESC, p.paypal_ipn_id";
00037       break;
00038     case (3):
00039       $order_by = " order by p.order_id, p.paypal_ipn_id";
00040       break;
00041     case (4):
00042       $order_by = " order by p.mc_gross DESC";
00043       break;
00044     case (5):
00045       $order_by = " order by p.mc_gross";
00046       break;
00047     default:
00048       $order_by = " order by p.paypal_ipn_id DESC";
00049       break;
00050     }
00051 
00052   $action = (isset($_GET['action']) ? $_GET['action'] : '');
00053   $selected_status = (isset($_GET['payment_status']) ? $_GET['payment_status'] : '');
00054 
00055   require(DIR_FS_CATALOG_MODULES . 'payment/paypal.php');
00056 
00057   $payment_statuses = array();
00058   $payment_status_trans = $db->Execute("select payment_status_name as payment_status from " . TABLE_PAYPAL_PAYMENT_STATUS );
00059   while (!$payment_status_trans->EOF) {
00060     $payment_statuses[] = array('id' => $payment_status_trans->fields['payment_status'],
00061                                 'text' => $payment_status_trans->fields['payment_status']);
00062     $payment_status_trans->MoveNext();
00063   }
00064 
00065 ?>
00066 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
00067 <html <?php echo HTML_PARAMS; ?>>
00068 <head>
00069 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
00070 <title><?php echo TITLE; ?></title>
00071 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
00072 <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
00073 <script language="javascript" src="includes/menu.js"></script>
00074 <script language="javascript" src="includes/general.js"></script>
00075 <script type="text/javascript">
00076   <!--
00077   function init()
00078   {
00079     cssjsmenu('navbar');
00080     if (document.getElementById)
00081     {
00082       var kill = document.getElementById('hoverJS');
00083       kill.disabled = true;
00084     }
00085   }
00086   // -->
00087 </script>
00088 </head>
00089 <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onLoad="SetFocus(), init();">
00090 <!-- header //-->
00091 <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
00092 <!-- header_eof //-->
00093 
00094 <!-- body //-->
00095 <table border="0" width="100%" cellspacing="2" cellpadding="2">
00096   <tr>
00097 <!-- body_text //-->
00098     <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
00099       <tr>
00100         <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
00101           <tr>
00102             <td class="pageHeading"><?php echo HEADING_ADMIN_TITLE; ?></td>
00103             <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
00104             <td class="smallText" align="right">
00105 <?php
00106   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>';
00107 ?>
00108 <?php
00109   echo '&nbsp;&nbsp;&nbsp;' . TEXT_PAYPAL_IPN_SORT_ORDER_INFO . zen_draw_form('paypal_ipn_sort_order', FILENAME_PAYPAL, '', 'get') . '&nbsp;&nbsp;' . 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>';
00110 ?>
00111             </td>
00112             <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
00113           </tr>
00114         </table></td>
00115       </tr>
00116       <tr>
00117         <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
00118           <tr>
00119             <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
00120               <tr class="dataTableHeadingRow">
00121                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_ORDER_NUMBER; ?></td>
00122                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PAYPAL_ID; ?></td>
00123                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_TXN_TYPE; ?></td>
00124                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PAYMENT_STATUS; ?></td>
00125                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PAYMENT_AMOUNT; ?></td>
00126                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
00127               </tr>
00128 <?php
00129   if (zen_not_null($selected_status)) {
00130     $ipn_search = "and p.payment_status = :selectedStatus: ";
00131     $ipn_search = $db->bindVars($ipn_search, ':selectedStatus:', $selected_status, 'string');
00132     switch ($selected_status) {
00133       case 'Pending':
00134       case 'Completed':
00135       default:
00136         $ipn_query_raw = "select p.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.order_id " . $ipn_search . $order_by;
00137         break;
00138     }
00139   } else {
00140         $ipn_query_raw = "select p.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.order_id" . $order_by;
00141   }
00142   $ipn_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS_PAYPAL_IPN, $ipn_query_raw, $ipn_query_numrows);
00143   $ipn_trans = $db->Execute($ipn_query_raw);
00144   while (!$ipn_trans->EOF) {
00145     if ((!isset($_GET['ipnID']) || (isset($_GET['ipnID']) && ($_GET['ipnID'] == $ipn_trans->fields['paypal_ipn_id']))) && !isset($ipnInfo) ) {
00146       $ipnInfo = new objectInfo($ipn_trans->fields);
00147     }
00148 
00149     if (isset($ipnInfo) && is_object($ipnInfo) && ($ipn_trans->fields['paypal_ipn_id'] == $ipnInfo->paypal_ipn_id) ) {
00150       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->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";
00151     } else {
00152       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";
00153     }
00154 ?>
00155                 <td class="dataTableContent"> <?php echo $ipn_trans->fields['order_id']; ?> </td>
00156                 <td class="dataTableContent"> <?php echo $ipn_trans->fields['paypal_ipn_id']; ?> </td>
00157                 <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'] : ''); ?>
00158                 <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>
00159                 <td class="dataTableContent" align="right"><?php echo $ipn_trans->fields['mc_currency'] . ' '.number_format($ipn_trans->fields['mc_gross'], 2); ?></td>
00160                 <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>'; } ?>&nbsp;</td>
00161               </tr>
00162 <?php
00163     $ipn_trans->MoveNext();
00164   }
00165 ?>
00166               <tr>
00167                 <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2">
00168                   <tr>
00169                     <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>
00170                     <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>
00171                   </tr>
00172                 </table></td>
00173               </tr>
00174             </table></td>
00175 <?php
00176   $heading = array();
00177   $contents = array();
00178 
00179   switch ($action) {
00180     case 'new':
00181       break;
00182     case 'edit':
00183       break;
00184     case 'delete':
00185       break;
00186     default:
00187       if (is_object($ipnInfo)) {
00188         $heading[] = array('text' => '<strong>' . TEXT_INFO_PAYPAL_IPN_HEADING.' #' . $ipnInfo->paypal_ipn_id . '</strong>');
00189         $ipn = $db->Execute("select * from " . TABLE_PAYPAL_PAYMENT_STATUS_HISTORY . " where paypal_ipn_id = '" . $ipnInfo->paypal_ipn_id . "'");
00190         $ipn_count = $ipn->RecordCount();
00191 
00192         $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_ORDERS, zen_get_all_get_params(array('ipnID', 'action')) . 'oID=' . $ipnInfo->order_id .'&' . 'ipnID=' . $ipnInfo->paypal_ipn_id .'&action=edit' . '&referer=ipn') . '">' . zen_image_button('button_orders.gif', IMAGE_ORDERS) . '</a>');
00193         $contents[] = array('text' => '<br>' . TABLE_HEADING_NUM_HISTORY_ENTRIES . ': '. $ipn_count);
00194         $count = 1;
00195         while (!$ipn->EOF) {
00196           $contents[] = array('text' => '<br>' . TABLE_HEADING_ENTRY_NUM . ': '. $count);
00197           $contents[] = array('text' =>  TABLE_HEADING_DATE_ADDED . ': '. zen_datetime_short($ipn->fields['date_added']));
00198           $contents[] = array('text' =>  TABLE_HEADING_TRANS_ID . ': '.$ipn->fields['txn_id']);
00199           $contents[] = array('text' =>  TABLE_HEADING_PAYMENT_STATUS . ': '.$ipn->fields['payment_status']);
00200           $contents[] = array('text' =>  TABLE_HEADING_PENDING_REASON . ': '.$ipn->fields['pending_reason']);
00201           $count++;
00202           $ipn->MoveNext();
00203         }
00204       }
00205       break;
00206   }
00207 
00208   if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) {
00209     echo '            <td width="25%" valign="top">' . "\n";
00210 
00211     $box = new box;
00212     echo $box->infoBox($heading, $contents);
00213 
00214     echo '            </td>' . "\n";
00215   }
00216 ?>
00217           </tr>
00218         </table></td>
00219       </tr>
00220     </table></td>
00221 <!-- body_text_eof //-->
00222   </tr>
00223 </table>
00224 <!-- body_eof //-->
00225 
00226 <!-- footer //-->
00227 <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
00228 <!-- footer_eof //-->
00229 <br>
00230 </body>
00231 </html>
00232 <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
 All Data Structures Namespaces Files Functions Variables Enumerations