Version Description
Download this release
Release Info
Developer | garyc40 |
Plugin | WP eCommerce |
Version | 3.8.9.1-dev |
Comparing to | |
See all releases |
Code changes from version 3.8.9 to 3.8.9.1-dev
- readme.txt +12 -0
- wp-shopping-cart.php +1 -1
- wpsc-admin/admin.php +0 -1
- wpsc-admin/init.php +2 -0
- wpsc-core/wpsc-constants.php +3 -3
- wpsc-core/wpsc-functions.php +10 -10
- wpsc-includes/category.functions.php +9 -7
- wpsc-includes/purchase-log-notification.class.php +7 -0
- wpsc-shipping/library/shipwire_functions.php +6 -8
- wpsc-shipping/shipwire.php +11 -11
- wpsc-theme/functions/wpsc-transaction_results_functions.php +19 -14
readme.txt
CHANGED
@@ -155,6 +155,18 @@ Before updating please make a backup of your existing files and database. Just i
|
|
155 |
After upgrading from earlier versions look for link "Update Store". This will update your database structure to work with new version.
|
156 |
|
157 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
= 3.8.9 =
|
159 |
* New: Additional columns can now be added to Store Sales page via filter hook.
|
160 |
* New: Additional filters for purchase log notification classes.
|
155 |
After upgrading from earlier versions look for link "Update Store". This will update your database structure to work with new version.
|
156 |
|
157 |
== Changelog ==
|
158 |
+
= 3.8.9.1 =
|
159 |
+
* Fix: Fatal error in Shipwire.
|
160 |
+
* Fix: Fatal error with customer meta on multisite.
|
161 |
+
* Fix: Pagination in admin product list doesn't work.
|
162 |
+
* Fix: Permalinks are incorrect when products page is set as home page and permalink scheme is set to %post_name%.
|
163 |
+
* Fix: Rewrite rules are not regenerated correctly when switching from "Default" to "Post name".
|
164 |
+
* Fix: Shipwire and Google Analytics are not working properly.
|
165 |
+
* Fix: Shipwire request is sent even when Shipwire is not active.
|
166 |
+
* Fix: States are displayed as numbers in admin purchase report.
|
167 |
+
* Fix: Transaction results displaying cart content twice as well as "Oops, there is nothing in your cart".
|
168 |
+
* Fix: Use customer meta instead of $_SESSION for eway and payflow message.
|
169 |
+
|
170 |
= 3.8.9 =
|
171 |
* New: Additional columns can now be added to Store Sales page via filter hook.
|
172 |
* New: Additional filters for purchase log notification classes.
|
wp-shopping-cart.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WP e-Commerce
|
4 |
* Plugin URI: http://getshopped.org/
|
5 |
* Description: A plugin that provides a WordPress Shopping Cart. See also: <a href="http://getshopped.org" target="_blank">GetShopped.org</a> | <a href="http://getshopped.org/forums/" target="_blank">Support Forum</a> | <a href="http://docs.getshopped.org/" target="_blank">Documentation</a>
|
6 |
-
* Version: 3.8.9
|
7 |
* Author: Instinct Entertainment
|
8 |
* Author URI: http://getshopped.org/
|
9 |
**/
|
3 |
* Plugin Name: WP e-Commerce
|
4 |
* Plugin URI: http://getshopped.org/
|
5 |
* Description: A plugin that provides a WordPress Shopping Cart. See also: <a href="http://getshopped.org" target="_blank">GetShopped.org</a> | <a href="http://getshopped.org/forums/" target="_blank">Support Forum</a> | <a href="http://docs.getshopped.org/" target="_blank">Documentation</a>
|
6 |
+
* Version: 3.8.9.1-dev
|
7 |
* Author: Instinct Entertainment
|
8 |
* Author URI: http://getshopped.org/
|
9 |
**/
|
wpsc-admin/admin.php
CHANGED
@@ -984,7 +984,6 @@ function _wpsc_action_permalink_structure_changed() {
|
|
984 |
add_action( 'admin_notices', 'wpsc_check_permalink_notice' );
|
985 |
|
986 |
wpsc_update_page_urls( true );
|
987 |
-
return $return;
|
988 |
}
|
989 |
|
990 |
/**
|
984 |
add_action( 'admin_notices', 'wpsc_check_permalink_notice' );
|
985 |
|
986 |
wpsc_update_page_urls( true );
|
|
|
987 |
}
|
988 |
|
989 |
/**
|
wpsc-admin/init.php
CHANGED
@@ -491,6 +491,8 @@ function wpsc_update_page_urls( $auto = false ) {
|
|
491 |
global $wpdb;
|
492 |
|
493 |
wpsc_update_permalink_slugs();
|
|
|
|
|
494 |
|
495 |
if( ! $auto ){
|
496 |
$sendback = wp_get_referer();
|
491 |
global $wpdb;
|
492 |
|
493 |
wpsc_update_permalink_slugs();
|
494 |
+
wpsc_core_load_page_titles();
|
495 |
+
wpsc_register_post_types();
|
496 |
|
497 |
if( ! $auto ){
|
498 |
$sendback = wp_get_referer();
|
wpsc-core/wpsc-constants.php
CHANGED
@@ -30,9 +30,9 @@ function wpsc_core_constants() {
|
|
30 |
if(!defined('WPSC_URL'))
|
31 |
define( 'WPSC_URL', plugins_url( '', __FILE__ ) );
|
32 |
// Define Plugin version
|
33 |
-
define( 'WPSC_VERSION', '3.8.9' );
|
34 |
-
define( 'WPSC_MINOR_VERSION', '
|
35 |
-
define( 'WPSC_PRESENTABLE_VERSION', '3.8.9' );
|
36 |
define( 'WPSC_DB_VERSION', 3 );
|
37 |
|
38 |
// Define Debug Variables for developers
|
30 |
if(!defined('WPSC_URL'))
|
31 |
define( 'WPSC_URL', plugins_url( '', __FILE__ ) );
|
32 |
// Define Plugin version
|
33 |
+
define( 'WPSC_VERSION', '3.8.9.1-dev' );
|
34 |
+
define( 'WPSC_MINOR_VERSION', '621694' );
|
35 |
+
define( 'WPSC_PRESENTABLE_VERSION', '3.8.9.1-dev' );
|
36 |
define( 'WPSC_DB_VERSION', 3 );
|
37 |
|
38 |
// Define Debug Variables for developers
|
wpsc-core/wpsc-functions.php
CHANGED
@@ -355,7 +355,7 @@ function wpsc_register_post_types() {
|
|
355 |
'query_var' => true,
|
356 |
'register_meta_box_cb' => 'wpsc_meta_boxes',
|
357 |
'rewrite' => array(
|
358 |
-
'slug' => $wpsc_page_titles['products'] . '/%wpsc_product_category%',
|
359 |
'with_front' => false
|
360 |
)
|
361 |
);
|
@@ -417,7 +417,7 @@ function wpsc_register_post_types() {
|
|
417 |
'labels' => $labels,
|
418 |
'hierarchical' => true,
|
419 |
'rewrite' => array(
|
420 |
-
'slug' => $wpsc_page_titles['products'],
|
421 |
'with_front' => false,
|
422 |
'hierarchical' => (bool) get_option( 'product_category_hierarchical_url', 0 ),
|
423 |
),
|
@@ -655,7 +655,7 @@ add_filter( 'wp_nav_menu_args', 'wpsc_switch_the_query', 99 );
|
|
655 |
function _wpsc_pre_get_posts_reset_taxonomy_globals( $query ) {
|
656 |
global $wp_the_query;
|
657 |
|
658 |
-
if ( $query !== $wp_the_query )
|
659 |
return;
|
660 |
|
661 |
if ( ! $query->get( 'page' ) && ! $query->get( 'paged' ) )
|
@@ -1291,7 +1291,6 @@ function wpsc_is_checkout() {
|
|
1291 |
*/
|
1292 |
function wpsc_product_link( $permalink, $post, $leavename ) {
|
1293 |
global $wp_query, $wpsc_page_titles, $wpsc_query, $wp_current_filter;
|
1294 |
-
$term_url = '';
|
1295 |
$rewritecode = array(
|
1296 |
'%wpsc_product_category%',
|
1297 |
$leavename ? '' : '%postname%',
|
@@ -1311,9 +1310,9 @@ function wpsc_product_link( $permalink, $post, $leavename ) {
|
|
1311 |
return $permalink;
|
1312 |
|
1313 |
$permalink_structure = get_option( 'permalink_structure' );
|
1314 |
-
// This may become customiseable later
|
1315 |
|
1316 |
-
|
|
|
1317 |
// Mostly the same conditions used for posts, but restricted to items with a post type of "wpsc-product "
|
1318 |
|
1319 |
if ( '' != $permalink_structure && !in_array( $post->post_status, array( 'draft', 'pending' ) ) ) {
|
@@ -1339,7 +1338,6 @@ function wpsc_product_link( $permalink, $post, $leavename ) {
|
|
1339 |
$product_category = $link;
|
1340 |
}
|
1341 |
$category_slug = $product_category;
|
1342 |
-
$term_url = get_term_link( $category_slug, 'wpsc_product_category' );
|
1343 |
} else {
|
1344 |
// If the product is associated with only one category, we only have one choice
|
1345 |
if ( !isset( $product_categories[0] ) )
|
@@ -1354,8 +1352,6 @@ function wpsc_product_link( $permalink, $post, $leavename ) {
|
|
1354 |
$product_category->slug = null;
|
1355 |
|
1356 |
$category_slug = $product_category->slug;
|
1357 |
-
|
1358 |
-
$term_url = get_term_link( $category_slug, 'wpsc_product_category' );
|
1359 |
}
|
1360 |
|
1361 |
$post_name = $post->post_name;
|
@@ -1384,6 +1380,7 @@ function wpsc_product_link( $permalink, $post, $leavename ) {
|
|
1384 |
|
1385 |
$permalink = str_replace( $rewritecode, $rewritereplace, $our_permalink_structure );
|
1386 |
$permalink = user_trailingslashit( $permalink, 'single' );
|
|
|
1387 |
$permalink = home_url( $permalink );
|
1388 |
}
|
1389 |
return apply_filters( 'wpsc_product_permalink', $permalink, $post->ID );
|
@@ -1436,7 +1433,6 @@ function wpsc_checkout_template_fallback() {
|
|
1436 |
* @return void
|
1437 |
*/
|
1438 |
function wpsc_get_page_post_names() {
|
1439 |
-
|
1440 |
$wpsc_page['products'] = basename( get_option( 'product_list_url' ) );
|
1441 |
$wpsc_page['checkout'] = basename( get_option( 'checkout_url' ) );
|
1442 |
$wpsc_page['transaction_results'] = basename( get_option( 'transact_url' ) );
|
@@ -1656,6 +1652,8 @@ function wpsc_get_current_customer_id( $mode = '' ) {
|
|
1656 |
* if otherwise.
|
1657 |
*/
|
1658 |
function wpsc_get_all_customer_meta( $id = false ) {
|
|
|
|
|
1659 |
if ( ! $id )
|
1660 |
$id = wpsc_get_current_customer_id();
|
1661 |
|
@@ -1712,6 +1710,8 @@ function wpsc_get_customer_meta( $key = '', $id = false ) {
|
|
1712 |
* if otherwise.
|
1713 |
*/
|
1714 |
function wpsc_update_all_customer_meta( $profile, $id = false ) {
|
|
|
|
|
1715 |
if ( ! $id )
|
1716 |
$id = wpsc_get_current_customer_id( 'create' );
|
1717 |
|
355 |
'query_var' => true,
|
356 |
'register_meta_box_cb' => 'wpsc_meta_boxes',
|
357 |
'rewrite' => array(
|
358 |
+
'slug' => str_replace( basename( home_url() ), '', $wpsc_page_titles['products'] ) . '/%wpsc_product_category%',
|
359 |
'with_front' => false
|
360 |
)
|
361 |
);
|
417 |
'labels' => $labels,
|
418 |
'hierarchical' => true,
|
419 |
'rewrite' => array(
|
420 |
+
'slug' => str_replace( basename( home_url() ), '', $wpsc_page_titles['products'] ),
|
421 |
'with_front' => false,
|
422 |
'hierarchical' => (bool) get_option( 'product_category_hierarchical_url', 0 ),
|
423 |
),
|
655 |
function _wpsc_pre_get_posts_reset_taxonomy_globals( $query ) {
|
656 |
global $wp_the_query;
|
657 |
|
658 |
+
if ( is_admin() || $query !== $wp_the_query )
|
659 |
return;
|
660 |
|
661 |
if ( ! $query->get( 'page' ) && ! $query->get( 'paged' ) )
|
1291 |
*/
|
1292 |
function wpsc_product_link( $permalink, $post, $leavename ) {
|
1293 |
global $wp_query, $wpsc_page_titles, $wpsc_query, $wp_current_filter;
|
|
|
1294 |
$rewritecode = array(
|
1295 |
'%wpsc_product_category%',
|
1296 |
$leavename ? '' : '%postname%',
|
1310 |
return $permalink;
|
1311 |
|
1312 |
$permalink_structure = get_option( 'permalink_structure' );
|
|
|
1313 |
|
1314 |
+
// This may become customiseable later
|
1315 |
+
$our_permalink_structure = str_replace( basename( home_url() ), '', $wpsc_page_titles['products'] ) . "/%wpsc_product_category%/%postname%/";
|
1316 |
// Mostly the same conditions used for posts, but restricted to items with a post type of "wpsc-product "
|
1317 |
|
1318 |
if ( '' != $permalink_structure && !in_array( $post->post_status, array( 'draft', 'pending' ) ) ) {
|
1338 |
$product_category = $link;
|
1339 |
}
|
1340 |
$category_slug = $product_category;
|
|
|
1341 |
} else {
|
1342 |
// If the product is associated with only one category, we only have one choice
|
1343 |
if ( !isset( $product_categories[0] ) )
|
1352 |
$product_category->slug = null;
|
1353 |
|
1354 |
$category_slug = $product_category->slug;
|
|
|
|
|
1355 |
}
|
1356 |
|
1357 |
$post_name = $post->post_name;
|
1380 |
|
1381 |
$permalink = str_replace( $rewritecode, $rewritereplace, $our_permalink_structure );
|
1382 |
$permalink = user_trailingslashit( $permalink, 'single' );
|
1383 |
+
|
1384 |
$permalink = home_url( $permalink );
|
1385 |
}
|
1386 |
return apply_filters( 'wpsc_product_permalink', $permalink, $post->ID );
|
1433 |
* @return void
|
1434 |
*/
|
1435 |
function wpsc_get_page_post_names() {
|
|
|
1436 |
$wpsc_page['products'] = basename( get_option( 'product_list_url' ) );
|
1437 |
$wpsc_page['checkout'] = basename( get_option( 'checkout_url' ) );
|
1438 |
$wpsc_page['transaction_results'] = basename( get_option( 'transact_url' ) );
|
1652 |
* if otherwise.
|
1653 |
*/
|
1654 |
function wpsc_get_all_customer_meta( $id = false ) {
|
1655 |
+
global $wpdb;
|
1656 |
+
|
1657 |
if ( ! $id )
|
1658 |
$id = wpsc_get_current_customer_id();
|
1659 |
|
1710 |
* if otherwise.
|
1711 |
*/
|
1712 |
function wpsc_update_all_customer_meta( $profile, $id = false ) {
|
1713 |
+
global $wpdb;
|
1714 |
+
|
1715 |
if ( ! $id )
|
1716 |
$id = wpsc_get_current_customer_id( 'create' );
|
1717 |
|
wpsc-includes/category.functions.php
CHANGED
@@ -123,10 +123,12 @@ function wpsc_print_category_classes($category_to_print = false, $echo = true) {
|
|
123 |
global $wp_query, $wpdb;
|
124 |
|
125 |
//if we are in wpsc category page then get the current category
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
$
|
|
|
|
|
130 |
|
131 |
//check if we are in wpsc category page and that we have a term_id of the category to print
|
132 |
//this is done here because none of the following matters if we don't have one of those and we can
|
@@ -592,14 +594,14 @@ function wpsc_get_terms_variation_sort_filter($terms){
|
|
592 |
add_filter('get_terms','wpsc_get_terms_variation_sort_filter');
|
593 |
|
594 |
/**
|
595 |
-
* Abstracts Suhosin check into a function. Used primarily in relation to target markets.
|
596 |
* May be deprecated or never publicly launched if we change how the target market variables work.
|
597 |
-
*
|
598 |
* @since 3.8.9
|
599 |
* @return boolean
|
600 |
*/
|
601 |
function wpsc_is_suhosin_enabled() {
|
602 |
-
return @ extension_loaded( 'suhosin' ) && @ ini_get( 'suhosin.post.max_vars' ) > 0 && @ ini_get( 'suhosin.post.max_vars' ) < 500;
|
603 |
}
|
604 |
|
605 |
?>
|
123 |
global $wp_query, $wpdb;
|
124 |
|
125 |
//if we are in wpsc category page then get the current category
|
126 |
+
$curr_cat = false;
|
127 |
+
$term = get_query_var( 'wpsc_product_category' );
|
128 |
+
if ( ! $term && get_query_var( 'taxonomy' ) == 'wpsc_product_category' )
|
129 |
+
$term = get_query_var( 'term' );
|
130 |
+
if ( $term )
|
131 |
+
$curr_cat = get_term_by( 'slug', $term, 'wpsc_product_category' );
|
132 |
|
133 |
//check if we are in wpsc category page and that we have a term_id of the category to print
|
134 |
//this is done here because none of the following matters if we don't have one of those and we can
|
594 |
add_filter('get_terms','wpsc_get_terms_variation_sort_filter');
|
595 |
|
596 |
/**
|
597 |
+
* Abstracts Suhosin check into a function. Used primarily in relation to target markets.
|
598 |
* May be deprecated or never publicly launched if we change how the target market variables work.
|
599 |
+
*
|
600 |
* @since 3.8.9
|
601 |
* @return boolean
|
602 |
*/
|
603 |
function wpsc_is_suhosin_enabled() {
|
604 |
+
return @ extension_loaded( 'suhosin' ) && @ ini_get( 'suhosin.post.max_vars' ) > 0 && @ ini_get( 'suhosin.post.max_vars' ) < 500;
|
605 |
}
|
606 |
|
607 |
?>
|
wpsc-includes/purchase-log-notification.class.php
CHANGED
@@ -328,6 +328,8 @@ class WPSC_Purchase_Log_Admin_Notification extends WPSC_Purchase_Log_Notificatio
|
|
328 |
}
|
329 |
|
330 |
public function get_raw_message() {
|
|
|
|
|
331 |
$form_data = new WPSC_Checkout_Form_Data( $this->purchase_log->get( 'id' ) );
|
332 |
$raw_data = $form_data->get_raw_data();
|
333 |
|
@@ -386,8 +388,13 @@ class WPSC_Purchase_Log_Admin_Notification extends WPSC_Purchase_Log_Notificatio
|
|
386 |
foreach ( $data as $section ) {
|
387 |
if ( empty( $section['fields'] ) )
|
388 |
continue;
|
|
|
389 |
$message .= "<strong>{$section['title']}</strong>\r\n";
|
390 |
foreach ( $section['fields'] as $field ) {
|
|
|
|
|
|
|
|
|
391 |
$message .= $field->name . ' : ' . $field->value . "\r\n";
|
392 |
}
|
393 |
$message .= "\r\n";
|
328 |
}
|
329 |
|
330 |
public function get_raw_message() {
|
331 |
+
global $wpdb;
|
332 |
+
|
333 |
$form_data = new WPSC_Checkout_Form_Data( $this->purchase_log->get( 'id' ) );
|
334 |
$raw_data = $form_data->get_raw_data();
|
335 |
|
388 |
foreach ( $data as $section ) {
|
389 |
if ( empty( $section['fields'] ) )
|
390 |
continue;
|
391 |
+
|
392 |
$message .= "<strong>{$section['title']}</strong>\r\n";
|
393 |
foreach ( $section['fields'] as $field ) {
|
394 |
+
if ( strpos( $field->unique_name, 'state' ) && is_numeric( $field->value ) ) {
|
395 |
+
$sql = $wpdb->prepare( "SELECT name FROM " . WPSC_TABLE_REGION_TAX . " WHERE id = %d", $field->value );
|
396 |
+
$field->value = $wpdb->get_var( $sql );
|
397 |
+
}
|
398 |
$message .= $field->name . ' : ' . $field->value . "\r\n";
|
399 |
}
|
400 |
$message .= "\r\n";
|
wpsc-shipping/library/shipwire_functions.php
CHANGED
@@ -57,6 +57,9 @@ class WPSC_Shipwire {
|
|
57 |
self::$warehouse = '00';
|
58 |
self::$endpoint = 'https://api.shipwire.com/exec/'; //For testing, change to api.beta.shipwire
|
59 |
|
|
|
|
|
|
|
60 |
//Hooks into transaction results for Order Fulfillment API. wpsc_confirm_checkout would be logical - but it is run for each cart item.
|
61 |
//In fact, the only two current transaction page actions happen within the cart loop. Not great.
|
62 |
//I believe there is a patch on Issue 490 that proposes a 'wpsc_transaction_results_shutdown' action. It doesn't pass a $log_id, but it does pass a sessionid, which is fine.
|
@@ -315,12 +318,9 @@ class WPSC_Shipwire {
|
|
315 |
* @since 3.8.9
|
316 |
* @return type
|
317 |
*/
|
318 |
-
public function shipwire_on_checkout( $
|
319 |
global $wpdb;
|
320 |
-
|
321 |
-
$log_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM " . WPSC_TABLE_PURCHASE_LOGS . " WHERE sessionid = %s", $sessionid ) );
|
322 |
-
|
323 |
-
self::process_order_request( $log_id );
|
324 |
}
|
325 |
|
326 |
/**
|
@@ -909,6 +909,4 @@ function shipwire_sent_request( $xml ) {
|
|
909 |
function shipwire_send_tracking_request( $xml ) {
|
910 |
_deprecated_function( __FUNCTION__, '3.8.9', 'WPSC_Shipwire' );
|
911 |
return WPSC_Shipwire::send_tracking_request( $xml );
|
912 |
-
}
|
913 |
-
|
914 |
-
?>
|
57 |
self::$warehouse = '00';
|
58 |
self::$endpoint = 'https://api.shipwire.com/exec/'; //For testing, change to api.beta.shipwire
|
59 |
|
60 |
+
if ( ! self::is_active() )
|
61 |
+
return;
|
62 |
+
|
63 |
//Hooks into transaction results for Order Fulfillment API. wpsc_confirm_checkout would be logical - but it is run for each cart item.
|
64 |
//In fact, the only two current transaction page actions happen within the cart loop. Not great.
|
65 |
//I believe there is a patch on Issue 490 that proposes a 'wpsc_transaction_results_shutdown' action. It doesn't pass a $log_id, but it does pass a sessionid, which is fine.
|
318 |
* @since 3.8.9
|
319 |
* @return type
|
320 |
*/
|
321 |
+
public function shipwire_on_checkout( $purchase_log_object, $sessionid, $display ) {
|
322 |
global $wpdb;
|
323 |
+
self::process_order_request( $purchase_log_object->get( 'id' ) );
|
|
|
|
|
|
|
324 |
}
|
325 |
|
326 |
/**
|
909 |
function shipwire_send_tracking_request( $xml ) {
|
910 |
_deprecated_function( __FUNCTION__, '3.8.9', 'WPSC_Shipwire' );
|
911 |
return WPSC_Shipwire::send_tracking_request( $xml );
|
912 |
+
}
|
|
|
|
wpsc-shipping/shipwire.php
CHANGED
@@ -1,14 +1,16 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
3 |
/**
|
4 |
-
* New Shipwire Shipping rates
|
5 |
* This is a very simple gateway - no settings, and essentially just a wrapper function for the Shipwire Shipping Rate API
|
6 |
*/
|
7 |
|
8 |
class WPSC_Shipwire_Shipping {
|
9 |
public $internal_name;
|
10 |
-
public $name;
|
11 |
-
|
12 |
/**
|
13 |
* Constructor
|
14 |
*/
|
@@ -18,18 +20,18 @@ class WPSC_Shipwire_Shipping {
|
|
18 |
$this->is_external = true;
|
19 |
$this->requires_weight = false;
|
20 |
$this->needs_zipcode = true;
|
21 |
-
|
22 |
return true;
|
23 |
}
|
24 |
-
|
25 |
function getName() {
|
26 |
return $this->name;
|
27 |
}
|
28 |
-
|
29 |
function getInternalName() {
|
30 |
return $this->internal_name;
|
31 |
}
|
32 |
-
|
33 |
|
34 |
function getForm() {
|
35 |
|
@@ -40,7 +42,7 @@ class WPSC_Shipwire_Shipping {
|
|
40 |
|
41 |
return $output;
|
42 |
}
|
43 |
-
|
44 |
function submit_form() {
|
45 |
return true;
|
46 |
}
|
@@ -56,6 +58,4 @@ if ( WPSC_Shipwire::is_active() ) {
|
|
56 |
|
57 |
$wpsc_shipwire = new WPSC_Shipwire_Shipping();
|
58 |
$wpsc_shipping_modules[$wpsc_shipwire->getInternalName()] = $wpsc_shipwire;
|
59 |
-
}
|
60 |
-
|
61 |
-
?>
|
1 |
<?php
|
2 |
|
3 |
+
require_once( WPSC_FILE_PATH . '/wpsc-shipping/library/shipwire_functions.php' );
|
4 |
+
|
5 |
/**
|
6 |
+
* New Shipwire Shipping rates
|
7 |
* This is a very simple gateway - no settings, and essentially just a wrapper function for the Shipwire Shipping Rate API
|
8 |
*/
|
9 |
|
10 |
class WPSC_Shipwire_Shipping {
|
11 |
public $internal_name;
|
12 |
+
public $name;
|
13 |
+
|
14 |
/**
|
15 |
* Constructor
|
16 |
*/
|
20 |
$this->is_external = true;
|
21 |
$this->requires_weight = false;
|
22 |
$this->needs_zipcode = true;
|
23 |
+
|
24 |
return true;
|
25 |
}
|
26 |
+
|
27 |
function getName() {
|
28 |
return $this->name;
|
29 |
}
|
30 |
+
|
31 |
function getInternalName() {
|
32 |
return $this->internal_name;
|
33 |
}
|
34 |
+
|
35 |
|
36 |
function getForm() {
|
37 |
|
42 |
|
43 |
return $output;
|
44 |
}
|
45 |
+
|
46 |
function submit_form() {
|
47 |
return true;
|
48 |
}
|
58 |
|
59 |
$wpsc_shipwire = new WPSC_Shipwire_Shipping();
|
60 |
$wpsc_shipping_modules[$wpsc_shipwire->getInternalName()] = $wpsc_shipwire;
|
61 |
+
}
|
|
|
|
wpsc-theme/functions/wpsc-transaction_results_functions.php
CHANGED
@@ -10,25 +10,30 @@
|
|
10 |
* @param $transaction_id (int) the transaction id
|
11 |
*/
|
12 |
function transaction_results( $sessionid, $display_to_screen = true, $transaction_id = null ) {
|
13 |
-
global $message_html, $echo_to_screen, $wpsc_cart;
|
14 |
|
|
|
15 |
$echo_to_screen = $display_to_screen;
|
16 |
|
17 |
-
$
|
18 |
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
$wpsc_cart->empty_cart();
|
22 |
-
return $message_html;
|
23 |
-
}
|
24 |
|
25 |
-
|
26 |
-
$output = wpsc_get_transaction_html_output( $purchase_log );
|
27 |
|
28 |
-
|
29 |
-
|
30 |
|
31 |
-
|
|
|
|
|
32 |
}
|
33 |
|
34 |
function wpsc_transaction_theme() {
|
@@ -54,10 +59,10 @@ function wpsc_transaction_theme() {
|
|
54 |
if ( isset( $_REQUEST['eway'] ) && '1' == $_REQUEST['eway'] )
|
55 |
$sessionid = $_GET['result'];
|
56 |
elseif ( isset( $_REQUEST['eway'] ) && '0' == $_REQUEST['eway'] )
|
57 |
-
echo
|
58 |
elseif ( isset( $_REQUEST['payflow'] ) && '1' == $_REQUEST['payflow'] ){
|
59 |
-
echo
|
60 |
-
|
61 |
}
|
62 |
|
63 |
$dont_show_transaction_results = false;
|
@@ -123,4 +128,4 @@ function wpsc_transaction_theme() {
|
|
123 |
}else
|
124 |
printf( __( 'Sorry your transaction was not accepted.<br /><a href="%1$s">Click here to go back to checkout page</a>.', 'wpsc' ), get_option( "shopping_cart_url" ) );
|
125 |
}
|
126 |
-
}
|
10 |
* @param $transaction_id (int) the transaction id
|
11 |
*/
|
12 |
function transaction_results( $sessionid, $display_to_screen = true, $transaction_id = null ) {
|
13 |
+
global $message_html, $echo_to_screen, $wpsc_cart, $purchase_log;
|
14 |
|
15 |
+
// pre-3.8.9 variable
|
16 |
$echo_to_screen = $display_to_screen;
|
17 |
|
18 |
+
$purchase_log_object = new WPSC_Purchase_Log( $sessionid, 'sessionid' );
|
19 |
|
20 |
+
// compatibility with pre-3.8.9 templates where they use a global
|
21 |
+
// $purchase_log object which is simply just a database row
|
22 |
+
$purchase_log = (object) $purchase_log_object->get_data();
|
23 |
+
|
24 |
+
// pre-3.8.9 templates also use this global variable
|
25 |
+
$message_html = wpsc_get_transaction_html_output( $purchase_log_object );
|
26 |
|
27 |
$wpsc_cart->empty_cart();
|
|
|
|
|
28 |
|
29 |
+
do_action( 'wpsc_transaction_results_shutdown', $purchase_log_object, $sessionid, $display_to_screen );
|
|
|
30 |
|
31 |
+
return $message_html;
|
32 |
+
}
|
33 |
|
34 |
+
function wpsc_transaction_html_output() {
|
35 |
+
global $message_html;
|
36 |
+
echo $message_html;
|
37 |
}
|
38 |
|
39 |
function wpsc_transaction_theme() {
|
59 |
if ( isset( $_REQUEST['eway'] ) && '1' == $_REQUEST['eway'] )
|
60 |
$sessionid = $_GET['result'];
|
61 |
elseif ( isset( $_REQUEST['eway'] ) && '0' == $_REQUEST['eway'] )
|
62 |
+
echo wpsc_get_customer_meta( 'eway_message' );
|
63 |
elseif ( isset( $_REQUEST['payflow'] ) && '1' == $_REQUEST['payflow'] ){
|
64 |
+
echo wpsc_get_customer_meta( 'payflow_message' );
|
65 |
+
wpsc_delete_customer_meta( 'payflow_message' );
|
66 |
}
|
67 |
|
68 |
$dont_show_transaction_results = false;
|
128 |
}else
|
129 |
printf( __( 'Sorry your transaction was not accepted.<br /><a href="%1$s">Click here to go back to checkout page</a>.', 'wpsc' ), get_option( "shopping_cart_url" ) );
|
130 |
}
|
131 |
+
}
|