Version Description
Download this release
Release Info
| Developer | garyc40 |
| Plugin | |
| Version | 3.8.8.2-dev |
| Comparing to | |
| See all releases | |
Code changes from version 3.8.8.1 to 3.8.8.2-dev
- readme.txt +9 -0
- wp-shopping-cart.php +1 -1
- wpsc-admin/admin.php +5 -8
- wpsc-admin/ajax-and-init.php +3 -2
- wpsc-admin/includes/products.php +1 -1
- wpsc-admin/js/variations.js +1 -1
- wpsc-core/wpsc-constants.php +3 -3
- wpsc-core/wpsc-functions.php +10 -8
- wpsc-core/wpsc-installer.php +71 -1
- wpsc-includes/ajax.functions.php +9 -3
- wpsc-includes/purchaselogs.class.php +14 -9
- wpsc-includes/theme.functions.php +24 -30
- wpsc-theme/functions/wpsc-transaction_results_functions.php +30 -10
- wpsc-widgets/specials_widget.php +1 -20
readme.txt
CHANGED
|
@@ -156,6 +156,15 @@ After upgrading from earlier versions look for link "Update Store". This will up
|
|
| 156 |
|
| 157 |
|
| 158 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
= 3.8.8.1 =
|
| 160 |
* Fix: CSV import not working in 3.8.8.
|
| 161 |
* Fix: Category page display setting does not override default Presentation settings.
|
| 156 |
|
| 157 |
|
| 158 |
== Changelog ==
|
| 159 |
+
= 3.8.8.2 =
|
| 160 |
+
* Change: CSV sales export now puts the item quanity in a separate column from the product title.
|
| 161 |
+
* Fix: Core checkout fields cannot be restored if they were deleted before upgrading to 3.8.8.
|
| 162 |
+
* Fix: Insecure SSL resources when WordPress is using SSL, or "Force SSL Checkout" is enabled.
|
| 163 |
+
* Fix: Issue with WPML and Variations.
|
| 164 |
+
* Fix: Terms and Conditions - Checkout page breaks if you read the terms and conditions.
|
| 165 |
+
* Fix: Total shipping value and total price incorrect in transaction results.
|
| 166 |
+
* Fix: Variation sales prices are inaccurate in Product Specials Widget
|
| 167 |
+
|
| 168 |
= 3.8.8.1 =
|
| 169 |
* Fix: CSV import not working in 3.8.8.
|
| 170 |
* Fix: Category page display setting does not override default Presentation settings.
|
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.8.
|
| 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.8.2-dev
|
| 7 |
* Author: Instinct Entertainment
|
| 8 |
* Author URI: http://getshopped.org/
|
| 9 |
**/
|
wpsc-admin/admin.php
CHANGED
|
@@ -346,7 +346,6 @@ function wpsc_product_log_rss_feed() {
|
|
| 346 |
function wpsc_admin_include_coupon_js() {
|
| 347 |
|
| 348 |
// Variables
|
| 349 |
-
$siteurl = get_option( 'siteurl' );
|
| 350 |
$version_identifier = WPSC_VERSION . "." . WPSC_MINOR_VERSION;
|
| 351 |
|
| 352 |
// Coupon CSS
|
|
@@ -354,7 +353,7 @@ function wpsc_admin_include_coupon_js() {
|
|
| 354 |
wp_enqueue_style( 'wp-e-commerce-admin', WPSC_URL . '/wpsc-admin/css/admin.css', false, $version_identifier, 'all' );
|
| 355 |
|
| 356 |
// Coupon JS
|
| 357 |
-
wp_enqueue_script( 'wp-e-commerce-admin-parameters',
|
| 358 |
wp_enqueue_script( 'livequery', WPSC_URL . '/wpsc-admin/js/jquery.livequery.js', array( 'jquery' ), '1.0.3' );
|
| 359 |
wp_enqueue_script( 'datepicker-ui', WPSC_CORE_JS_URL . '/ui.datepicker.js', array( 'jquery-ui-core' ), $version_identifier );
|
| 360 |
wp_enqueue_script( 'wp-e-commerce-admin_legacy', WPSC_URL . '/wpsc-admin/js/admin-legacy.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-sortable', 'datepicker-ui' ), $version_identifier );
|
|
@@ -414,9 +413,6 @@ add_action( 'admin_footer', 'wpsc_meta_boxes' );
|
|
| 414 |
add_action( 'admin_enqueue_scripts', 'wpsc_admin_include_css_and_js_refac' );
|
| 415 |
function wpsc_admin_include_css_and_js_refac( $pagehook ) {
|
| 416 |
global $post_type, $current_screen;
|
| 417 |
-
$siteurl = get_option( 'siteurl' );
|
| 418 |
-
if ( is_ssl ( ) )
|
| 419 |
-
$siteurl = str_replace( "http://", "https://", $siteurl );
|
| 420 |
|
| 421 |
if ( version_compare( get_bloginfo( 'version' ), '3.3', '<' ) )
|
| 422 |
wp_admin_css( 'dashboard' );
|
|
@@ -439,7 +435,7 @@ function wpsc_admin_include_css_and_js_refac( $pagehook ) {
|
|
| 439 |
|
| 440 |
if ( ( in_array( $pagehook, $pages ) && $post_type == 'wpsc-product' ) || $current_screen->id == 'edit-wpsc_product_category' || $current_screen->id == 'dashboard_page_wpsc-sales-logs' || $current_screen->id == 'dashboard_page_wpsc-purchase-logs' || $current_screen->id == 'settings_page_wpsc-settings' || $current_screen->id == 'wpsc-product_page_wpsc-edit-coupons' || $current_screen->id == 'edit-wpsc-variation' ) {
|
| 441 |
wp_enqueue_script( 'livequery', WPSC_URL . '/wpsc-admin/js/jquery.livequery.js', array( 'jquery' ), '1.0.3' );
|
| 442 |
-
wp_enqueue_script( 'wp-e-commerce-admin-parameters',
|
| 443 |
wp_enqueue_script( 'wp-e-commerce-admin', WPSC_URL . '/wpsc-admin/js/admin.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-sortable' ), $version_identifier, false );
|
| 444 |
wp_enqueue_script( 'wp-e-commerce-legacy-ajax', WPSC_URL . '/wpsc-admin/js/ajax.js', false, $version_identifier ); // needs removing
|
| 445 |
|
|
@@ -449,7 +445,7 @@ function wpsc_admin_include_css_and_js_refac( $pagehook ) {
|
|
| 449 |
wp_enqueue_script( 'wp-e-commerce-variations', WPSC_URL . '/wpsc-admin/js/variations.js', array( 'jquery', 'wpsc-sortable-table' ), $version_identifier );
|
| 450 |
}
|
| 451 |
wp_enqueue_style( 'wp-e-commerce-admin', WPSC_URL . '/wpsc-admin/css/admin.css', false, $version_identifier, 'all' );
|
| 452 |
-
wp_enqueue_style( 'wp-e-commerce-admin-dynamic',
|
| 453 |
// Localize scripts
|
| 454 |
wp_localize_script( 'wp-e-commerce-admin', 'wpsc_adminL10n', array(
|
| 455 |
'dragndrop_set' => ( get_option( 'wpsc_sort_by' ) == 'dragndrop' ? 'true' : 'false' ),
|
|
@@ -911,7 +907,8 @@ function wpsc_fav_action( $actions ) {
|
|
| 911 |
add_filter( 'favorite_actions', 'wpsc_fav_action' );
|
| 912 |
|
| 913 |
function wpsc_print_admin_scripts() {
|
| 914 |
-
|
|
|
|
| 915 |
}
|
| 916 |
|
| 917 |
/**
|
| 346 |
function wpsc_admin_include_coupon_js() {
|
| 347 |
|
| 348 |
// Variables
|
|
|
|
| 349 |
$version_identifier = WPSC_VERSION . "." . WPSC_MINOR_VERSION;
|
| 350 |
|
| 351 |
// Coupon CSS
|
| 353 |
wp_enqueue_style( 'wp-e-commerce-admin', WPSC_URL . '/wpsc-admin/css/admin.css', false, $version_identifier, 'all' );
|
| 354 |
|
| 355 |
// Coupon JS
|
| 356 |
+
wp_enqueue_script( 'wp-e-commerce-admin-parameters', admin_url( '/wp-admin/admin.php?wpsc_admin_dynamic_js=true' ), false, $version_identifier );
|
| 357 |
wp_enqueue_script( 'livequery', WPSC_URL . '/wpsc-admin/js/jquery.livequery.js', array( 'jquery' ), '1.0.3' );
|
| 358 |
wp_enqueue_script( 'datepicker-ui', WPSC_CORE_JS_URL . '/ui.datepicker.js', array( 'jquery-ui-core' ), $version_identifier );
|
| 359 |
wp_enqueue_script( 'wp-e-commerce-admin_legacy', WPSC_URL . '/wpsc-admin/js/admin-legacy.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-sortable', 'datepicker-ui' ), $version_identifier );
|
| 413 |
add_action( 'admin_enqueue_scripts', 'wpsc_admin_include_css_and_js_refac' );
|
| 414 |
function wpsc_admin_include_css_and_js_refac( $pagehook ) {
|
| 415 |
global $post_type, $current_screen;
|
|
|
|
|
|
|
|
|
|
| 416 |
|
| 417 |
if ( version_compare( get_bloginfo( 'version' ), '3.3', '<' ) )
|
| 418 |
wp_admin_css( 'dashboard' );
|
| 435 |
|
| 436 |
if ( ( in_array( $pagehook, $pages ) && $post_type == 'wpsc-product' ) || $current_screen->id == 'edit-wpsc_product_category' || $current_screen->id == 'dashboard_page_wpsc-sales-logs' || $current_screen->id == 'dashboard_page_wpsc-purchase-logs' || $current_screen->id == 'settings_page_wpsc-settings' || $current_screen->id == 'wpsc-product_page_wpsc-edit-coupons' || $current_screen->id == 'edit-wpsc-variation' ) {
|
| 437 |
wp_enqueue_script( 'livequery', WPSC_URL . '/wpsc-admin/js/jquery.livequery.js', array( 'jquery' ), '1.0.3' );
|
| 438 |
+
wp_enqueue_script( 'wp-e-commerce-admin-parameters', admin_url( 'admin.php?wpsc_admin_dynamic_js=true' ), false, $version_identifier );
|
| 439 |
wp_enqueue_script( 'wp-e-commerce-admin', WPSC_URL . '/wpsc-admin/js/admin.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-sortable' ), $version_identifier, false );
|
| 440 |
wp_enqueue_script( 'wp-e-commerce-legacy-ajax', WPSC_URL . '/wpsc-admin/js/ajax.js', false, $version_identifier ); // needs removing
|
| 441 |
|
| 445 |
wp_enqueue_script( 'wp-e-commerce-variations', WPSC_URL . '/wpsc-admin/js/variations.js', array( 'jquery', 'wpsc-sortable-table' ), $version_identifier );
|
| 446 |
}
|
| 447 |
wp_enqueue_style( 'wp-e-commerce-admin', WPSC_URL . '/wpsc-admin/css/admin.css', false, $version_identifier, 'all' );
|
| 448 |
+
wp_enqueue_style( 'wp-e-commerce-admin-dynamic', admin_url( "admin.php?wpsc_admin_dynamic_css=true" ), false, $version_identifier, 'all' );
|
| 449 |
// Localize scripts
|
| 450 |
wp_localize_script( 'wp-e-commerce-admin', 'wpsc_adminL10n', array(
|
| 451 |
'dragndrop_set' => ( get_option( 'wpsc_sort_by' ) == 'dragndrop' ? 'true' : 'false' ),
|
| 907 |
add_filter( 'favorite_actions', 'wpsc_fav_action' );
|
| 908 |
|
| 909 |
function wpsc_print_admin_scripts() {
|
| 910 |
+
$scheme = is_ssl() ? 'https' : 'http';
|
| 911 |
+
wp_enqueue_script( 'wp-e-commerce-dynamic', home_url( "/index.php?wpsc_user_dynamic_js=true", $scheme ) );
|
| 912 |
}
|
| 913 |
|
| 914 |
/**
|
wpsc-admin/ajax-and-init.php
CHANGED
|
@@ -458,7 +458,8 @@ function wpsc_purchase_log_csv() {
|
|
| 458 |
$skuvalue = get_product_meta( $item['prodid'], 'sku', true );
|
| 459 |
if( empty( $skuvalue ) )
|
| 460 |
$skuvalue = __( 'N/A', 'wpsc' );
|
| 461 |
-
$output .= "\"" . $item['quantity'] . "
|
|
|
|
| 462 |
$output .= "," . $skuvalue."," ;
|
| 463 |
}
|
| 464 |
$output .= "\n"; // terminates the row/line in the CSV file
|
|
@@ -466,7 +467,7 @@ function wpsc_purchase_log_csv() {
|
|
| 466 |
// Get the most number of products and create a header for them
|
| 467 |
$headers3 = "";
|
| 468 |
for( $i = 0; $i < $count; $i++ ){
|
| 469 |
-
$headers3 .= "\"Quantity
|
| 470 |
if( $i < ( $count - 1 ) )
|
| 471 |
$headers3 .= ",";
|
| 472 |
}
|
| 458 |
$skuvalue = get_product_meta( $item['prodid'], 'sku', true );
|
| 459 |
if( empty( $skuvalue ) )
|
| 460 |
$skuvalue = __( 'N/A', 'wpsc' );
|
| 461 |
+
$output .= "\"" . $item['quantity'] . "\",";
|
| 462 |
+
$output .= "\"" . str_replace( '"', '\"', $item['name'] ) . "\"";
|
| 463 |
$output .= "," . $skuvalue."," ;
|
| 464 |
}
|
| 465 |
$output .= "\n"; // terminates the row/line in the CSV file
|
| 467 |
// Get the most number of products and create a header for them
|
| 468 |
$headers3 = "";
|
| 469 |
for( $i = 0; $i < $count; $i++ ){
|
| 470 |
+
$headers3 .= "\"Quantity\",\"Product Name\",\"SKU\"";
|
| 471 |
if( $i < ( $count - 1 ) )
|
| 472 |
$headers3 .= ",";
|
| 473 |
}
|
wpsc-admin/includes/products.php
CHANGED
|
@@ -17,7 +17,7 @@ function wpsc_admin_product_listing($parent_product = null) {
|
|
| 17 |
global $wp_query;
|
| 18 |
add_filter('the_title','esc_html');
|
| 19 |
$args = array_merge( $wp_query->query, array( 'posts_per_page' => '-1' ) );
|
| 20 |
-
$GLOBALS['wpsc_products'] =
|
| 21 |
|
| 22 |
foreach ( (array)$GLOBALS['wpsc_products'] as $product ) {
|
| 23 |
wpsc_product_row($product, $parent_product);
|
| 17 |
global $wp_query;
|
| 18 |
add_filter('the_title','esc_html');
|
| 19 |
$args = array_merge( $wp_query->query, array( 'posts_per_page' => '-1' ) );
|
| 20 |
+
$GLOBALS['wpsc_products'] = get_posts( $args );
|
| 21 |
|
| 22 |
foreach ( (array)$GLOBALS['wpsc_products'] as $product ) {
|
| 23 |
wpsc_product_row($product, $parent_product);
|
wpsc-admin/js/variations.js
CHANGED
|
@@ -157,7 +157,7 @@
|
|
| 157 |
description : $('#content_ifr').contents().find('body').html(),
|
| 158 |
additional_description : $('textarea#additional_description').text(),
|
| 159 |
name : $('input#title').val(),
|
| 160 |
-
product_id : $('input#
|
| 161 |
},
|
| 162 |
ajax_callback = function(response){
|
| 163 |
$('div#wpsc_product_variation_forms table.widefat tbody').html(response);
|
| 157 |
description : $('#content_ifr').contents().find('body').html(),
|
| 158 |
additional_description : $('textarea#additional_description').text(),
|
| 159 |
name : $('input#title').val(),
|
| 160 |
+
product_id : $('input#post_ID').val()
|
| 161 |
},
|
| 162 |
ajax_callback = function(response){
|
| 163 |
$('div#wpsc_product_variation_forms table.widefat tbody').html(response);
|
wpsc-core/wpsc-constants.php
CHANGED
|
@@ -26,9 +26,9 @@ function wpsc_core_constants() {
|
|
| 26 |
if(!defined('WPSC_URL'))
|
| 27 |
define( 'WPSC_URL', plugins_url( '', __FILE__ ) );
|
| 28 |
// Define Plugin version
|
| 29 |
-
define( 'WPSC_VERSION', '3.8.8.
|
| 30 |
-
define( 'WPSC_MINOR_VERSION', '
|
| 31 |
-
define( 'WPSC_PRESENTABLE_VERSION', '3.8.8.
|
| 32 |
|
| 33 |
// Define Debug Variables for developers
|
| 34 |
define( 'WPSC_DEBUG', false );
|
| 26 |
if(!defined('WPSC_URL'))
|
| 27 |
define( 'WPSC_URL', plugins_url( '', __FILE__ ) );
|
| 28 |
// Define Plugin version
|
| 29 |
+
define( 'WPSC_VERSION', '3.8.8.2-dev' );
|
| 30 |
+
define( 'WPSC_MINOR_VERSION', '550322' );
|
| 31 |
+
define( 'WPSC_PRESENTABLE_VERSION', '3.8.8.2-dev' );
|
| 32 |
|
| 33 |
// Define Debug Variables for developers
|
| 34 |
define( 'WPSC_DEBUG', false );
|
wpsc-core/wpsc-functions.php
CHANGED
|
@@ -540,7 +540,7 @@ function wpsc_filter_query_request( $args ) {
|
|
| 540 |
global $wpsc_page_titles;
|
| 541 |
if ( is_admin() )
|
| 542 |
return $args;
|
| 543 |
-
|
| 544 |
// Make sure no 404 error is thrown for any sub pages of products-page
|
| 545 |
if ( ! empty( $args['wpsc_product_category'] ) && 'page' != $args['wpsc_product_category'] && ! term_exists($args['wpsc_product_category'], 'wpsc_product_category') ) {
|
| 546 |
// Probably requesting a page that is a sub page of products page
|
|
@@ -1293,11 +1293,11 @@ function wpsc_product_link( $permalink, $post, $leavename ) {
|
|
| 1293 |
}
|
| 1294 |
}
|
| 1295 |
|
| 1296 |
-
if( isset( $category_slug ) && empty( $category_slug ) )
|
| 1297 |
$category_slug = 'product';
|
| 1298 |
-
|
| 1299 |
$category_slug = apply_filters( 'wpsc_product_permalink_cat_slug', $category_slug, $post_id );
|
| 1300 |
-
|
| 1301 |
$rewritereplace = array(
|
| 1302 |
$category_slug,
|
| 1303 |
$post_name
|
|
@@ -1404,10 +1404,10 @@ add_action( 'wp', 'wpsc_select_theme_functions', 10, 1 );
|
|
| 1404 |
*/
|
| 1405 |
function wpsc_force_ssl() {
|
| 1406 |
global $wp_query;
|
| 1407 |
-
if (
|
| 1408 |
$sslurl = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
| 1409 |
-
|
| 1410 |
-
|
| 1411 |
}
|
| 1412 |
}
|
| 1413 |
add_action( 'wp', 'wpsc_force_ssl' );
|
|
@@ -1458,7 +1458,9 @@ add_action( 'init', 'wpsc_cron' );
|
|
| 1458 |
/**
|
| 1459 |
* Checks if current page is shopping cart, and it should be SSL, but is not.
|
| 1460 |
* Used primarily for str_replacing links or content for https
|
| 1461 |
-
*
|
|
|
|
|
|
|
| 1462 |
* @return boolean true if we're on the shopping cart page and should be ssl, false if not
|
| 1463 |
*/
|
| 1464 |
function wpsc_is_ssl() {
|
| 540 |
global $wpsc_page_titles;
|
| 541 |
if ( is_admin() )
|
| 542 |
return $args;
|
| 543 |
+
|
| 544 |
// Make sure no 404 error is thrown for any sub pages of products-page
|
| 545 |
if ( ! empty( $args['wpsc_product_category'] ) && 'page' != $args['wpsc_product_category'] && ! term_exists($args['wpsc_product_category'], 'wpsc_product_category') ) {
|
| 546 |
// Probably requesting a page that is a sub page of products page
|
| 1293 |
}
|
| 1294 |
}
|
| 1295 |
|
| 1296 |
+
if( isset( $category_slug ) && empty( $category_slug ) )
|
| 1297 |
$category_slug = 'product';
|
| 1298 |
+
|
| 1299 |
$category_slug = apply_filters( 'wpsc_product_permalink_cat_slug', $category_slug, $post_id );
|
| 1300 |
+
|
| 1301 |
$rewritereplace = array(
|
| 1302 |
$category_slug,
|
| 1303 |
$post_name
|
| 1404 |
*/
|
| 1405 |
function wpsc_force_ssl() {
|
| 1406 |
global $wp_query;
|
| 1407 |
+
if ( '1' == get_option( 'wpsc_force_ssl' ) && ! is_ssl() && false !== strpos( $wp_query->post->post_content, '[shoppingcart]' ) ) {
|
| 1408 |
$sslurl = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
| 1409 |
+
wp_redirect( $sslurl );
|
| 1410 |
+
exit;
|
| 1411 |
}
|
| 1412 |
}
|
| 1413 |
add_action( 'wp', 'wpsc_force_ssl' );
|
| 1458 |
/**
|
| 1459 |
* Checks if current page is shopping cart, and it should be SSL, but is not.
|
| 1460 |
* Used primarily for str_replacing links or content for https
|
| 1461 |
+
*
|
| 1462 |
+
* @since 3.8.8.1
|
| 1463 |
+
* @deprecated 3.8.8.2
|
| 1464 |
* @return boolean true if we're on the shopping cart page and should be ssl, false if not
|
| 1465 |
*/
|
| 1466 |
function wpsc_is_ssl() {
|
wpsc-core/wpsc-installer.php
CHANGED
|
@@ -735,4 +735,74 @@ function wpsc_rename_checkout_column(){
|
|
| 735 |
}
|
| 736 |
|
| 737 |
}
|
| 738 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 735 |
}
|
| 736 |
|
| 737 |
}
|
| 738 |
+
|
| 739 |
+
/**
|
| 740 |
+
* In 3.8.8, we removed the ability for the user to delete or add core checkout fields (things like billingfirstname, billinglastname etc.) in order to reduce user error.
|
| 741 |
+
* Mistakenly deleting or duplicating those fields could cause unexpected bugs with checkout form validation.
|
| 742 |
+
*
|
| 743 |
+
* Some users have encountered an issue where, if they had previously deleted a core checkout field, now they can't add it back again.
|
| 744 |
+
* With this function, we should check to see whether any core fields are missing (by checking the uniquenames)
|
| 745 |
+
* If there are some missing, we automatically generate those with the intended uniquename.
|
| 746 |
+
*
|
| 747 |
+
* We set the 'active' field to 0, so as to mitigate any unintended consequences of adding additional fields.
|
| 748 |
+
*
|
| 749 |
+
* @since 3.8.8.2
|
| 750 |
+
* @return none
|
| 751 |
+
*/
|
| 752 |
+
function wpsc_3882_database_updates() {
|
| 753 |
+
global $wpdb;
|
| 754 |
+
|
| 755 |
+
// Check if we have done this before
|
| 756 |
+
if ( version_compare( get_option( 'wpsc_version' ), '3.8.8.2', '>=' ) )
|
| 757 |
+
return;
|
| 758 |
+
|
| 759 |
+
$unique_names = array(
|
| 760 |
+
'billingfirstname' => __( 'First Name', 'wpsc' ),
|
| 761 |
+
'billinglastname' => __( 'Last Name', 'wpsc' ),
|
| 762 |
+
'billingaddress' => __( 'Address', 'wpsc' ),
|
| 763 |
+
'billingcity' => __( 'City', 'wpsc' ),
|
| 764 |
+
'billingstate' => __( 'State', 'wpsc' ),
|
| 765 |
+
'billingcountry' => __( 'Country', 'wpsc' ),
|
| 766 |
+
'billingemail' => __( 'Email', 'wpsc' ),
|
| 767 |
+
'billingphone' => __( 'Phone', 'wpsc' ),
|
| 768 |
+
'billingpostcode' => __( 'Postal Code', 'wpsc' ),
|
| 769 |
+
'delivertoafriend' => __( 'Shipping Address', 'wpsc' ),
|
| 770 |
+
'shippingfirstname' => __( 'First Name', 'wpsc' ),
|
| 771 |
+
'shippinglastname' => __( 'Last Name', 'wpsc' ),
|
| 772 |
+
'shippingaddress' => __( 'Address', 'wpsc' ),
|
| 773 |
+
'shippingcity' => __( 'City', 'wpsc' ),
|
| 774 |
+
'shippingstate' => __( 'State', 'wpsc' ),
|
| 775 |
+
'shippingcountry' => __( 'Country', 'wpsc' ),
|
| 776 |
+
'shippingpostcode' => __( 'Postal Code', 'wpsc' ),
|
| 777 |
+
);
|
| 778 |
+
|
| 779 |
+
// Check if any uniquenames are missing
|
| 780 |
+
$current_columns = array_filter( $wpdb->get_col( $wpdb->prepare( 'SELECT unique_name FROM ' . WPSC_TABLE_CHECKOUT_FORMS ) ) );
|
| 781 |
+
|
| 782 |
+
$columns_to_add = array_diff_key( $unique_names, array_flip( $current_columns ) );
|
| 783 |
+
|
| 784 |
+
if ( empty( $columns_to_add ) )
|
| 785 |
+
return update_option( 'wpsc_version', '3.8.8.2' );
|
| 786 |
+
|
| 787 |
+
foreach ( $columns_to_add as $unique_name => $name ) {
|
| 788 |
+
|
| 789 |
+
// We need to add the row. A few cases to check for type. Quick and procedural felt like less overkill than a switch statement
|
| 790 |
+
$type = 'text';
|
| 791 |
+
$type = stristr( $unique_name, 'address' ) ? 'address' : $type;
|
| 792 |
+
$type = stristr( $unique_name, 'city' ) ? 'city' : $type;
|
| 793 |
+
$type = 'billingcountry' == $unique_name ? 'country' : $type;
|
| 794 |
+
$type = 'billingemail' == $unique_name ? 'email' : $type;
|
| 795 |
+
$type = 'shippingcountry' == $unique_name ? 'deliverycountry' : $type;
|
| 796 |
+
|
| 797 |
+
$wpdb->insert( WPSC_TABLE_CHECKOUT_FORMS,
|
| 798 |
+
array( 'unique_name' => $unique_name, 'active' => '0', 'type' => $type, 'name' => $name, 'checkout_set' => '0' ),
|
| 799 |
+
array( '%s', '%d', '%s', '%s', '%d' )
|
| 800 |
+
);
|
| 801 |
+
}
|
| 802 |
+
|
| 803 |
+
// Update option to database to indicate that we have patched this.
|
| 804 |
+
update_option( 'wpsc_version', '3.8.8.2' );
|
| 805 |
+
|
| 806 |
+
}
|
| 807 |
+
|
| 808 |
+
add_action( 'plugins_loaded', 'wpsc_3882_database_updates' );
|
wpsc-includes/ajax.functions.php
CHANGED
|
@@ -719,11 +719,17 @@ if ( isset( $_REQUEST['wpsc_action'] ) && ($_REQUEST['wpsc_action'] == 'gateway_
|
|
| 719 |
add_action( 'init', 'wpsc_gateway_notification' );
|
| 720 |
}
|
| 721 |
|
| 722 |
-
if ( isset( $_GET['termsandconds'] ) &&
|
| 723 |
-
|
| 724 |
-
exit();
|
| 725 |
}
|
| 726 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 727 |
/**
|
| 728 |
* wpsc_change_tax function, used through ajax and in normal page loading.
|
| 729 |
* No parameters, returns nothing
|
| 719 |
add_action( 'init', 'wpsc_gateway_notification' );
|
| 720 |
}
|
| 721 |
|
| 722 |
+
if ( isset( $_GET['termsandconds'] ) && 'true' == $_GET['termsandconds'] ) {
|
| 723 |
+
add_action( 'init', 'wpsc_show_terms_and_conditions' );
|
|
|
|
| 724 |
}
|
| 725 |
|
| 726 |
+
function wpsc_show_terms_and_conditions() {
|
| 727 |
+
|
| 728 |
+
echo wpautop( stripslashes( wp_kses_post( get_option( 'terms_and_conditions' ) ) ) );
|
| 729 |
+
die();
|
| 730 |
+
}
|
| 731 |
+
|
| 732 |
+
|
| 733 |
/**
|
| 734 |
* wpsc_change_tax function, used through ajax and in normal page loading.
|
| 735 |
* No parameters, returns nothing
|
wpsc-includes/purchaselogs.class.php
CHANGED
|
@@ -329,28 +329,28 @@ function wpsc_purchaselog_details_SKU() {
|
|
| 329 |
|
| 330 |
function wpsc_purchaselog_details_quantity() {
|
| 331 |
global $purchlogitem;
|
| 332 |
-
return (
|
| 333 |
}
|
| 334 |
|
| 335 |
function wpsc_purchaselog_details_price() {
|
| 336 |
global $purchlogitem;
|
| 337 |
-
return (float)$purchlogitem->purchitem->price;
|
| 338 |
}
|
| 339 |
|
| 340 |
function wpsc_purchaselog_details_shipping() {
|
| 341 |
global $purchlogitem;
|
| 342 |
-
return (
|
| 343 |
}
|
| 344 |
|
| 345 |
function wpsc_purchaselog_details_tax() {
|
| 346 |
global $purchlogitem, $wpsc_cart;
|
| 347 |
|
| 348 |
-
return (
|
| 349 |
}
|
| 350 |
|
| 351 |
function wpsc_purchaselog_details_discount() {
|
| 352 |
global $purchlogitem;
|
| 353 |
-
return (float)$purchlogitem->extrainfo->discount_value;
|
| 354 |
}
|
| 355 |
|
| 356 |
function wpsc_purchaselog_details_date() {
|
|
@@ -408,16 +408,21 @@ function wpsc_display_purchlog_discount( $numeric = false ) {
|
|
| 408 |
* Returns base shipping should make a function to calculate items shipping as well
|
| 409 |
*/
|
| 410 |
|
| 411 |
-
function wpsc_display_purchlog_shipping( $numeric = false ) {
|
| 412 |
global $purchlogitem;
|
| 413 |
$base_shipping = $purchlogitem->extrainfo->base_shipping;
|
| 414 |
$per_item_shipping = 0;
|
| 415 |
-
|
| 416 |
-
|
| 417 |
-
|
|
|
|
|
|
|
|
|
|
| 418 |
}
|
| 419 |
}
|
|
|
|
| 420 |
$total_shipping = $per_item_shipping + $base_shipping;
|
|
|
|
| 421 |
if ( $numeric == true ) {
|
| 422 |
return $total_shipping;
|
| 423 |
} else {
|
| 329 |
|
| 330 |
function wpsc_purchaselog_details_quantity() {
|
| 331 |
global $purchlogitem;
|
| 332 |
+
return (float) $purchlogitem->purchitem->quantity;
|
| 333 |
}
|
| 334 |
|
| 335 |
function wpsc_purchaselog_details_price() {
|
| 336 |
global $purchlogitem;
|
| 337 |
+
return (float) $purchlogitem->purchitem->price;
|
| 338 |
}
|
| 339 |
|
| 340 |
function wpsc_purchaselog_details_shipping() {
|
| 341 |
global $purchlogitem;
|
| 342 |
+
return (float) $purchlogitem->purchitem->pnp;
|
| 343 |
}
|
| 344 |
|
| 345 |
function wpsc_purchaselog_details_tax() {
|
| 346 |
global $purchlogitem, $wpsc_cart;
|
| 347 |
|
| 348 |
+
return (float) $purchlogitem->purchitem->tax_charged;
|
| 349 |
}
|
| 350 |
|
| 351 |
function wpsc_purchaselog_details_discount() {
|
| 352 |
global $purchlogitem;
|
| 353 |
+
return (float) $purchlogitem->extrainfo->discount_value;
|
| 354 |
}
|
| 355 |
|
| 356 |
function wpsc_purchaselog_details_date() {
|
| 408 |
* Returns base shipping should make a function to calculate items shipping as well
|
| 409 |
*/
|
| 410 |
|
| 411 |
+
function wpsc_display_purchlog_shipping( $numeric = false, $include_item = false ) {
|
| 412 |
global $purchlogitem;
|
| 413 |
$base_shipping = $purchlogitem->extrainfo->base_shipping;
|
| 414 |
$per_item_shipping = 0;
|
| 415 |
+
|
| 416 |
+
if ( $include_item ) {
|
| 417 |
+
foreach ( (array)$purchlogitem->allcartcontent as $cart_item ) {
|
| 418 |
+
if ( $cart_item->pnp > 0 ) {
|
| 419 |
+
$per_item_shipping += ( $cart_item->pnp );
|
| 420 |
+
}
|
| 421 |
}
|
| 422 |
}
|
| 423 |
+
|
| 424 |
$total_shipping = $per_item_shipping + $base_shipping;
|
| 425 |
+
|
| 426 |
if ( $numeric == true ) {
|
| 427 |
return $total_shipping;
|
| 428 |
} else {
|
wpsc-includes/theme.functions.php
CHANGED
|
@@ -256,38 +256,31 @@ function wpsc_get_template_file_url( $file = '' ) {
|
|
| 256 |
if ( empty( $file ) )
|
| 257 |
return;
|
| 258 |
|
| 259 |
-
//
|
| 260 |
-
if (
|
| 261 |
-
|
| 262 |
-
if ( file_exists( get_stylesheet_directory() . '/' . $file ) ) {
|
| 263 |
-
$file_url = get_stylesheet_directory_uri() . '/' . $file;
|
| 264 |
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
}
|
| 281 |
}
|
| 282 |
-
|
| 283 |
-
if ( wpsc_is_ssl() || ( is_ssl() && ! strstr( $file_url, 'https://' ) ) )
|
| 284 |
-
$file_url = str_replace('http://', 'https://', $file_url);
|
| 285 |
-
|
| 286 |
-
// Save the transient and update it every 12 hours
|
| 287 |
-
if ( ! empty( $file_url ) )
|
| 288 |
-
set_transient( WPEC_TRANSIENT_THEME_URL_PREFIX . $file, $file_url, 60 * 60 * 12 );
|
| 289 |
}
|
| 290 |
|
|
|
|
|
|
|
|
|
|
| 291 |
// Return filtered result
|
| 292 |
return apply_filters( WPEC_TRANSIENT_THEME_URL_PREFIX . $file, $file_url );
|
| 293 |
}
|
|
@@ -551,6 +544,7 @@ function wpsc_enqueue_user_script_and_css() {
|
|
| 551 |
/**
|
| 552 |
* end of added by xiligroup.dev to be compatible with touchshop
|
| 553 |
*/
|
|
|
|
| 554 |
$version_identifier = WPSC_VERSION . "." . WPSC_MINOR_VERSION;
|
| 555 |
$category_id = '';
|
| 556 |
if (isset( $wp_query ) && isset( $wp_query->query_vars['taxonomy'] ) && ('wpsc_product_category' == $wp_query->query_vars['taxonomy'] ) || is_numeric( get_option( 'wpsc_default_category' ) )
|
|
@@ -563,15 +557,15 @@ function wpsc_enqueue_user_script_and_css() {
|
|
| 563 |
}
|
| 564 |
|
| 565 |
$remote_protocol = is_ssl() ? 'https://' : 'http://';
|
| 566 |
-
|
| 567 |
if( get_option( 'wpsc_share_this' ) == 1 )
|
| 568 |
wp_enqueue_script( 'sharethis', $remote_protocol . 'w.sharethis.com/button/buttons.js', array(), false, true );
|
| 569 |
-
|
| 570 |
wp_enqueue_script( 'jQuery' );
|
| 571 |
wp_enqueue_script( 'wp-e-commerce', WPSC_CORE_JS_URL . '/wp-e-commerce.js', array( 'jquery' ), $version_identifier );
|
| 572 |
wp_enqueue_script( 'infieldlabel', WPSC_CORE_JS_URL . '/jquery.infieldlabel.min.js', array( 'jquery' ), $version_identifier );
|
| 573 |
wp_enqueue_script( 'wp-e-commerce-ajax-legacy', WPSC_CORE_JS_URL . '/ajax.js', false, $version_identifier );
|
| 574 |
-
wp_enqueue_script( 'wp-e-commerce-dynamic',
|
| 575 |
wp_localize_script( 'wp-e-commerce-dynamic', 'wpsc_ajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
|
| 576 |
wp_enqueue_script( 'livequery', WPSC_URL . '/wpsc-admin/js/jquery.livequery.js', array( 'jquery' ), '1.0.3' );
|
| 577 |
if( get_option( 'product_ratings' ) == 1 )
|
|
@@ -592,7 +586,7 @@ function wpsc_enqueue_user_script_and_css() {
|
|
| 592 |
wp_enqueue_style( 'wpsc-theme-css-compatibility', WPSC_CORE_THEME_URL . 'compatibility.css', false, $version_identifier, 'all' );
|
| 593 |
if( get_option( 'product_ratings' ) == 1 )
|
| 594 |
wp_enqueue_style( 'wpsc-product-rater', WPSC_CORE_JS_URL . '/product_rater.css', false, $version_identifier, 'all' );
|
| 595 |
-
wp_enqueue_style( 'wp-e-commerce-dynamic',
|
| 596 |
|
| 597 |
}
|
| 598 |
|
| 256 |
if ( empty( $file ) )
|
| 257 |
return;
|
| 258 |
|
| 259 |
+
// Look for file in stylesheet
|
| 260 |
+
if ( file_exists( get_stylesheet_directory() . '/' . $file ) ) {
|
| 261 |
+
$file_url = get_stylesheet_directory_uri() . '/' . $file;
|
|
|
|
|
|
|
| 262 |
|
| 263 |
+
// Look for file in template
|
| 264 |
+
} elseif ( file_exists( get_template_directory() . '/' . $file ) ) {
|
| 265 |
+
$file_url = get_template_directory_uri() . '/' . $file;
|
| 266 |
|
| 267 |
+
// Backwards compatibility
|
| 268 |
+
} else {
|
| 269 |
+
// Look in old theme url
|
| 270 |
+
$selected_theme_check = WPSC_OLD_THEMES_PATH . get_option( 'wpsc_selected_theme' ) . '/' . str_ireplace( 'wpsc-', '', $file );
|
| 271 |
+
// Check the selected theme
|
| 272 |
+
if ( file_exists( $selected_theme_check ) ) {
|
| 273 |
|
| 274 |
+
$file_url = WPSC_OLD_THEMES_URL . get_option( 'wpsc_selected_theme' ) . '/' . str_ireplace( 'wpsc-', '', $file );
|
| 275 |
+
// Use the bundled theme CSS
|
| 276 |
+
} else {
|
| 277 |
+
$file_url = WPSC_CORE_THEME_URL . $file;
|
|
|
|
| 278 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 279 |
}
|
| 280 |
|
| 281 |
+
if ( is_ssl() )
|
| 282 |
+
$file_url = str_replace('http://', 'https://', $file_url);
|
| 283 |
+
|
| 284 |
// Return filtered result
|
| 285 |
return apply_filters( WPEC_TRANSIENT_THEME_URL_PREFIX . $file, $file_url );
|
| 286 |
}
|
| 544 |
/**
|
| 545 |
* end of added by xiligroup.dev to be compatible with touchshop
|
| 546 |
*/
|
| 547 |
+
$scheme = is_ssl() ? 'https' : 'http';
|
| 548 |
$version_identifier = WPSC_VERSION . "." . WPSC_MINOR_VERSION;
|
| 549 |
$category_id = '';
|
| 550 |
if (isset( $wp_query ) && isset( $wp_query->query_vars['taxonomy'] ) && ('wpsc_product_category' == $wp_query->query_vars['taxonomy'] ) || is_numeric( get_option( 'wpsc_default_category' ) )
|
| 557 |
}
|
| 558 |
|
| 559 |
$remote_protocol = is_ssl() ? 'https://' : 'http://';
|
| 560 |
+
|
| 561 |
if( get_option( 'wpsc_share_this' ) == 1 )
|
| 562 |
wp_enqueue_script( 'sharethis', $remote_protocol . 'w.sharethis.com/button/buttons.js', array(), false, true );
|
| 563 |
+
|
| 564 |
wp_enqueue_script( 'jQuery' );
|
| 565 |
wp_enqueue_script( 'wp-e-commerce', WPSC_CORE_JS_URL . '/wp-e-commerce.js', array( 'jquery' ), $version_identifier );
|
| 566 |
wp_enqueue_script( 'infieldlabel', WPSC_CORE_JS_URL . '/jquery.infieldlabel.min.js', array( 'jquery' ), $version_identifier );
|
| 567 |
wp_enqueue_script( 'wp-e-commerce-ajax-legacy', WPSC_CORE_JS_URL . '/ajax.js', false, $version_identifier );
|
| 568 |
+
wp_enqueue_script( 'wp-e-commerce-dynamic', home_url( '/index.php?wpsc_user_dynamic_js=true', $scheme ), false, $version_identifier );
|
| 569 |
wp_localize_script( 'wp-e-commerce-dynamic', 'wpsc_ajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
|
| 570 |
wp_enqueue_script( 'livequery', WPSC_URL . '/wpsc-admin/js/jquery.livequery.js', array( 'jquery' ), '1.0.3' );
|
| 571 |
if( get_option( 'product_ratings' ) == 1 )
|
| 586 |
wp_enqueue_style( 'wpsc-theme-css-compatibility', WPSC_CORE_THEME_URL . 'compatibility.css', false, $version_identifier, 'all' );
|
| 587 |
if( get_option( 'product_ratings' ) == 1 )
|
| 588 |
wp_enqueue_style( 'wpsc-product-rater', WPSC_CORE_JS_URL . '/product_rater.css', false, $version_identifier, 'all' );
|
| 589 |
+
wp_enqueue_style( 'wp-e-commerce-dynamic', home_url( "/index.php?wpsc_user_dynamic_css=true&category=$category_id", $scheme ), false, $version_identifier, 'all' );
|
| 590 |
|
| 591 |
}
|
| 592 |
|
wpsc-theme/functions/wpsc-transaction_results_functions.php
CHANGED
|
@@ -129,6 +129,9 @@ function transaction_results( $sessionid, $display_to_screen = true, $transactio
|
|
| 129 |
|
| 130 |
$echo_to_screen = $display_to_screen;
|
| 131 |
|
|
|
|
|
|
|
|
|
|
| 132 |
if ( is_numeric( $sessionid ) ) {
|
| 133 |
if ( $echo_to_screen )
|
| 134 |
echo apply_filters( 'wpsc_pre_transaction_results', '' );
|
|
@@ -254,7 +257,7 @@ function transaction_results( $sessionid, $display_to_screen = true, $transactio
|
|
| 254 |
}
|
| 255 |
|
| 256 |
//add tax if included
|
| 257 |
-
if($wpec_taxes_controller->wpec_taxes_isenabled() && $wpec_taxes_controller->wpec_taxes_isincluded())
|
| 258 |
{
|
| 259 |
$taxes_text = ' - - '.__('Tax Included', 'wpsc').': '.wpsc_currency_display( $row['tax_charged'], array( 'display_as_html' => false ) )."\n\r";
|
| 260 |
$taxes_text_html = ' - - '.__('Tax Included', 'wpsc').': '.wpsc_currency_display( $row['tax_charged'] );
|
|
@@ -277,8 +280,8 @@ function transaction_results( $sessionid, $display_to_screen = true, $transactio
|
|
| 277 |
}
|
| 278 |
}
|
| 279 |
|
| 280 |
-
$total_shipping = $
|
| 281 |
-
$total
|
| 282 |
|
| 283 |
$total_price_email = '';
|
| 284 |
$total_price_html = '';
|
|
@@ -286,7 +289,7 @@ function transaction_results( $sessionid, $display_to_screen = true, $transactio
|
|
| 286 |
$total_tax = '';
|
| 287 |
$total_shipping_html = '';
|
| 288 |
$total_shipping_email = '';
|
| 289 |
-
if ( wpsc_uses_shipping() )
|
| 290 |
$total_shipping_email.= sprintf(__( 'Total Shipping: %s
|
| 291 |
', 'wpsc' ), wpsc_currency_display( $total_shipping, array( 'display_as_html' => false ) ) );
|
| 292 |
$total_price_email.= sprintf(__( 'Total: %s
|
|
@@ -301,11 +304,11 @@ function transaction_results( $sessionid, $display_to_screen = true, $transactio
|
|
| 301 |
}
|
| 302 |
|
| 303 |
//only show total tax if tax is not included
|
| 304 |
-
if($wpec_taxes_controller->wpec_taxes_isenabled() &&
|
| 305 |
$total_tax_html .= __('Total Tax', 'wpsc').': '. wpsc_currency_display( $purchase_log['wpec_taxes_total'] )."\n\r";
|
| 306 |
$total_tax .= __('Total Tax', 'wpsc').': '. wpsc_currency_display( $purchase_log['wpec_taxes_total'] , array( 'display_as_html' => false ) )."\n\r";
|
| 307 |
}
|
| 308 |
-
if ( wpsc_uses_shipping() )
|
| 309 |
$total_shipping_html.= '<hr>' . sprintf(__( 'Total Shipping: %s
|
| 310 |
', 'wpsc' ), wpsc_currency_display( $total_shipping ));
|
| 311 |
$total_price_html.= sprintf(__( 'Total: %s
|
|
@@ -350,9 +353,6 @@ function transaction_results( $sessionid, $display_to_screen = true, $transactio
|
|
| 350 |
add_filter( 'wp_mail_from_name', 'wpsc_replace_reply_name', 0 );
|
| 351 |
$message = apply_filters('wpsc_email_message', $message, $report_id, $product_list, $total_tax, $total_shipping_email, $total_price_email);
|
| 352 |
|
| 353 |
-
//new variable to check whether function is being called from wpsc_purchlog_resend_email()
|
| 354 |
-
$resend_email = isset( $_REQUEST['email_buyer_id'] ) ? true : false;
|
| 355 |
-
|
| 356 |
if ( ! $is_transaction ) {
|
| 357 |
|
| 358 |
$payment_instructions = strip_tags( stripslashes( get_option( 'payment_instructions' ) ) );
|
|
@@ -425,4 +425,24 @@ function transaction_results( $sessionid, $display_to_screen = true, $transactio
|
|
| 425 |
}
|
| 426 |
}
|
| 427 |
|
| 428 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
|
| 130 |
$echo_to_screen = $display_to_screen;
|
| 131 |
|
| 132 |
+
//new variable to check whether function is being called from wpsc_purchlog_resend_email()
|
| 133 |
+
$resend_email = isset( $_REQUEST['email_buyer_id'] ) ? true : false;
|
| 134 |
+
|
| 135 |
if ( is_numeric( $sessionid ) ) {
|
| 136 |
if ( $echo_to_screen )
|
| 137 |
echo apply_filters( 'wpsc_pre_transaction_results', '' );
|
| 257 |
}
|
| 258 |
|
| 259 |
//add tax if included
|
| 260 |
+
if( $wpec_taxes_controller->wpec_taxes_isenabled() && $wpec_taxes_controller->wpec_taxes_isincluded() )
|
| 261 |
{
|
| 262 |
$taxes_text = ' - - '.__('Tax Included', 'wpsc').': '.wpsc_currency_display( $row['tax_charged'], array( 'display_as_html' => false ) )."\n\r";
|
| 263 |
$taxes_text_html = ' - - '.__('Tax Included', 'wpsc').': '.wpsc_currency_display( $row['tax_charged'] );
|
| 280 |
}
|
| 281 |
}
|
| 282 |
|
| 283 |
+
$total_shipping = wpsc_get_total_shipping( $purchase_log['id'] );
|
| 284 |
+
$total = $purchase_log['totalprice'];
|
| 285 |
|
| 286 |
$total_price_email = '';
|
| 287 |
$total_price_html = '';
|
| 289 |
$total_tax = '';
|
| 290 |
$total_shipping_html = '';
|
| 291 |
$total_shipping_email = '';
|
| 292 |
+
if ( wpsc_uses_shipping() || ! empty( $purchase_log['base_shipping'] ) )
|
| 293 |
$total_shipping_email.= sprintf(__( 'Total Shipping: %s
|
| 294 |
', 'wpsc' ), wpsc_currency_display( $total_shipping, array( 'display_as_html' => false ) ) );
|
| 295 |
$total_price_email.= sprintf(__( 'Total: %s
|
| 304 |
}
|
| 305 |
|
| 306 |
//only show total tax if tax is not included
|
| 307 |
+
if ( ( $wpec_taxes_controller->wpec_taxes_isenabled() && ! $wpec_taxes_controller->wpec_taxes_isincluded() ) ) {
|
| 308 |
$total_tax_html .= __('Total Tax', 'wpsc').': '. wpsc_currency_display( $purchase_log['wpec_taxes_total'] )."\n\r";
|
| 309 |
$total_tax .= __('Total Tax', 'wpsc').': '. wpsc_currency_display( $purchase_log['wpec_taxes_total'] , array( 'display_as_html' => false ) )."\n\r";
|
| 310 |
}
|
| 311 |
+
if ( wpsc_uses_shipping() || ! empty( $purchase_log['base_shipping'] ) )
|
| 312 |
$total_shipping_html.= '<hr>' . sprintf(__( 'Total Shipping: %s
|
| 313 |
', 'wpsc' ), wpsc_currency_display( $total_shipping ));
|
| 314 |
$total_price_html.= sprintf(__( 'Total: %s
|
| 353 |
add_filter( 'wp_mail_from_name', 'wpsc_replace_reply_name', 0 );
|
| 354 |
$message = apply_filters('wpsc_email_message', $message, $report_id, $product_list, $total_tax, $total_shipping_email, $total_price_email);
|
| 355 |
|
|
|
|
|
|
|
|
|
|
| 356 |
if ( ! $is_transaction ) {
|
| 357 |
|
| 358 |
$payment_instructions = strip_tags( stripslashes( get_option( 'payment_instructions' ) ) );
|
| 425 |
}
|
| 426 |
}
|
| 427 |
|
| 428 |
+
/**
|
| 429 |
+
* New helper function for grabbing the total shipping of a purchase log
|
| 430 |
+
* @param int $purchase_id
|
| 431 |
+
* @return float shipping price
|
| 432 |
+
*/
|
| 433 |
+
function wpsc_get_total_shipping( $purchase_id ) {
|
| 434 |
+
global $wpdb;
|
| 435 |
+
|
| 436 |
+
$per_item_shipping = $wpdb->get_col( $wpdb->prepare( 'SELECT pnp FROM ' . WPSC_TABLE_CART_CONTENTS . " WHERE purchaseid = %d", $purchase_id ) );
|
| 437 |
+
$base_shipping = $wpdb->get_var( $wpdb->prepare( 'SELECT base_shipping FROM ' . WPSC_TABLE_PURCHASE_LOGS . " WHERE id = %d", $purchase_id ) );
|
| 438 |
+
|
| 439 |
+
$total_shipping = 0.00;
|
| 440 |
+
|
| 441 |
+
$per_item_shipping = array_sum( $per_item_shipping );
|
| 442 |
+
|
| 443 |
+
$total_shipping = $base_shipping + $per_item_shipping;
|
| 444 |
+
|
| 445 |
+
return $total_shipping;
|
| 446 |
+
}
|
| 447 |
+
|
| 448 |
+
?>
|
wpsc-widgets/specials_widget.php
CHANGED
|
@@ -176,26 +176,7 @@ function wpsc_specials( $args = null, $instance ) {
|
|
| 176 |
<br />
|
| 177 |
<span id="special_product_price_<?php echo wpsc_the_product_id(); ?>">
|
| 178 |
<!-- price display -->
|
| 179 |
-
<?php
|
| 180 |
-
while (wpsc_have_variation_groups()) : wpsc_the_variation_group(); ?>
|
| 181 |
-
<?php /** the variation HTML and loop */?>
|
| 182 |
-
<?php $variation_outputs = Array(); ?>
|
| 183 |
-
<?php while (wpsc_have_variations()) : wpsc_the_variation(); ?>
|
| 184 |
-
<?php
|
| 185 |
-
$variation_outputs[] = '';
|
| 186 |
-
$variation_prices[] = wpsc_the_variation_price(true);
|
| 187 |
-
endwhile;
|
| 188 |
-
// Sort the variations into price order before outputting
|
| 189 |
-
$data[] = $variation_outputs;
|
| 190 |
-
$data[] = $variation_prices;
|
| 191 |
-
array_multisort($data[1],SORT_ASC,SORT_NUMERIC,
|
| 192 |
-
$data[0],SORT_ASC,SORT_STRING);?>
|
| 193 |
-
<?php endwhile;
|
| 194 |
-
|
| 195 |
-
echo __('From', 'wpsc').' : '.wpsc_currency_display( $data[1][0] ); ?>
|
| 196 |
-
<?php else: ?>
|
| 197 |
-
<?php echo wpsc_currency_display( wpsc_calculate_price( wpsc_the_product_id(),null,true ) ); ?>
|
| 198 |
-
<?php endif; ?>
|
| 199 |
</span><br />
|
| 200 |
<strong><a class="wpsc_product_title" href="<?php echo wpsc_product_url( wpsc_the_product_id(), false ); ?>"><?php echo wpsc_the_product_title(); ?></a></strong><br />
|
| 201 |
|
| 176 |
<br />
|
| 177 |
<span id="special_product_price_<?php echo wpsc_the_product_id(); ?>">
|
| 178 |
<!-- price display -->
|
| 179 |
+
<?php echo wpsc_the_product_price(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
</span><br />
|
| 181 |
<strong><a class="wpsc_product_title" href="<?php echo wpsc_product_url( wpsc_the_product_id(), false ); ?>"><?php echo wpsc_the_product_title(); ?></a></strong><br />
|
| 182 |
|
