function foxyshop_customer_management() { global $foxyshop_settings, $wp_version; //Setup Fields and Defaults $foxy_data_defaults = array("customer_id_filter" => "", "customer_email_filter" => "", "customer_first_name_filter" => "", "customer_last_name_filter" => "", "customer_state_filter" => ""); if (version_compare($foxyshop_settings['version'], '0.7.2', ">=")) { $foxy_data_defaults["custom_field_name_filter"] = ""; $foxy_data_defaults["custom_field_value_filter"] = ""; } $foxy_data = wp_parse_args(array("api_action" => "customer_list"), apply_filters('foxyshop_customer_filter_defaults', $foxy_data_defaults)); $foxyshop_querystring = "?post_type=foxyshop_product&page=foxyshop_customer_management&foxyshop_search=1"; $foxyshop_hidden_input = ""; if (isset($_GET['foxyshop_search'])) { $fields = array("customer_id_filter", "customer_email_filter", "customer_first_name_filter", "customer_last_name_filter", "customer_state_filter", "custom_field_name_filter", "custom_field_value_filter"); foreach ($fields as $field) { if (isset($_GET[$field])) { $foxy_data[$field] = $_GET[$field]; $foxyshop_querystring .= "&{$field}=" . urlencode($_GET[$field]); $foxyshop_hidden_input .= '<input type="hidden" name="' . $field . '" value="' . htmlspecialchars($_GET[$field]) . '" />' . "\n"; } } $foxy_data['pagination_start'] = isset($_GET['pagination_start']) ? $_GET['pagination_start'] : 0; $p = (int) (version_compare($foxyshop_settings['version'], '0.7.1', "<") ? 50 : FOXYSHOP_API_ENTRIES_PER_PAGE); if (version_compare($foxyshop_settings['version'], '0.7.0', ">")) { $foxy_data['entries_per_page'] = $p; } $start_offset = (int) (version_compare($foxyshop_settings['version'], '0.7.1', "<=") ? -1 : 0); if (isset($_GET['paged-top']) || isset($_GET['paged-bottom'])) { if ($_GET['paged-top'] != $_GET['paged-top-original']) { $foxy_data['pagination_start'] = $p * ((int) $_GET['paged-top'] - 1) + 1 + $start_offset; } if ($_GET['paged-bottom'] != $_GET['paged-bottom-original']) { $foxy_data['pagination_start'] = $p * ((int) $_GET['paged-bottom'] - 1) + 1 + $start_offset; } } } ?> <div class="wrap"> <div class="icon32" id="icon-users"><br></div> <h2><?php _e('Manage Customers', 'foxyshop'); ?> </h2> <form action="edit.php" method="get" id="foxyshop_searchform" name="foxyshop_searchform" style="display: block; margin: 14px 0 20px 0;"> <input type="hidden" name="foxyshop_search" value="1" /> <input type="hidden" name="post_type" value="foxyshop_product" /> <input type="hidden" name="page" value="foxyshop_customer_management" /> <table class="widefat"> <thead><tr><th colspan="2"><img src="<?php echo FOXYSHOP_DIR; ?> /images/search-icon.png" alt="" /><?php _e('Search Options', 'foxyshop'); ?> </th></tr></thead> <tbody><tr><td> <div class="foxyshop_field_control"> <label for="customer_id_filter"><?php _e('Customer ID', 'foxyshop'); ?> </label><input type="text" name="customer_id_filter" id="customer_id_filter" value="<?php echo $foxy_data['customer_id_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_first_name_filter"><?php _e('Customer First Name', 'foxyshop'); ?> </label><input type="text" name="customer_first_name_filter" id="customer_first_name_filter" value="<?php echo $foxy_data['customer_first_name_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_last_name_filter"><?php _e('Customer Last Name', 'foxyshop'); ?> </label><input type="text" name="customer_last_name_filter" id="customer_last_name_filter" value="<?php echo $foxy_data['customer_last_name_filter']; ?> " /> </div> <?php if (version_compare($foxyshop_settings['version'], '0.7.2', ">=")) { ?> <div class="foxyshop_field_control"> <label for="custom_field_name_filter"><?php _e('Custom Field Name', 'foxyshop'); ?> </label><input type="text" name="custom_field_name_filter" id="custom_field_name_filter" value="<?php echo $foxy_data['custom_field_name_filter']; ?> " /> <label for="custom_field_value_filter" style="margin-left: 15px; margin-top: 4px; width: 34px;"><?php _e('Value', 'foxyshop'); ?> </label><input type="text" name="custom_field_value_filter" id="custom_field_value_filter" value="<?php echo $foxy_data['custom_field_value_filter']; ?> " /> </div> <?php } ?> </td><td> <div class="foxyshop_field_control"> <label for="customer_email_filter"><?php _e('Customer Email', 'foxyshop'); ?> </label><input type="text" name="customer_email_filter" id="customer_email_filter" value="<?php echo $foxy_data['customer_email_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_state_filter"><?php _e('Customer State', 'foxyshop'); ?> </label><input type="text" name="customer_state_filter" id="customer_state_filter" value="<?php echo $foxy_data['customer_state_filter']; ?> " /> </div> <div style="clear: both;"></div> <button type="submit" id="foxyshop_search_submit" name="foxyshop_search_submit" class="button-primary" style="clear: left; margin: 10px 0 6px 0;"><?php _e('Search Records Now', 'foxyshop'); ?> </button> <button type="button" class="button" style="margin-left: 15px; margin-top: 10px;" onclick="document.location.href = 'edit.php?post_type=foxyshop_product&page=foxyshop_customer_management';"><?php _e('Reset Form', 'foxyshop'); ?> </button> </td></tr></tbody></table> </form> <?php if (!isset($_GET['foxyshop_search'])) { return; } $foxy_response = foxyshop_get_foxycart_data($foxy_data); $xml = simplexml_load_string($foxy_response, NULL, LIBXML_NOCDATA); //print_r($foxy_data); //echo "<pre>" . substr($foxy_response,1,2000) . "</pre>"; if ((string) $xml->result == "ERROR") { echo '<h3>' . (string) $xml->messages->message . '</h3>'; return; } else { ?> <form action="edit.php" method="get"> <input type="hidden" name="foxyshop_search" value="1" /> <input type="hidden" name="post_type" value="foxyshop_product" /> <input type="hidden" name="page" value="foxyshop_customer_management" /> <?php echo $foxyshop_hidden_input; foxyshop_api_paging_nav('customers', 'top', $xml, $foxyshop_querystring); ?> <table cellpadding="0" cellspacing="0" border="0" class="wp-list-table widefat foxyshop-list-table" id="customer_table"> <thead> <tr> <th><span><?php _e('Customer ID', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Last Name', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('First Name', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Email', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Orders', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <?php if ($foxyshop_settings['enable_subscriptions']) { echo "<th><span>" . __('Subscriptions', 'foxyshop') . "</span><span class=\"sorting-indicator\"></span></th>\n"; } ?> </tr> </thead> <tfoot> <tr> <th><?php _e('Customer ID', 'foxyshop'); ?> </th> <th><?php _e('Last Name', 'foxyshop'); ?> </th> <th><?php _e('First Name', 'foxyshop'); ?> </th> <th><?php _e('Email', 'foxyshop'); ?> </th> <th><?php _e('Orders', 'foxyshop'); ?> </th> <?php if ($foxyshop_settings['enable_subscriptions']) { echo "<th>" . __('Subscriptions', 'foxyshop') . "</th>\n"; } ?> </tr> </tfoot> <tbody id="the-list"> <?php $holder = ""; foreach ($xml->customers->customer as $customer) { $customer_id = (string) $customer->customer_id; $customer_first_name = (string) $customer->customer_first_name; $customer_last_name = (string) $customer->customer_last_name; $customer_email = (string) $customer->customer_email; $last_modified_date = (string) $customer->last_modified_date; $last_modified_date = date(apply_filters("foxyshop_date_time_format", "Y-m-d H:i"), strtotime($last_modified_date)); echo '<tr rel="' . $customer_id . '">'; echo '<td><strong><a href="#" class="view_detail">' . (string) $customer_id . '</a></strong></td>'; echo '<td>' . (string) $customer_last_name . '</td>'; echo '<td>' . (string) $customer_first_name . '</td>'; echo '<td>' . (string) $customer_email . '</td>'; echo '<td><a href="edit.php?post_type=foxyshop_product&page=foxyshop_order_management&customer_id_filter=' . (string) $customer->customer_id . '&transaction_date_filter_begin=&transaction_date_filter_end=&hide_transaction_filter=&foxyshop_search=1">' . __('Orders', 'foxyshop') . '</a></td>'; if ($foxyshop_settings['enable_subscriptions']) { echo '<td><a href="edit.php?post_type=foxyshop_product&page=foxyshop_subscription_management&customer_id_filter=' . (string) $customer->customer_id . '&start_date_filter_begin=&start_date_filter_end=&&foxyshop_search=1">' . __('Subscriptions', 'foxyshop') . '</a></td>'; } echo '</tr>' . "\n"; $holder .= '<div class="detail_holder" id="holder_' . $customer_id . '">' . "\n"; //Customer Details $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Customer Details', 'foxyshop') . '</h4>'; $holder .= '<ul>'; if ((string) $customer->customer_phone != "") { $holder .= '<li>' . (string) $customer->customer_phone . '</li>'; } $holder .= '<li><a href="mailto:' . $customer->customer_email . '">' . (string) $customer->customer_email . '</a></li>'; if ((string) $customer->cc_number != "") { $holder .= '<li>' . __('Card', 'foxyshop') . ': ' . (string) $customer->cc_number . '</li>'; } // 0.7.1 and lower if ((string) $customer->cc_number_masked != "") { $holder .= '<li>' . __('Card', 'foxyshop') . ': ' . (string) $customer->cc_number_masked . '</li>'; } //0.7.2+ if ((string) $customer->cc_exp_month != "") { $holder .= '<li>' . __('Exp', 'foxyshop') . ': ' . (string) $customer->cc_exp_month . '-' . (string) $customer->cc_exp_year . '</li>'; } $holder .= '<li>' . __('Last Modified', 'foxyshop') . ': ' . $last_modified_date . '</li>'; $holder .= '<li> </li>'; $holder .= '</ul>'; $holder .= '</div>'; //Customer Address $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Customer Address', 'foxyshop') . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . (string) $customer->customer_first_name . ' ' . (string) $customer->customer_last_name . '</li>'; if ((string) $customer->customer_company != "") { $holder .= '<li>' . (string) $customer->customer_company . '</li>'; } if ((string) $customer->customer_address1 != "") { $holder .= '<li>' . (string) $customer->customer_address1 . '</li>'; } if ((string) $customer->customer_address2 != "") { $holder .= '<li>' . (string) $customer->customer_address2 . '</li>'; } if ((string) $customer->customer_city != "") { $holder .= '<li>' . (string) $customer->customer_city . ', ' . (string) $customer->customer_state . ' ' . (string) $customer->customer_postal_code . '</li>'; } if ((string) $customer->customer_country != "") { $holder .= '<li>' . (string) $customer->customer_country . '</li>'; } $holder .= '</ul>'; $holder .= '</div>'; //Shipping Addresses (if entered) if ((string) $customer->shipping_first_name != "") { $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Shipping Details', 'foxyshop') . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . (string) $customer->shipping_first_name . ' ' . (string) $customer->shipping_last_name . '</li>'; if ((string) $customer->shipping_company != "") { $holder .= '<li>' . (string) $customer->shipping_company . '</li>'; } if ((string) $customer->shipping_address1 != "") { $holder .= '<li>' . $customer->shipping_address1 . '</li>'; } if ((string) $customer->shipping_address2 != "") { $holder .= '<li>' . (string) $customer->shipping_address2 . '</li>'; } if ((string) $customer->shipping_city != "") { $holder .= '<li>' . (string) $customer->shipping_city . ', ' . (string) $customer->shipping_state . ' ' . (string) $customer->shipping_postal_code . '</li>'; } if ((string) $customer->shipping_country != "") { $holder .= '<li>' . (string) $customer->shipping_country . '</li>'; } if ((string) $customer->shipping_phone != "") { $holder .= '<li>' . (string) $customer->shipping_phone . '</li>'; } $holder .= '</ul>'; $holder .= '</div>'; } //Multi-ship Addresses foreach ($customer->shipto_addresses->shipto_address as $shipto_address) { $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Shipping Details', 'foxyshop') . ': ' . $shipto_address->address_name . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . (string) $shipto_address->shipto_first_name . ' ' . (string) $shipto_address->shipto_last_name . '</li>'; if ((string) $shipto_address->shipto_company != "") { $holder .= '<li>' . (string) $shipto_address->shipto_company . '</li>'; } $holder .= '<li>' . (string) $shipto_address->shipto_address1 . '</li>'; if ((string) $shipto_address->shipto_address2 != "") { $holder .= '<li>' . (string) $shipto_address->shipto_address2 . '</li>'; } $holder .= '<li>' . (string) $shipto_address->shipto_city . ', ' . (string) $shipto_address->shipto_state . ' ' . (string) $shipto_address->shipto_postal_code . '</li>'; $holder .= '<li>' . (string) $shipto_address->shipto_country . '</li>'; if ((string) $shipto_address->shipto_phone != "") { $holder .= '<li>' . (string) $shipto_address->shipto_phone . '</li>'; } $holder .= '</ul>'; $holder .= '</div>'; } //Custom Attributes $holder .= foxyshop_manage_attributes($customer->attributes, $customer_id, "customer"); $holder .= '<div style="clear: both; height: 20px;"></div>'; $holder .= "</div>\n"; } echo '</tbody></table>'; foxyshop_api_paging_nav('customers', 'bottom', $xml, $foxyshop_querystring); ?> </form> <?php } ?> <div id="details_holder"><?php echo $holder; ?> </div> <script type="text/javascript" src="<?php echo FOXYSHOP_DIR; ?> /js/jquery.tablesorter.js"></script> <script type="text/javascript"> jQuery(document).ready(function($){ $(".foxyshop-list-table thead th").click(function() { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); }); $(".foxyshop-list-table").tablesorter({ 'cssDesc': 'asc sorted', 'cssAsc': 'desc sorted' }); $(".view_detail").click(function() { var id = $(this).parents("tr").attr("rel"); if ($("#foxyshop-list-inline #holder_" + id).length > 0) { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); } else { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); $(this).parents("tr").after('<tr id="foxyshop-list-inline"><td colspan="7"></td></tr>'); $("#holder_"+id).appendTo("#foxyshop-list-inline td"); } return false; }); <?php foxyshop_manage_attributes_jquery('customer'); ?> }); </script> <?php echo '</div>'; }
function foxyshop_subscription_management() { global $foxyshop_settings, $wp_version, $product; //Setup Fields and Defaults $foxy_data_defaults = array("is_active_filter" => "", "frequency_filter" => "", "past_due_amount_filter" => "", "start_date_filter_begin" => date("Y-m-d", strtotime("-10 days")), "start_date_filter_end" => date("Y-m-d"), "next_transaction_date_filter_begin" => "", "next_transaction_date_filter_end" => "", "end_date_filter_begin" => "", "end_date_filter_end" => "", "third_party_id_filter" => "", "last_transaction_id_filter" => "", "customer_id_filter" => "", "customer_email_filter" => "", "customer_first_name_filter" => "", "customer_last_name_filter" => "", "product_code_filter" => "", "product_name_filter" => "", "product_option_name_filter" => "", "product_option_value_filter" => ""); if (version_compare($foxyshop_settings['version'], '0.7.2', ">=")) { $foxy_data_defaults["custom_field_name_filter"] = ""; $foxy_data_defaults["custom_field_value_filter"] = ""; } $foxy_data = wp_parse_args(array("api_action" => "subscription_list"), apply_filters('foxyshop_subscription_filter_defaults', $foxy_data_defaults)); $foxyshop_querystring = "?post_type=foxyshop_product&page=foxyshop_subscription_management&foxyshop_search=1"; $foxyshop_hidden_input = ""; if (isset($_GET['foxyshop_search']) || !defined('FOXYSHOP_AUTO_API_DISABLED')) { $fields = array("is_active_filter", "frequency_filter", "past_due_amount_filter", "start_date_filter_begin", "start_date_filter_end", "next_transaction_date_filter_begin", "next_transaction_date_filter_end", "end_date_filter_begin", "end_date_filter_end", "third_party_id_filter", "last_transaction_id_filter", "customer_id_filter", "customer_email_filter", "customer_first_name_filter", "customer_last_name_filter", "product_code_filter", "product_name_filter", "product_option_name_filter", "product_option_value_filter", "custom_field_name_filter", "custom_field_value_filter"); foreach ($fields as $field) { if (isset($_GET[$field])) { $foxy_data[$field] = $_GET[$field]; $foxyshop_querystring .= "&{$field}=" . urlencode($_GET[$field]); $foxyshop_hidden_input .= '<input type="hidden" name="' . $field . '" value="' . htmlspecialchars($_GET[$field]) . '" />' . "\n"; } } $foxy_data['pagination_start'] = isset($_GET['pagination_start']) ? $_GET['pagination_start'] : 0; $p = (int) (version_compare($foxyshop_settings['version'], '0.7.1', "<") ? 50 : FOXYSHOP_API_ENTRIES_PER_PAGE); if (version_compare($foxyshop_settings['version'], '0.7.0', ">")) { $foxy_data['entries_per_page'] = $p; } $start_offset = (int) (version_compare($foxyshop_settings['version'], '0.7.1', "<=") ? -1 : 0); if (isset($_GET['paged-top']) || isset($_GET['paged-bottom'])) { if ($_GET['paged-top'] != $_GET['paged-top-original']) { $foxy_data['pagination_start'] = $p * ((int) $_GET['paged-top'] - 1) + 1 + $start_offset; } if ($_GET['paged-bottom'] != $_GET['paged-bottom-original']) { $foxy_data['pagination_start'] = $p * ((int) $_GET['paged-bottom'] - 1) + 1 + $start_offset; } } } $subscription_products = get_posts(array('post_type' => 'foxyshop_product', "meta_key" => "_sub_frequency", "meta_value" => "", 'meta_compare' => '!=', "_sub_frequency", 'numberposts' => -1)); $subscription_product_array = array(); foreach ($subscription_products as $subscription_product) { $product = foxyshop_setup_product($subscription_product); $subscription_product_array[] = array("id" => $product['id'], "name" => $product['name'], "price" => $product['price']); } ?> <div class="wrap"> <div class="icon32 icon32-posts-page" id="icon-edit-pages"><br></div> <h2><?php _e('Manage Subscriptions', 'foxyshop'); ?> </h2> <form action="edit.php" method="get" id="foxyshop_searchform" name="foxyshop_searchform" style="display: block; margin: 14px 0 20px 0;"> <input type="hidden" name="foxyshop_search" value="1" /> <input type="hidden" name="post_type" value="foxyshop_product" /> <input type="hidden" name="page" value="foxyshop_subscription_management" /> <table class="widefat"> <thead><tr><th colspan="2"><img src="<?php echo FOXYSHOP_DIR; ?> /images/search-icon.png" alt="" /><?php _e('Search Options', 'foxyshop'); ?> </th></tr></thead> <tbody><tr><td> <div class="foxyshop_field_control"> <label for="is_active_filter"><?php _e('Subscription Type', 'foxyshop'); ?> </label> <select name="is_active_filter" id="is_active_filter"> <?php $selectArray = array("0" => __("Disabled", 'foxyshop'), "1" => __("Active", 'foxyshop'), "" => __("Both", 'foxyshop')); foreach ($selectArray as $selectKey => $selectOption) { echo '<option value="' . $selectKey . '"' . ($foxy_data['is_active_filter'] == $selectKey ? ' selected="selected"' : '') . '>' . $selectOption . '</option>' . "\n"; } ?> </select> </div> <div class="foxyshop_field_control"> <label for="past_due_amount_filter"><?php _e('Past Due Status', 'foxyshop'); ?> </label> <select name="past_due_amount_filter" id="past_due_amount_filter"> <?php $selectArray = array("" => __('Show All', 'foxyshop'), "1" => __('Show Past Due Only', 'foxyshop')); foreach ($selectArray as $selectKey => $selectOption) { echo '<option value="' . $selectKey . '"' . ($foxy_data['past_due_amount_filter'] == $selectKey ? ' selected="selected"' : '') . '>' . $selectOption . '</option>' . "\n"; } ?> </select> </div> <div class="foxyshop_field_control"> <label for="frequency_filter"><?php _e('Frequency', 'foxyshop'); ?> </label><input type="text" name="frequency_filter" id="frequency_filter" value="<?php echo $foxy_data['frequency_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="third_party_id_filter"><?php _e('Third Party ID', 'foxyshop'); ?> </label><input type="text" name="third_party_id_filter" id="third_party_id_filter" value="<?php echo $foxy_data['third_party_id_filter']; ?> " /> <span>PayPal</span> </div> <div class="foxyshop_field_control"> <label for="last_transaction_id_filter"><?php _e('Last Transaction ID', 'foxyshop'); ?> </label><input type="text" name="last_transaction_id_filter" id="last_transaction_id_filter" value="<?php echo $foxy_data['last_transaction_id_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="product_code_filter"><?php echo FOXYSHOP_PRODUCT_NAME_SINGULAR . ' ' . __('Code', 'foxyshop'); ?> </label><input type="text" name="product_code_filter" id="product_code_filter" value="<?php echo $foxy_data['product_code_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="product_name_filter"><?php echo FOXYSHOP_PRODUCT_NAME_SINGULAR . ' ' . __('Name', 'foxyshop'); ?> </label><input type="text" name="product_name_filter" id="product_name_filter" value="<?php echo $foxy_data['product_name_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="product_option_name_filter"><?php echo FOXYSHOP_PRODUCT_NAME_SINGULAR . ' ' . __('Option Name', 'foxyshop'); ?> </label><input type="text" name="product_option_name_filter" id="product_option_name_filter" value="<?php echo $foxy_data['product_option_name_filter']; ?> " /> <label for="product_option_value_filter" style="margin-left: 15px; margin-top: 4px; width: 38px;"><?php _e('Value', 'foxyshop'); ?> </label><input type="text" name="product_option_value_filter" id="product_option_value_filter" value="<?php echo $foxy_data['product_option_value_filter']; ?> " /> </div> <?php if (version_compare($foxyshop_settings['version'], '0.7.2', ">=")) { ?> <div class="foxyshop_field_control"> <label for="custom_field_name_filter"><?php _e('Custom Field Name', 'foxyshop'); ?> </label><input type="text" name="custom_field_name_filter" id="custom_field_name_filter" value="<?php echo $foxy_data['custom_field_name_filter']; ?> " /> <label for="custom_field_value_filter" style="margin-left: 15px; margin-top: 4px; width: 38px;"><?php _e('Value', 'foxyshop'); ?> </label><input type="text" name="custom_field_value_filter" id="custom_field_value_filter" value="<?php echo $foxy_data['custom_field_value_filter']; ?> " /> </div> <?php } ?> </td><td> <div class="foxyshop_field_control"> <label for="start_date_filter_begin"><?php _e('Start Date', 'foxyshop'); ?> </label> <input type="text" name="start_date_filter_begin" id="start_date_filter_begin" value="<?php echo $foxy_data['start_date_filter_begin']; ?> " class="foxyshop_date_field" /> <span><?php _e('to', 'foxyshop'); ?> </span> <input type="text" name="start_date_filter_end" id="start_date_filter_end" value="<?php echo $foxy_data['start_date_filter_end']; ?> " class="foxyshop_date_field" /> </div> <div class="foxyshop_field_control"> <label for="next_transaction_date_filter_begin"><?php _e('Next Transaction Date', 'foxyshop'); ?> </label> <input type="text" name="next_transaction_date_filter_begin" id="next_transaction_date_filter_begin" value="<?php echo $foxy_data['next_transaction_date_filter_begin']; ?> " class="foxyshop_date_field" /> <span><?php _e('to', 'foxyshop'); ?> </span> <input type="text" name="next_transaction_date_filter_end" id="next_transaction_date_filter_end" value="<?php echo $foxy_data['next_transaction_date_filter_end']; ?> " class="foxyshop_date_field" /> </div> <div class="foxyshop_field_control"> <label for="end_date_filter_begin"><?php _e('End Date', 'foxyshop'); ?> </label> <input type="text" name="end_date_filter_begin" id="end_date_filter_begin" value="<?php echo $foxy_data['end_date_filter_begin']; ?> " class="foxyshop_date_field" /> <span><?php _e('to', 'foxyshop'); ?> </span> <input type="text" name="end_date_filter_end" id="end_date_filter_end" value="<?php echo $foxy_data['end_date_filter_end']; ?> " class="foxyshop_date_field" /> </div> <div class="foxyshop_field_control"> <label for="customer_id_filter"><?php _e('Customer ID', 'foxyshop'); ?> </label><input type="text" name="customer_id_filter" id="customer_id_filter" value="<?php echo $foxy_data['customer_id_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_email_filter"><?php _e('Customer Email', 'foxyshop'); ?> </label><input type="text" name="customer_email_filter" id="customer_email_filter" value="<?php echo $foxy_data['customer_email_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_first_name_filter"><?php _e('Customer First Name', 'foxyshop'); ?> </label><input type="text" name="customer_first_name_filter" id="customer_first_name_filter" value="<?php echo $foxy_data['customer_first_name_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_last_name_filter"><?php _e('Customer Last Name', 'foxyshop'); ?> </label><input type="text" name="customer_last_name_filter" id="customer_last_name_filter" value="<?php echo $foxy_data['customer_last_name_filter']; ?> " /> </div> <div style="clear: both;"></div> <button type="submit" id="foxyshop_search_submit" name="foxyshop_search_submit" class="button-primary" style="clear: both; margin-top: 10px;"><?php _e('Search Records Now', 'foxyshop'); ?> </button> <button type="button" class="button" style="margin-left: 15px; margin-top: 10px;" onclick="document.location.href = 'edit.php?post_type=foxyshop_product&page=foxyshop_subscription_management';"><?php _e('Reset Form', 'foxyshop'); ?> </button> </td></tr></tbody></table> </form> <script type="text/javascript" charset="utf-8"> jQuery(document).ready(function($) { $(".foxyshop_date_field").datepicker({ dateFormat: 'yy-mm-dd' }); }); </script> <?php if (!isset($_GET['foxyshop_search']) && defined('FOXYSHOP_AUTO_API_DISABLED')) { return; } $foxy_response = foxyshop_get_foxycart_data($foxy_data); $xml = simplexml_load_string($foxy_response, NULL, LIBXML_NOCDATA); if ((string) $xml->result == __('ERROR', 'foxyshop')) { echo '<h3>' . (string) $xml->messages->message . '</h3>'; return; } else { ?> <form action="edit.php" method="get"> <input type="hidden" name="foxyshop_search" value="1" /> <input type="hidden" name="post_type" value="foxyshop_product" /> <input type="hidden" name="page" value="foxyshop_subscription_management" /> <?php echo $foxyshop_hidden_input; foxyshop_api_paging_nav('subscriptions', 'top', $xml, $foxyshop_querystring); ?> <table cellpadding="0" cellspacing="0" border="0" class="wp-list-table widefat foxyshop-list-table" id="subscription_table"> <thead> <tr> <th><span><?php _e('Customer', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Start Date', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Next Date', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('End Date', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Past Due', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Details', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Frequency', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> </tr> </thead> <tfoot> <tr> <th><?php _e('Customer', 'foxyshop'); ?> </th> <th><?php _e('Start Date', 'foxyshop'); ?> </th> <th><?php _e('Next Date', 'foxyshop'); ?> </th> <th><?php _e('End Date', 'foxyshop'); ?> </th> <th><?php _e('Past Due', 'foxyshop'); ?> </th> <th><?php _e('Details', 'foxyshop'); ?> </th> <th><?php _e('Frequency', 'foxyshop'); ?> </th> </tr> </tfoot> <tbody id="the-list"> <?php $holder = ""; foreach ($xml->subscriptions->subscription as $subscription) { $sub_token = (string) $subscription->sub_token; $customer_id = (string) $subscription->customer_id; $customer_first_name = (string) $subscription->customer_first_name; $customer_last_name = (string) $subscription->customer_last_name; $start_date = (string) $subscription->start_date; $next_transaction_date = (string) $subscription->next_transaction_date; $end_date = (string) $subscription->end_date; $frequency = (string) $subscription->frequency; $past_due_amount = (string) $subscription->past_due_amount; $is_active = (string) $subscription->is_active; $product_name = ""; if (version_compare($foxyshop_settings['version'], '0.7.0', ">")) { foreach ($subscription->transaction_template->transaction_details->transaction_detail as $transaction_detail) { if ($product_name) { $product_name .= "<br />"; } $product_price = (double) $transaction_detail->product_price; foreach ($transaction_detail->transaction_detail_options->transaction_detail_option as $transaction_detail_option) { $product_price += (double) $transaction_detail_option->price_mod; } $product_name .= (string) $transaction_detail->product_name . ' ' . foxyshop_currency($product_price); } } else { // The 0.7.0 code had an extra transaction_template node which was removed in subsequent versions foreach ($subscription->transaction_template->transaction_template->transaction_details->transaction_detail as $transaction_detail) { if ($product_name) { $product_name .= "<br />"; } $product_price = (double) $transaction_detail->product_price; foreach ($transaction_detail->transaction_detail_options->transaction_detail_option as $transaction_detail_option) { $product_price += (double) $transaction_detail_option->price_mod; } $product_name .= (string) $transaction_detail->product_name . ' ' . foxyshop_currency($product_price); } } if ($customer_first_name != "") { $customer_name = $customer_last_name . ', ' . $customer_first_name; } else { $customer_name = $customer_id; } echo '<tr rel="' . $sub_token . '">'; echo '<td class="customer_name">'; echo '<strong' . ($is_active == "0" ? ' class="strikethrough"' : '') . '><a href="#" class="view_detail">' . $customer_name . '</a></strong>'; echo '<div class="row-actions">'; echo '<span class="edit"><a title="' . __('Edit') . '" href="#" class="view_detail">' . __('Edit') . '</a> | </span>'; echo '<span class="view_customer"><a href="edit.php?post_type=foxyshop_product&page=foxyshop_customer_management&customer_id_filter=' . $customer_id . '&foxyshop_search=1" title="' . __('Customer') . '">' . __('Customer') . '</a></span>'; do_action('foxyshop_subscription_action_line', $subscription); echo '</div>'; echo '</td>'; echo '<td class="start_date">' . $start_date . '</td>'; echo '<td class="next_transaction_date">' . $next_transaction_date . '</td>'; echo '<td class="end_date">' . $end_date . '</td>'; echo '<td class="past_due_amount">' . $past_due_amount . '</td>'; echo '<td class="product_description">' . $product_name . '</td>'; echo '<td class="frequency">' . $frequency . '</td>'; echo "</tr>\n"; $holder .= '<div class="detail_holder" id="holder_' . $sub_token . '">' . "\n"; $holder .= '<form class="subscription_update_form" name="subscription_update_form_' . $sub_token . '" id="subscription_update_form_' . $sub_token . '" onsubmit="return false;">' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label>' . __('Subscription Status', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="radio" name="is_active" id="is_active_1_' . $sub_token . '" value="1"' . ($is_active == "1" ? ' checked="checked"' : '') . ' style="float: left; margin-top: 7px;" />' . "\n"; $holder .= '<label for="is_active_1_' . $sub_token . '" style="width: 55px;">' . __('Active', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="radio" name="is_active" id="is_active_0_' . $sub_token . '" value="0"' . ($is_active == "0" ? ' checked="checked"' : '') . ' style="float: left; margin-top: 7px;" />' . "\n"; $holder .= '<label for="is_active_0_' . $sub_token . '">' . __('In-active', 'foxyshop') . '</label>' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="start_date_' . $sub_token . '">' . __('Start Date', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="text" name="start_date" id="start_date_' . $sub_token . '" class="foxyshop_date_field" value="' . (string) $subscription->start_date . '" /><span>(YYYY-MM-DD)</span>' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="next_transaction_date_' . $sub_token . '">' . __('Next Transaction Date', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="text" name="next_transaction_date" id="next_transaction_date_' . $sub_token . '" value="' . (string) $subscription->next_transaction_date . '" class="foxyshop_date_field" /><span>(YYYY-MM-DD)</span>' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="end_date_' . $sub_token . '">' . __('End Date', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="text" name="end_date" id="end_date_' . $sub_token . '" value="' . $end_date . '" class="foxyshop_date_field" /><span>(YYYY-MM-DD)</span> <a href="#" onclick="jQuery(\'#end_date_' . $sub_token . '\').val(\'0000-00-00\'); this.blur(); return false;" class="button" style="margin: 5px 0 0 5px; float: left;">Never</a> <a href="#" onclick="jQuery(\'#end_date_' . $sub_token . '\').val(\'' . date("Y-m-d", strtotime("+1 day")) . '\'); this.blur(); return false;" class="button" style="margin: 5px 0 0 5px; float: left;">Tomorrow</a>' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="frequency_' . $sub_token . '">' . __('Frequency', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="text" name="frequency" id="frequency_' . $sub_token . '" value="' . $frequency . '" /><span>(60d, 2w, 1m, 1y, .5m)</span>' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="past_due_amount_' . $sub_token . '">' . __('Past Due Amount', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="text" name="past_due_amount" id="past_due_amount_' . $sub_token . '" value="' . $past_due_amount . '" onblur="foxyshop_check_number(this);" /><span>(0.00)</span>' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="update_url_' . $sub_token . '">' . __('Update URL', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="text" name="update_url" id="update_url_' . $sub_token . '" value="https://' . $foxyshop_settings['domain'] . '/cart?sub_token=' . $sub_token . '&empty=true&cart=checkout" style="width: 390px;" onclick="this.select();" />' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="cancel_url_' . $sub_token . '">' . __('Cancellation URL', 'foxyshop') . '</label>' . "\n"; $holder .= '<input type="text" name="cancel_url" id="cancel_url_' . $sub_token . '" value="https://' . $foxyshop_settings['domain'] . '/cart?sub_token=' . $sub_token . '&empty=true&cart=checkout&sub_cancel=true" style="width: 390px;" onclick="this.select();" />' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<div class="foxyshop_field_control">' . "\n"; $holder .= '<label for="transaction_template_id_' . $sub_token . '">' . __('Transaction Template') . '</label>' . "\n"; $holder .= '<select name="transaction_template_id" id="transaction_template_id_' . $sub_token . '">' . "\n"; $holder .= '<option value="0">- - ' . __('Select Option Below', 'foxyshop') . ' - -</option>' . "\n"; foreach ($subscription_product_array as $key => $val) { $holder .= '<option value="' . $val['id'] . '">' . $val['name'] . ' ' . foxyshop_currency($val['price']) . '</option>' . "\n"; } $holder .= '</select>' . "\n"; $holder .= '</div>' . "\n"; $holder .= '<p style="padding-top: 5px; clear: both"><a href="#" class="subscription_save button-primary">' . __('Save Changes', 'foxyshop') . '</a> <a href="#" class="detail_close button">' . __('Cancel', 'foxyshop') . '</a></p>' . "\n"; $holder .= '<input type="hidden" name="sub_token" value="' . $sub_token . '" />' . "\n"; $holder .= '<input type="hidden" name="action" value="foxyshop_display_list_ajax_action" />' . "\n"; $holder .= '<input type="hidden" name="foxyshop_action" value="subscription_modify" />' . "\n"; $holder .= '<input type="hidden" name="security" value="' . wp_create_nonce("foxyshop-display-list-function") . '" />' . "\n"; //Custom Attributes $holder .= foxyshop_manage_attributes($subscription->attributes, $sub_token, "subscription"); $holder .= '</form>' . "\n"; $holder .= '</div>' . "\n"; } ?> </tbody> </table> <?php foxyshop_api_paging_nav('subscriptions', 'bottom', $xml, $foxyshop_querystring); ?> </form> <?php } ?> <div id="details_holder"><?php echo $holder; ?> </div> <script type="text/javascript" src="<?php echo FOXYSHOP_DIR; ?> /js/jquery.tablesorter.js"></script> <script type="text/javascript"> jQuery(document).ready(function($){ $(".foxyshop-list-table thead th").click(function() { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); }); $(".foxyshop-list-table").tablesorter({ 'cssDesc': 'asc sorted', 'cssAsc': 'desc sorted' }); $(".view_detail").click(function() { var id = $(this).parents("tr").attr("rel"); if ($("#foxyshop-list-inline #holder_" + id).length > 0) { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); } else { $("#details_holder select").prop('selectedIndex', 0); $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); $(this).parents("tr").after('<tr id="foxyshop-list-inline"><td colspan="7"></td></tr>'); $("#holder_"+id).appendTo("#foxyshop-list-inline td"); } return false; }); $(".detail_close").click(function() { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); return false; }); $(".subscription_save").click(function() { var id = $(this).parents("form").children("input[name='sub_token']").val(); $.post(ajaxurl, $(this).parents("form").serialize(), function(response) { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); if (response.indexOf("ERROR") < 0) { $("tr[rel='" + id + "']").css("background-color", "#FFFFE0").delay(500).animate({ backgroundColor: 'transparent' }, 500); if ($("#is_active_0_" + id).is(":checked")) { $("tr[rel='" + id + "'] td.customer_name strong").addClass("strikethrough"); } else { $("tr[rel='" + id + "'] td.customer_name strong").removeClass("strikethrough"); } $("tr[rel='" + id + "'] td.start_date").text($("#start_date" + id).val()); $("tr[rel='" + id + "'] td.next_transaction_date").text($("#next_transaction_date_" + id).val()); $("tr[rel='" + id + "'] td.end_date").text($("#end_date_" + id).val()); $("tr[rel='" + id + "'] td.past_due_amount").text($("#past_due_amount_" + id).val()); $("tr[rel='" + id + "'] td.frequency").text($("#frequency_" + id).val()); if ($("#transaction_template_id_" + id).prop("selectedIndex") > 0) { $("tr[rel='" + id + "'] td.product_description").text($("#transaction_template_id_" + id + " option:selected").text()); } } else { alert(response); } }); return false; }); <?php foxyshop_manage_attributes_jquery('subscription'); ?> }); function foxyshop_format_number(num) { num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); return (((sign)?'':'-') + num + '.' + cents); } function foxyshop_check_number(el) { el.value = foxyshop_format_number(el.value); } </script> <?php echo '</div>'; }
function foxyshop_order_management() { global $foxyshop_settings, $wp_version; //Setup Fields and Defaults $foxy_data_defaults = array("is_test_filter" => "0", "hide_transaction_filter" => "0", "data_is_fed_filter" => "", "id_filter" => "", "order_total_filter" => "", "coupon_code_filter" => "", "transaction_date_filter_begin" => date("Y-m-d", strtotime("-10 days")), "transaction_date_filter_end" => date("Y-m-d"), "customer_id_filter" => "", "customer_email_filter" => "", "customer_first_name_filter" => "", "customer_last_name_filter" => "", "customer_state_filter" => "", "shipping_state_filter" => "", "customer_ip_filter" => "", "product_code_filter" => "", "product_name_filter" => "", "product_option_name_filter" => "", "product_option_value_filter" => ""); if (version_compare($foxyshop_settings['version'], '0.7.2', ">=")) { $foxy_data_defaults["custom_field_name_filter"] = ""; $foxy_data_defaults["custom_field_value_filter"] = ""; } $foxy_data = wp_parse_args(array("api_action" => "transaction_list"), apply_filters('foxyshop_transaction_filter_defaults', $foxy_data_defaults)); $foxyshop_querystring = "?post_type=foxyshop_product&page=foxyshop_order_management&foxyshop_search=1"; $foxyshop_hidden_input = ""; if (isset($_GET['foxyshop_search']) || !defined('FOXYSHOP_AUTO_API_DISABLED')) { $fields = array("is_test_filter", "hide_transaction_filter", "data_is_fed_filter", "id_filter", "order_total_filter", "coupon_code_filter", "transaction_date_filter_begin", "transaction_date_filter_end", "customer_id_filter", "customer_email_filter", "customer_first_name_filter", "customer_last_name_filter", "customer_state_filter", "shipping_state_filter", "customer_ip_filter", "product_code_filter", "product_name_filter", "product_option_name_filter", "product_option_value_filter", "custom_field_name_filter", "custom_field_value_filter"); foreach ($fields as $field) { if (isset($_GET[$field])) { $foxy_data[$field] = $_GET[$field]; $foxyshop_querystring .= "&{$field}=" . urlencode($_GET[$field]); $foxyshop_hidden_input .= '<input type="hidden" name="' . $field . '" value="' . htmlspecialchars($_GET[$field]) . '" />' . "\n"; } } $foxy_data['pagination_start'] = isset($_GET['pagination_start']) ? $_GET['pagination_start'] : 0; $p = (int) (version_compare($foxyshop_settings['version'], '0.7.1', "<") ? 50 : FOXYSHOP_API_ENTRIES_PER_PAGE); if (version_compare($foxyshop_settings['version'], '0.7.0', ">")) { $foxy_data['entries_per_page'] = $p; } $start_offset = (int) (version_compare($foxyshop_settings['version'], '0.7.1', "<=") ? -1 : 0); if (isset($_GET['paged-top']) || isset($_GET['paged-bottom'])) { if ($_GET['paged-top'] != $_GET['paged-top-original']) { $foxy_data['pagination_start'] = $p * ((int) $_GET['paged-top'] - 1) + 1 + $start_offset; } if ($_GET['paged-bottom'] != $_GET['paged-bottom-original']) { $foxy_data['pagination_start'] = $p * ((int) $_GET['paged-bottom'] - 1) + 1 + $start_offset; } } } $transaction_search_type = isset($_GET['transaction_search_type']) ? $_GET['transaction_search_type'] : ''; if ($foxyshop_settings["orderdesk_url"]) { $orderdesk_link = ' <a class="' . (version_compare(get_bloginfo('version'), '3.2', "<") ? "button " : '') . 'add-new-h2" href="https://app.orderdesk.me/" target="_blank">' . __('Launch Order Desk', 'foxyshop') . '</a>'; } else { $orderdesk_link = ""; } ?> <div class="wrap"> <div class="icon32 icon32-posts-page" id="icon-edit-pages"><br></div> <h2><?php _e('Manage Orders', 'foxyshop'); echo $orderdesk_link; ?> </h2> <form action="edit.php" method="get" id="foxyshop_searchform" name="foxyshop_searchform" style="display: block; margin: 14px 0 20px 0;"> <input type="hidden" name="foxyshop_search" value="1" /> <input type="hidden" name="post_type" value="foxyshop_product" /> <input type="hidden" name="page" value="foxyshop_order_management" /> <table class="widefat"> <thead><tr><th colspan="2"><img src="<?php echo FOXYSHOP_DIR; ?> /images/search-icon.png" alt="" /><?php _e('Search Options', 'foxyshop'); ?> </th></tr></thead> <tbody><tr><td> <div class="foxyshop_field_control foxyshop_radio_label_container"> <label><?php _e('Transaction Status', 'foxyshop'); ?> </label> <input type="radio" id="hide_transaction_filter0" name="hide_transaction_filter" value="0"<?php echo $foxy_data['hide_transaction_filter'] == 0 ? ' checked="checked"' : ''; ?> /> <label for="hide_transaction_filter0"><?php _e('Unfilled', 'foxyshop'); ?> </label> <input type="radio" id="hide_transaction_filter1" name="hide_transaction_filter" value="1"<?php echo $foxy_data['hide_transaction_filter'] == 1 ? ' checked="checked"' : ''; ?> /> <label for="hide_transaction_filter1"><?php _e('Filled', 'foxyshop'); ?> </label> <input type="radio" id="hide_transaction_filter" name="hide_transaction_filter" value=""<?php echo $foxy_data['hide_transaction_filter'] == '' ? ' checked="checked"' : ''; ?> /> <label for="hide_transaction_filter"><?php _e('Both', 'foxyshop'); ?> </label> </div> <div class="foxyshop_field_control foxyshop_radio_label_container"> <label><?php _e('Datafeed Status', 'foxyshop'); ?> </label> <input type="radio" id="data_is_fed_filter0" name="data_is_fed_filter" value="0"<?php echo $foxy_data['data_is_fed_filter'] == 0 ? ' checked="checked"' : ''; ?> /> <label for="data_is_fed_filter0"><?php _e('Fed', 'foxyshop'); ?> </label> <input type="radio" id="data_is_fed_filter1" name="data_is_fed_filter" value="1"<?php echo $foxy_data['data_is_fed_filter'] == 1 ? ' checked="checked"' : ''; ?> /> <label for="data_is_fed_filter1"><?php _e('Unfed', 'foxyshop'); ?> </label> <input type="radio" id="data_is_fed_filter" name="data_is_fed_filter" value=""<?php echo $foxy_data['data_is_fed_filter'] == '' ? ' checked="checked"' : ''; ?> /> <label for="data_is_fed_filter"><?php _e('Both', 'foxyshop'); ?> </label> </div> <div class="foxyshop_field_control foxyshop_radio_label_container"> <label><?php _e('Test Transactions', 'foxyshop'); ?> </label> <input type="radio" id="is_test_filter0" name="is_test_filter" value="0"<?php echo $foxy_data['is_test_filter'] == 0 ? ' checked="checked"' : ''; ?> /> <label for="is_test_filter0"><?php _e('Live', 'foxyshop'); ?> </label> <input type="radio" id="is_test_filter1" name="is_test_filter" value="1"<?php echo $foxy_data['is_test_filter'] == 1 ? ' checked="checked"' : ''; ?> /> <label for="is_test_filter1"><?php _e('Test', 'foxyshop'); ?> </label> <input type="radio" id="is_test_filter" name="is_test_filter" value=""<?php echo $foxy_data['is_test_filter'] == '' ? ' checked="checked"' : ''; ?> /> <label for="is_test_filter"><?php _e('Both', 'foxyshop'); ?> </label> </div> <div class="foxyshop_field_control"> <label for="order_id_filter"><?php _e('Order ID', 'foxyshop'); ?> </label><input type="text" name="id_filter" id="id_filter" value="<?php echo $foxy_data['id_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="order_total_filter"><?php _e('Order Total', 'foxyshop'); ?> </label><input type="text" name="order_total_filter" id="order_total_filter" value="<?php echo $foxy_data['order_total_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="coupon_code_filter"><?php _e('Coupon Code', 'foxyshop'); ?> </label><input type="text" name="coupon_code_filter" id="coupon_code_filter" value="<?php echo $foxy_data['coupon_code_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="product_code_filter"><?php echo FOXYSHOP_PRODUCT_NAME_SINGULAR . ' ' . __('Code', 'foxyshop'); ?> </label><input type="text" name="product_code_filter" id="product_code_filter" value="<?php echo $foxy_data['product_code_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="product_name_filter"><?php echo FOXYSHOP_PRODUCT_NAME_SINGULAR . ' ' . __('Name', 'foxyshop'); ?> </label><input type="text" name="product_name_filter" id="product_name_filter" value="<?php echo $foxy_data['product_name_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="product_option_name_filter"><?php echo FOXYSHOP_PRODUCT_NAME_SINGULAR . ' ' . __('Option Name', 'foxyshop'); ?> </label><input type="text" name="product_option_name_filter" id="product_option_name_filter" value="<?php echo $foxy_data['product_option_name_filter']; ?> " /> <label for="product_option_value_filter" style="margin-left: 15px; margin-top: 4px; width: 34px;"><?php _e('Value', 'foxyshop'); ?> </label><input type="text" name="product_option_value_filter" id="product_option_value_filter" value="<?php echo $foxy_data['product_option_value_filter']; ?> " /> </div> <?php if (version_compare($foxyshop_settings['version'], '0.7.2', ">=")) { ?> <div class="foxyshop_field_control"> <label for="custom_field_name_filter"><?php _e('Custom Field Name', 'foxyshop'); ?> </label><input type="text" name="custom_field_name_filter" id="custom_field_name_filter" value="<?php echo $foxy_data['custom_field_name_filter']; ?> " /> <label for="custom_field_value_filter" style="margin-left: 15px; margin-top: 4px; width: 34px;"><?php _e('Value', 'foxyshop'); ?> </label><input type="text" name="custom_field_value_filter" id="custom_field_value_filter" value="<?php echo $foxy_data['custom_field_value_filter']; ?> " /> </div> <?php } ?> </td><td> <div class="foxyshop_field_control"> <label for="transaction_date_filter_begin"><?php _e('Date Range', 'foxyshop'); ?> </label><input type="text" name="transaction_date_filter_begin" id="transaction_date_filter_begin" value="<?php echo $foxy_data['transaction_date_filter_begin']; ?> " class="foxyshop_date_field" /> <span><?php _e('to', 'foxyshop'); ?> </span><input type="text" name="transaction_date_filter_end" id="transaction_date_filter_end" value="<?php echo $foxy_data['transaction_date_filter_end']; ?> " class="foxyshop_date_field" /> </div> <div class="foxyshop_field_control"> <label for="customer_id_filter"><?php _e('Customer ID', 'foxyshop'); ?> </label><input type="text" name="customer_id_filter" id="customer_id_filter" value="<?php echo $foxy_data['customer_id_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_email_filter"><?php _e('Customer Email', 'foxyshop'); ?> </label><input type="text" name="customer_email_filter" id="customer_email_filter" value="<?php echo $foxy_data['customer_email_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_first_name_filter"><?php _e('Customer First Name', 'foxyshop'); ?> </label><input type="text" name="customer_first_name_filter" id="customer_first_name_filter" value="<?php echo $foxy_data['customer_first_name_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_last_name_filter"><?php _e('Customer Last Name', 'foxyshop'); ?> </label><input type="text" name="customer_last_name_filter" id="customer_last_name_filter" value="<?php echo $foxy_data['customer_last_name_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_state_filter"><?php _e('Customer State', 'foxyshop'); ?> </label><input type="text" name="customer_state_filter" id="customer_state_filter" value="<?php echo $foxy_data['customer_state_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="shipping_state_filter"><?php _e('Shipping State', 'foxyshop'); ?> </label><input type="text" name="shipping_state_filter" id="shipping_state_filter" value="<?php echo $foxy_data['shipping_state_filter']; ?> " /> </div> <div class="foxyshop_field_control"> <label for="customer_ip_filter"><?php _e('Customer IP', 'foxyshop'); ?> </label><input type="text" name="customer_ip_filter" id="customer_ip_filter" value="<?php echo $foxy_data['customer_ip_filter']; ?> " /> </div> <div style="clear: both;"></div> <select name="transaction_search_type" id="transaction_search_type"> <option value="show_orders"<?php echo $transaction_search_type == "show_orders" ? ' selected="selected"' : ''; ?> ><?php _e('Show Orders', 'foxyshop'); ?> </option> <option value="print_recipts" target="_blank"><?php _e('Print Receipts', 'foxyshop'); ?> </option> <?php if (!$foxyshop_settings['enable_ship_to']) { ?> <option value="export_csv"><?php _e('Export CSV', 'foxyshop'); ?> </option> <option value="export_tab"><?php _e('Export Tab Delimeted', 'foxyshop'); ?> </option> <option value="export_ups"><?php _e('Export to UPS', 'foxyshop'); ?> </option> <?php } ?> <?php do_action("foxyshop_order_search_list"); ?> </select> <button type="submit" id="foxyshop_search_submit" name="foxyshop_search_submit" class="button-primary" style="clear: left; margin-top: 10px;"><?php _e('Submit', 'foxyshop'); ?> </button> <button type="button" class="button submitcancel" style="margin-top: 10px;" onclick="document.location.href = 'edit.php?post_type=foxyshop_product&page=foxyshop_order_management';"><?php _e('Reset', 'foxyshop'); ?> </button> <div style="clear: both;"></div> <?php if (has_action('foxyshop_order_search_buttons')) { echo '<div id="foxyshop_order_search_buttons">'; do_action("foxyshop_order_search_buttons", $foxy_data); echo '</div>'; } ?> </td></tr></tbody></table> </form> <script type="text/javascript"> jQuery(document).ready(function($) { $("#foxyshop_searchform button").live("click", function() { if ($("#transaction_search_type option:selected").attr("target") == "_blank") { $("#foxyshop_searchform").attr("target","_blank"); } else { $("#foxyshop_searchform").attr("target","_self"); } }); $(".tablenav a.disabled").click(function() { return false; }); $(".foxyshop_date_field").datepicker({ dateFormat: 'yy-mm-dd' }); }); </script> <?php if (!isset($_GET['foxyshop_search']) && defined('FOXYSHOP_AUTO_API_DISABLED')) { return; } $foxy_response = foxyshop_get_foxycart_data($foxy_data); $xml = simplexml_load_string($foxy_response, NULL, LIBXML_NOCDATA); //var_dump($xml); if ((string) $xml->result == __('ERROR', 'foxyshop')) { echo '<h3>' . (string) $xml->messages->message . '</h3>'; return; } else { ?> <form action="edit.php" method="get"> <input type="hidden" name="foxyshop_search" value="1" /> <input type="hidden" name="post_type" value="foxyshop_product" /> <input type="hidden" name="page" value="foxyshop_order_management" /> <?php echo $foxyshop_hidden_input; foxyshop_api_paging_nav('transactions', 'top', $xml, $foxyshop_querystring); ?> <table cellpadding="0" cellspacing="0" border="0" class="wp-list-table widefat foxyshop-list-table" id="transaction_table"> <thead> <tr> <th id="cb" class="manage-column column-cb check-column" scope="col"><input type="checkbox"></th> <th><span><?php _e('Transaction ID', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Order Date', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Customer', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <th><span><?php _e('Total', 'foxyshop'); ?> </span><span class="sorting-indicator"></span></th> <?php do_action("foxyshop_order_table_head"); ?> </tr> </thead> <tfoot> <tr> <th class="manage-column column-cb check-column" style="" scope="col"><input type="checkbox"></th> <th><?php _e('Transaction ID', 'foxyshop'); ?> </th> <th><?php _e('OrderDate', 'foxyshop'); ?> </th> <th><?php _e('Customer', 'foxyshop'); ?> </th> <th><?php _e('Total', 'foxyshop'); ?> </th> <?php do_action("foxyshop_order_table_foot"); ?> </tr> </tfoot> <tbody id="the-list"> <?php $holder = ""; $hide_transaction_filter = isset($_REQUEST['hide_transaction_filter']) ? $_REQUEST['hide_transaction_filter'] : 0; foreach ($xml->transactions->transaction as $transaction) { $transaction_id = (string) $transaction->id; $customer_first_name = (string) $transaction->customer_first_name; $customer_last_name = (string) $transaction->customer_last_name; $is_anonymous = (int) $transaction->is_anonymous; $customer_id = (string) $transaction->customer_id; $minfraud_score = (int) $transaction->minfraud_score; $transaction_date = (string) $transaction->transaction_date; $transaction_date = date(apply_filters("foxyshop_date_time_format", "Y-m-d H:i"), strtotime($transaction_date)); $customer_name = $customer_last_name . ', ' . $customer_first_name; if ($is_anonymous != 1 && $customer_id) { $customer_name = '<a href="edit.php?post_type=foxyshop_product&page=foxyshop_customer_management&customer_id_filter=' . $customer_id . '&foxyshop_search=1" title="Customer ' . $customer_id . '">' . $customer_name . '</a>'; } $print_receipt_link = "edit.php?foxyshop_search=1&post_type=foxyshop_product&page=foxyshop_order_management&id_filter=" . $transaction_id . "&foxyshop_print_invoice=1&is_test_filter=&skip_print=1&transaction_date_filter_begin=" . $foxy_data['transaction_date_filter_begin'] . "&transaction_date_filter_end=" . $foxy_data['transaction_date_filter_end']; foreach ($transaction->transaction_details->transaction_detail as $transaction_detail) { $pickup_day = ""; $pickup_location = ""; foreach ($transaction_detail->transaction_detail_options->transaction_detail_option as $transaction_detail_option) { if ((string) $transaction_detail_option->product_option_name == "Pickup_Day") { $pickup_day = (string) $transaction_detail_option->product_option_value; } elseif ((string) $transaction_detail_option->product_option_name == "Pickup_Location") { $pickup_location = (string) $transaction_detail_option->product_option_value; } $holder .= '<li>'; $holder .= str_replace("_", " ", (string) $transaction_detail_option->product_option_name) . ': '; if (substr((string) $transaction_detail_option->product_option_value, 0, 5) == "file-") { $upload_dir = wp_upload_dir(); $holder .= '<a href="' . $upload_dir['baseurl'] . '/customuploads/' . (string) $transaction_detail_option->product_option_value . '" target="_blank">' . (string) $transaction_detail_option->product_option_value . '</a>'; } else { $holder .= $transaction_detail_option->product_option_value; } if ((string) $transaction_detail_option->price_mod != '0.000') { $holder .= ' (' . (strpos("-", $transaction_detail_option->price_mod) !== false ? '-' : '+') . foxyshop_currency((double) $transaction_detail_option->price_mod) . ')'; } $holder .= '</li>'; } } echo '<tr rel="' . $transaction_id . '">'; echo '<th class="check-column" scope="row"><input type="checkbox" value="' . $transaction_id . '" name="post[]"></th>' . "\n"; echo '<td>'; echo '<a href="' . (string) $transaction->receipt_url . '" title="' . __('FoxyCart Receipt', 'foxyshop') . '" target="_blank" style="float: left;"><img src="' . FOXYSHOP_DIR . '/images/foxycart-icon.png" alt="" align="top" /></a>'; echo '<strong><a href="#" class="view_detail" style="float: left; line-height: 18px; margin: 0 0 0 5px;">' . $transaction_id . '</a></strong>'; echo '<div class="row-actions">'; echo '<span><a href="#" class="view_detail">' . __('View Order', 'foxyshop') . '</a> | </span>'; echo '<span><a href="' . $print_receipt_link . '" title="' . __('Printable Receipt', 'foxyshop') . '" target="_blank">' . __('Receipt', 'foxyshop') . '</a></span>'; if (!isset($transaction->is_hidden)) { $is_hidden = $hide_transaction_filter; } else { $is_hidden = (string) $transaction->is_hidden; } if ($is_hidden == 1) { echo '<span> | <a href="#" class="set_order_hidden_status" rel="0">' . __('Un-Archive', 'foxyshop') . '</a></span>'; } else { echo '<span> | <a href="#" class="set_order_hidden_status" rel="1">' . __('Archive', 'foxyshop') . '</a></span>'; } do_action("foxyshop_order_line_item", $transaction); echo '</div>'; echo '</td>'; echo '<td>' . $transaction_date . '</td>'; echo '<td>' . $customer_name . '</td>'; echo '<td>' . foxyshop_currency((double) $transaction->order_total) . '</td>'; do_action("foxyshop_order_line_end", $transaction); echo '</tr>' . "\n"; //Write Out Order Details Holder $holder .= '<div class="detail_holder" id="holder_' . $transaction_id . '">' . "\n"; $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Transaction Details', 'foxyshop') . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . __('Order ID', 'foxyshop') . ': ' . (string) $transaction->id . '</li>'; $holder .= '<li>' . __('Date', 'foxyshop') . ': ' . $transaction_date . '</li>'; $holder .= '<li>' . (string) $transaction->processor_response . '</li>'; if ((string) $transaction->cc_number_masked != "") { $holder .= '<li>' . __('Card', 'foxyshop') . ': ' . (string) $transaction->cc_number_masked . ' (' . (string) $transaction->cc_type . ')</li>'; } if ((string) $transaction->cc_exp_month != "") { $holder .= '<li>' . __('Exp', 'foxyshop') . ': ' . (string) $transaction->cc_exp_month . '-' . (string) $transaction->cc_exp_year . '</li>'; } if ($minfraud_score > 0) { $holder .= '<li>' . __('MinFraud Score', 'foxyshop') . ': ' . $minfraud_score . '</li>'; } if ((string) $transaction->shipto_shipping_service_description != "") { $holder .= '<li>' . __('Shipping Type', 'foxyshop') . ': ' . (string) $transaction->shipto_shipping_service_description . '</li>'; } if ((string) $transaction->processor_response == "Purchase Order") { $holder .= '<li>PO #: ' . (string) $transaction->purchase_order . '</li>'; } $holder .= '</ul>'; $holder .= '</div>'; $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Order Details', 'foxyshop') . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . __('Subtotal', 'foxyshop') . ': ' . foxyshop_currency((double) $transaction->product_total) . '</li>'; //Discounts foreach ($transaction->discounts->discount as $discount) { $holder .= '<li>' . (string) $discount->name . ': ' . foxyshop_currency((double) $discount->amount) . '</li>'; } //Taxes foreach ($transaction->taxes->tax as $tax) { $holder .= '<li>' . (string) $tax->tax_name . ': ' . foxyshop_currency((double) $tax->tax_amount) . '</li>'; } $holder .= '<li>' . __('Shipping', 'foxyshop') . ': ' . foxyshop_currency((double) $transaction->shipping_total) . '</li>'; $holder .= '<li><strong>' . __('Order Total', 'foxyshop') . ': ' . foxyshop_currency((double) $transaction->order_total) . '</strong></li>'; $holder .= '</ul>'; $holder .= '</div>'; $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Customer Address', 'foxyshop') . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . (string) $transaction->customer_first_name . ' ' . (string) $transaction->customer_last_name . '</li>'; if ((string) $transaction->customer_company != "") { $holder .= '<li>' . (string) $transaction->customer_company . '</li>'; } $holder .= '<li>' . (string) $transaction->customer_address1 . '</li>'; if ((string) $transaction->customer_address2 != "") { $holder .= '<li>' . (string) $transaction->customer_address2 . '</li>'; } $holder .= '<li>' . (string) $transaction->customer_city . ', ' . (string) $transaction->customer_state . ' ' . (string) $transaction->customer_postal_code . '</li>'; $holder .= '<li>' . (string) $transaction->customer_country . '</li>'; $holder .= '</ul>'; $holder .= '</div>'; //Shipping Addresses (if entered) if ((string) $transaction->shipping_first_name != "" && !isset($transaction->shipto_addresses->shipto_address)) { $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Shipping Details', 'foxyshop') . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . (string) $transaction->shipping_first_name . ' ' . (string) $transaction->shipping_last_name . '</li>'; if ((string) $transaction->shipping_company != "") { $holder .= '<li>' . (string) $transaction->shipping_company . '</li>'; } $holder .= '<li>' . (string) $transaction->shipping_address1 . '</li>'; if ((string) $transaction->shipping_address2 != "") { $holder .= '<li>' . (string) $transaction->shipping_address2 . '</li>'; } $holder .= '<li>' . (string) $transaction->shipping_city . ', ' . (string) $transaction->shipping_state . ' ' . (string) $transaction->shipping_postal_code . '</li>'; $holder .= '<li>' . (string) $transaction->shipping_country . '</li>'; if ((string) $transaction->shipping_phone != "") { $holder .= '<li>' . (string) $transaction->shipping_phone . '</li>'; } $holder .= '</ul>'; $holder .= '</div>'; } //Multi-ship Addresses foreach ($transaction->shipto_addresses->shipto_address as $shipto_address) { $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Shipping Details', 'foxyshop') . ': ' . $shipto_address->address_name . '</h4>'; $holder .= '<ul>'; $holder .= '<li>' . $shipto_address->shipto_first_name . ' ' . $shipto_address->shipto_last_name . '</li>'; if ((string) $shipto_address->shipto_company != "") { $holder .= '<li>' . $shipto_address->shipto_company . '</li>'; } $holder .= '<li>' . $shipto_address->shipto_address1 . '</li>'; if ((string) $shipto_address->shipto_address2 != "") { $holder .= '<li>' . $shipto_address->shipto_address2 . '</li>'; } $holder .= '<li>' . $shipto_address->shipto_city . ', ' . $shipto_address->shipto_state . ' ' . $shipto_address->shipto_postal_code . '</li>'; $holder .= '<li>' . $shipto_address->shipto_country . '</li>'; if ((string) $shipto_address->shipto_phone != "") { $holder .= '<li>' . $shipto_address->shipto_phone . '</li>'; } $holder .= '<li><br />' . __('Method', 'foxyshop') . ': ' . $shipto_address->shipto_shipping_service_description . '</li>'; $holder .= '<li>' . __('Shipping', 'foxyshop') . ': ' . foxyshop_currency((double) $shipto_address->shipto_shipping_total) . '</li>'; $holder .= '</ul>'; $holder .= '</div>'; } //Customer Details $holder .= '<div class="foxyshop_list_col">'; $holder .= '<h4>' . __('Customer Details', 'foxyshop') . '</h4>'; $holder .= '<ul>'; if ((string) $transaction->customer_phone != "") { $holder .= '<li>' . (string) $transaction->customer_phone . '</li>'; } $holder .= '<li><a href="mailto:' . (string) $transaction->customer_email . '">' . (string) $transaction->customer_email . '</a></li>'; $holder .= '<li>' . apply_filters('foxyshop_order_ip', '<a href="http://whatismyipaddress.com/ip/' . (string) $transaction->customer_ip . '" target="_blank">' . (string) $transaction->customer_ip . '</a>', (string) $transaction->customer_ip) . '</li>'; $holder .= '<li> </li>'; //Custom Fields foreach ($transaction->custom_fields->custom_field as $custom_field) { if ($custom_field->custom_field_name != 'ga') { $holder .= '<li><strong>' . str_replace("_", " ", (string) $custom_field->custom_field_name) . ':</strong> ' . nl2br((string) $custom_field->custom_field_value) . '</li>'; } } $holder .= '</ul>'; $holder .= '</div>'; //Custom Attributes $holder .= foxyshop_manage_attributes($transaction->attributes, $transaction_id, "transaction"); $holder .= '<div style="clear: both; height: 20px;"></div>'; foreach ($transaction->transaction_details->transaction_detail as $transaction_detail) { $holder .= '<div class="product_listing">'; if ($transaction_detail->image != "") { $holder .= '<div class="image_div">'; if ($transaction_detail->url != "") { $holder .= '<a href="' . $transaction_detail->url . '" target="_blank">'; } $holder .= '<img src="' . $transaction_detail->image . '" />'; if ($transaction_detail->url != "") { $holder .= '</a>'; } $holder .= '</div>'; } $product_discount = 0; $weight_discount = 0; foreach ($transaction_detail->transaction_detail_options->transaction_detail_option as $transaction_detail_option) { $product_discount += (double) $transaction_detail_option->price_mod; $weight_discount += (double) $transaction_detail_option->weight_mod; } $holder .= '<div class="details_div">'; $holder .= '<h4>' . $transaction_detail->product_name . '</h4>'; $holder .= '<ul>'; if ((string) $transaction_detail->shipto != "") { $holder .= '<li>Ship To: ' . (string) $transaction_detail->shipto . '</li>'; } $holder .= '<li>' . __('Code', 'foxyshop') . ': ' . (string) $transaction_detail->product_code . '</li>'; $holder .= '<li>' . __('Price', 'foxyshop') . ': ' . foxyshop_currency((double) $transaction_detail->product_price) . '</li>'; if ($product_discount != 0) { $holder .= '<li>Adjusted Price: ' . foxyshop_currency((double) $transaction_detail->product_price + $product_discount) . '</li>'; } $holder .= '<li>' . __('Qty', 'foxyshop') . ': ' . $transaction_detail->product_quantity . '</li>'; if ((string) $transaction_detail->product_weight != "0.000") { $holder .= '<li>Weight: ' . (string) $transaction_detail->product_weight . '</li>'; } if ($weight_discount != 0) { $holder .= '<li>Adjusted Weight: ' . ((double) $transaction_detail->product_weight + $weight_discount) . '</li>'; } if ((string) $transaction_detail->category_code != "DEFAULT") { $holder .= '<li>Category: ' . (string) $transaction_detail->category_description . '</li>'; } if ((string) $transaction_detail->product_delivery_type != "shipped") { $holder .= '<li>Delivery Type: ' . (string) $transaction_detail->product_delivery_type . '</li>'; } if ((string) $transaction_detail->downloadable_url != "") { $holder .= '<li>Downloadable URL: <a href="' . (string) $transaction_detail->downloadable_url . '" target="_blank">Click Here</a></li>'; } if ($transaction_detail->subscription_frequency != "") { $holder .= '<li>' . __('Subscription Frequency', 'foxyshop') . ': ' . (string) $transaction_detail->subscription_frequency . '</li>'; $holder .= '<li>' . __('Subscription Start Date', 'foxyshop') . ': ' . (string) $transaction_detail->subscription_startdate . '</li>'; $holder .= '<li>' . __('Subscription Next Date', 'foxyshop') . ': ' . (string) $transaction_detail->subscription_nextdate . '</li>'; if ((string) $transaction_detail->subscription_enddate != "0000-00-00") { $holder .= '<li>Subscription End Date: ' . (string) $transaction_detail->subscription_enddate . '</li>'; } } foreach ($transaction_detail->transaction_detail_options->transaction_detail_option as $transaction_detail_option) { $holder .= '<li>'; $holder .= str_replace("_", " ", (string) $transaction_detail_option->product_option_name) . ': '; if (substr((string) $transaction_detail_option->product_option_value, 0, 5) == "file-") { $upload_dir = wp_upload_dir(); $holder .= '<a href="' . $upload_dir['baseurl'] . '/customuploads/' . (string) $transaction_detail_option->product_option_value . '" target="_blank">' . (string) $transaction_detail_option->product_option_value . '</a>'; } else { $holder .= $transaction_detail_option->product_option_value; } if ((string) $transaction_detail_option->price_mod != '0.000') { $holder .= ' (' . (strpos("-", $transaction_detail_option->price_mod) !== false ? '-' : '+') . foxyshop_currency((double) $transaction_detail_option->price_mod) . ')'; } $holder .= '</li>'; } $holder .= '</ul>'; $holder .= '</div>'; $holder .= '<div style="clear: both;"></div>'; $holder .= '</div>'; } $holder .= '<div style="clear: both; height: 10px;"></div>'; $holder .= '</div>'; } echo '</tbody></table>'; foxyshop_api_paging_nav('transactions', 'bottom', $xml, $foxyshop_querystring); ?> </form> <?php } ?> <div id="details_holder"><?php echo $holder; ?> </div> <script type="text/javascript" src="<?php echo FOXYSHOP_DIR; ?> /js/jquery.tablesorter.js"></script> <script type="text/javascript"> jQuery(document).ready(function($){ $(".foxyshop-list-table thead th").click(function() { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); }); $(".foxyshop-list-table").tablesorter({ 'cssDesc': 'asc sorted', 'cssAsc': 'desc sorted', 'headers': { 0: { sorter: false} } }); $(".view_detail").click(function() { var id = $(this).parents("tr").attr("rel"); if ($("#foxyshop-list-inline #holder_" + id).length > 0) { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); } else { $("#foxyshop-list-inline .detail_holder").appendTo("#details_holder"); $("#foxyshop-list-inline").remove(); $(this).parents("tr").after('<tr id="foxyshop-list-inline"><td colspan="7"></td></tr>'); $("#holder_"+id).appendTo("#foxyshop-list-inline td"); } return false; }); $(".set_order_hidden_status").click( function() { var hide_transaction = $(this).attr("rel"); var transaction_id = $(this).parents("tr").attr("rel"); var data = { action: 'foxyshop_display_list_ajax_action', security: '<?php echo wp_create_nonce("foxyshop-display-list-function"); ?> ', hide_transaction: hide_transaction, foxyshop_action: 'hide_transaction', id: transaction_id }; $.post(ajaxurl, data, function(response) { <?php if ($hide_transaction_filter == "0") { ?> $("tr[rel="+transaction_id+"]").remove(); $("#foxyshop-list-inline #holder_" + transaction_id).remove(); <?php } else { ?> alert(response); <?php } ?> }); return false; }); <?php foxyshop_manage_attributes_jquery('transaction'); ?> }); </script> <?php }