Version Description
- New: Filter to hide drafts on the front-end: "wpsc_product_display_status"
- New: Shipwire staging / production option
- Change: Remove deprecated and unused javascript (and by extension, CSS) from core
- Change: Remove nusoap
- Change: Improvements to Marketing admin panel
- Change: Improvements to Products List Admin Page
- Fix: WP e-Commerce pagination breaks WordPress pagination
- Fix: Wrong thumbnail size in Product Specials widget
- Fix: Filtering by a category also shows all products in subcategories
- Fix: admin.js throwing a Parse Error in Safari
- Fix: Product Image Links not working when over HTTPS
- Fix: If AJAX_URL returns HTTPS and Add to Cart is on HTTP, errors
- Fix: Add to Cart button doesn't work
- Fix: Can no longer upload customer attachments
- Fix: Deprecated warning for wp_convert_bytes_to_hr() function in WordPress 3.6
Download this release
Release Info
Developer | garyc40 |
Plugin | WP eCommerce |
Version | 3.8.12 |
Comparing to | |
See all releases |
Code changes from version 3.8.12-beta to 3.8.12
- readme.md +4 -4
- readme.txt +2 -1
- wp-shopping-cart.php +1 -1
- wpsc-admin/includes/coupon-list-table-class.php +1 -1
- wpsc-admin/includes/product-functions.php +1 -1
- wpsc-admin/includes/settings-tabs/shipping.php +12 -12
- wpsc-admin/init.php +2 -1
- wpsc-admin/js/settings-page.js +10 -10
- wpsc-core/wpsc-constants.php +2 -2
readme.md
CHANGED
@@ -15,10 +15,10 @@ If you're looking for general user support, please submit your support request o
|
|
15 |
Development status
|
16 |
-------------------------
|
17 |
|
18 |
-
* The latest stable version is [3.8.
|
19 |
-
* Active development version: 3.8.
|
20 |
-
* [Roadmap for 3.8.
|
21 |
-
* [3.8.
|
22 |
|
23 |
How to contribute code
|
24 |
-----------------------------
|
15 |
Development status
|
16 |
-------------------------
|
17 |
|
18 |
+
* The latest stable version is [3.8.12](http://wordpress.org/extend/plugins/wp-e-commerce).
|
19 |
+
* Active development version: 3.8.13-dev (branch [master](https://github.com/wp-e-commerce/WP-e-Commerce))
|
20 |
+
* [Roadmap for 3.8.13](https://github.com/wp-e-commerce/wp-e-commerce/wiki/Roadmap)
|
21 |
+
* [3.8.13 tickets](https://github.com/wp-e-commerce/wp-e-commerce/issues?milestone=11&sort=updated&state=open)
|
22 |
|
23 |
How to contribute code
|
24 |
-----------------------------
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://getshopped.org
|
|
4 |
Tags: e-commerce, wp-e-commerce, shop, cart, paypal, authorize, stock control, ecommerce, shipping, tax
|
5 |
Requires at least: 3.4
|
6 |
Tested up to: 3.6
|
7 |
-
Stable tag: 3.8.
|
8 |
|
9 |
WP e-Commerce is a free WordPress Shopping Cart Plugin that lets customers buy your products, services and digital downloads online.
|
10 |
|
@@ -161,6 +161,7 @@ After upgrading from earlier versions look for link "Update Store". This will up
|
|
161 |
* Fix: If AJAX_URL returns HTTPS and Add to Cart is on HTTP, errors
|
162 |
* Fix: Add to Cart button doesn't work
|
163 |
* Fix: Can no longer upload customer attachments
|
|
|
164 |
|
165 |
|
166 |
= 3.8.11.1 =
|
4 |
Tags: e-commerce, wp-e-commerce, shop, cart, paypal, authorize, stock control, ecommerce, shipping, tax
|
5 |
Requires at least: 3.4
|
6 |
Tested up to: 3.6
|
7 |
+
Stable tag: 3.8.12
|
8 |
|
9 |
WP e-Commerce is a free WordPress Shopping Cart Plugin that lets customers buy your products, services and digital downloads online.
|
10 |
|
161 |
* Fix: If AJAX_URL returns HTTPS and Add to Cart is on HTTP, errors
|
162 |
* Fix: Add to Cart button doesn't work
|
163 |
* Fix: Can no longer upload customer attachments
|
164 |
+
* Fix: Deprecated warning for wp_convert_bytes_to_hr() function in WordPress 3.6
|
165 |
|
166 |
|
167 |
= 3.8.11.1 =
|
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.12
|
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.12
|
7 |
* Author: Instinct Entertainment
|
8 |
* Author URI: http://getshopped.org/
|
9 |
**/
|
wpsc-admin/includes/coupon-list-table-class.php
CHANGED
@@ -405,7 +405,7 @@ class WPSC_Coupons_List_Table extends WP_List_Table {
|
|
405 |
$status = isset( $_GET['status'] ) ? absint( $_GET['status'] ) : false;
|
406 |
$where = $status !== false ? "WHERE active = $status" : '';
|
407 |
|
408 |
-
$order = strtoupper( $_GET['order'] ) === 'ASC' ? 'ASC' : 'DESC';
|
409 |
$limit = " LIMIT $offset,$per_page;";
|
410 |
$coupons = $wpdb->get_results( "SELECT * FROM `" . WPSC_TABLE_COUPON_CODES . "` {$where} ORDER BY id {$order} {$limit} ", ARRAY_A );
|
411 |
|
405 |
$status = isset( $_GET['status'] ) ? absint( $_GET['status'] ) : false;
|
406 |
$where = $status !== false ? "WHERE active = $status" : '';
|
407 |
|
408 |
+
$order = isset( $_GET['order'] ) && strtoupper( $_GET['order'] ) === 'ASC' ? 'ASC' : 'DESC';
|
409 |
$limit = " LIMIT $offset,$per_page;";
|
410 |
$coupons = $wpdb->get_results( "SELECT * FROM `" . WPSC_TABLE_COUPON_CODES . "` {$where} ORDER BY id {$order} {$limit} ", ARRAY_A );
|
411 |
|
wpsc-admin/includes/product-functions.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
*/
|
8 |
|
9 |
function wpsc_get_max_upload_size(){
|
10 |
-
return
|
11 |
}
|
12 |
|
13 |
/**
|
7 |
*/
|
8 |
|
9 |
function wpsc_get_max_upload_size(){
|
10 |
+
return size_format( wp_max_upload_size() );
|
11 |
}
|
12 |
|
13 |
/**
|
wpsc-admin/includes/settings-tabs/shipping.php
CHANGED
@@ -47,7 +47,7 @@ class WPSC_Settings_Tab_Shipping extends WPSC_Settings_Tab {
|
|
47 |
$shipadd = 0;
|
48 |
foreach ( $wpsc_shipping_modules as $shipping ) {
|
49 |
foreach ( (array) $_POST['custom_shipping_options'] as $shippingoption ) {
|
50 |
-
if ( $shipping->
|
51 |
$shipadd++;
|
52 |
}
|
53 |
}
|
@@ -71,7 +71,7 @@ class WPSC_Settings_Tab_Shipping extends WPSC_Settings_Tab {
|
|
71 |
|
72 |
if ( $found_selected_module ) {
|
73 |
$selected_module = $wpsc_shipping_modules[$selected_module_id];
|
74 |
-
$title = $selected_module->
|
75 |
$content = apply_filters( 'wpsc_shipping_module_settings_form', $selected_module->getForm(), $selected_module );
|
76 |
} else {
|
77 |
$title = __( 'Edit Shipping Module Settings', 'wpsc' );
|
@@ -100,7 +100,7 @@ class WPSC_Settings_Tab_Shipping extends WPSC_Settings_Tab {
|
|
100 |
$location = add_query_arg( array(
|
101 |
'tab' => 'shipping',
|
102 |
'page' => 'wpsc-settings',
|
103 |
-
'shipping_module_id' => $shipping->
|
104 |
), $location );
|
105 |
$location .= '#wpsc-shipping-module-options';
|
106 |
return $location;
|
@@ -269,7 +269,7 @@ class WPSC_Settings_Tab_Shipping extends WPSC_Settings_Tab {
|
|
269 |
<tbody>
|
270 |
<?php
|
271 |
foreach ( $internal_shipping_modules as $shipping ) {
|
272 |
-
$force = ( $shipping->
|
273 |
$this->shipping_list_item( $shipping, $force );
|
274 |
}
|
275 |
?>
|
@@ -299,7 +299,7 @@ class WPSC_Settings_Tab_Shipping extends WPSC_Settings_Tab {
|
|
299 |
<tbody>
|
300 |
<?php
|
301 |
foreach ( $external_shipping_modules as $shipping ) {
|
302 |
-
$force = ( $shipping->
|
303 |
$this->shipping_list_item( $shipping, $force );
|
304 |
}
|
305 |
?>
|
@@ -318,23 +318,23 @@ class WPSC_Settings_Tab_Shipping extends WPSC_Settings_Tab {
|
|
318 |
$shipping->disabled = isset( $shipping->requires_curl ) && $shipping->requires_curl && ! function_exists( 'curl_init' ) ;
|
319 |
|
320 |
?>
|
321 |
-
<tr class="wpsc-select-shipping <?php echo $shipping->active; ?>" data-shipping-id="<?php echo esc_attr( $shipping->
|
322 |
<th scope="row" class="check-column">
|
323 |
-
<input name='custom_shipping_options[]' <?php disabled( $shipping->disabled ); ?> <?php checked( $shipping->checked ); ?> type='checkbox' value='<?php echo $shipping->
|
324 |
</th>
|
325 |
<td class="plugin-title">
|
326 |
-
<label for='<?php echo $shipping->
|
327 |
<div class="row-actions-visible">
|
328 |
<span class="edit">
|
329 |
-
<a class='edit-shipping-module' data-module-id="<?php echo $shipping->
|
330 |
<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-feedback" title="" alt="" />
|
331 |
</span>
|
332 |
</div>
|
333 |
</td>
|
334 |
</tr>
|
335 |
-
<tr id="wpsc_shipping_settings_<?php echo esc_attr( $shipping->
|
336 |
-
<td colspan="3" id="wpsc_shipping_settings_<?php echo esc_attr( $shipping->
|
337 |
-
<?php $this->display_shipping_module_settings_form( $shipping->
|
338 |
</td>
|
339 |
</tr>
|
340 |
<?php
|
47 |
$shipadd = 0;
|
48 |
foreach ( $wpsc_shipping_modules as $shipping ) {
|
49 |
foreach ( (array) $_POST['custom_shipping_options'] as $shippingoption ) {
|
50 |
+
if ( $shipping->getInternalName() == $shippingoption ) {
|
51 |
$shipadd++;
|
52 |
}
|
53 |
}
|
71 |
|
72 |
if ( $found_selected_module ) {
|
73 |
$selected_module = $wpsc_shipping_modules[$selected_module_id];
|
74 |
+
$title = $selected_module->getName();
|
75 |
$content = apply_filters( 'wpsc_shipping_module_settings_form', $selected_module->getForm(), $selected_module );
|
76 |
} else {
|
77 |
$title = __( 'Edit Shipping Module Settings', 'wpsc' );
|
100 |
$location = add_query_arg( array(
|
101 |
'tab' => 'shipping',
|
102 |
'page' => 'wpsc-settings',
|
103 |
+
'shipping_module_id' => $shipping->getInternalName(),
|
104 |
), $location );
|
105 |
$location .= '#wpsc-shipping-module-options';
|
106 |
return $location;
|
269 |
<tbody>
|
270 |
<?php
|
271 |
foreach ( $internal_shipping_modules as $shipping ) {
|
272 |
+
$force = ( $shipping->getInternalName() === (string) get_user_option( 'wpsc_settings_selected_shipping_module', get_current_user_id() ) );
|
273 |
$this->shipping_list_item( $shipping, $force );
|
274 |
}
|
275 |
?>
|
299 |
<tbody>
|
300 |
<?php
|
301 |
foreach ( $external_shipping_modules as $shipping ) {
|
302 |
+
$force = ( $shipping->getInternalName() === (string) get_user_option( 'wpsc_settings_selected_shipping_module', get_current_user_id() ) );
|
303 |
$this->shipping_list_item( $shipping, $force );
|
304 |
}
|
305 |
?>
|
318 |
$shipping->disabled = isset( $shipping->requires_curl ) && $shipping->requires_curl && ! function_exists( 'curl_init' ) ;
|
319 |
|
320 |
?>
|
321 |
+
<tr class="wpsc-select-shipping <?php echo $shipping->active; ?>" data-shipping-id="<?php echo esc_attr( $shipping->getInternalName() ); ?>" id="shipping_list_item_<?php echo $shipping->getInternalName();?>">
|
322 |
<th scope="row" class="check-column">
|
323 |
+
<input name='custom_shipping_options[]' <?php disabled( $shipping->disabled ); ?> <?php checked( $shipping->checked ); ?> type='checkbox' value='<?php echo $shipping->getInternalName(); ?>' id='<?php echo $shipping->getInternalName(); ?>_id' />
|
324 |
</th>
|
325 |
<td class="plugin-title">
|
326 |
+
<label for='<?php echo $shipping->getInternalName(); ?>_id'><strong><?php echo $shipping->getName(); ?></strong></label>
|
327 |
<div class="row-actions-visible">
|
328 |
<span class="edit">
|
329 |
+
<a class='edit-shipping-module' data-module-id="<?php echo $shipping->getInternalName(); ?>" title="<?php esc_attr_e( 'Edit this Shipping Module', 'wpsc' ); ?>" href='<?php echo esc_url( $this->get_shipping_module_url( $shipping ) ); ?>'><?php _ex( 'Settings', 'Shipping modules link to individual settings', 'wpsc' ); ?>
|
330 |
<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-feedback" title="" alt="" />
|
331 |
</span>
|
332 |
</div>
|
333 |
</td>
|
334 |
</tr>
|
335 |
+
<tr id="wpsc_shipping_settings_<?php echo esc_attr( $shipping->getInternalName() ); ?>" data-shipping-id="<?php echo esc_attr( $shipping->getInternalName() ); ?>" class='wpsc-select-shipping <?php echo $shipping->active; ?>' <?php echo $shipping->hidden; ?> >
|
336 |
+
<td colspan="3" id="wpsc_shipping_settings_<?php echo esc_attr( $shipping->getInternalName() ); ?>_container">
|
337 |
+
<?php $this->display_shipping_module_settings_form( $shipping->getInternalName() ); ?>
|
338 |
</td>
|
339 |
</tr>
|
340 |
<?php
|
wpsc-admin/init.php
CHANGED
@@ -187,7 +187,7 @@ function wpsc_purchase_log_csv() {
|
|
187 |
$output .= "\n"; // terminates the row/line in the CSV file
|
188 |
}
|
189 |
// Get the most number of products and create a header for them
|
190 |
-
$headers3 =
|
191 |
for( $i = 0; $i < $count; $i++ ){
|
192 |
$headers3[] = _x( 'Quantity', 'purchase log csv headers', 'wpsc' );
|
193 |
$headers3[] = _x( 'Product Name', 'purchase log csv headers', 'wpsc' );
|
@@ -201,6 +201,7 @@ function wpsc_purchase_log_csv() {
|
|
201 |
|
202 |
$headers = apply_filters( 'wpsc_purchase_log_csv_headers', $headers . $form_headers . $headers2 . $headers3, $data, $form_data );
|
203 |
$output = apply_filters( 'wpsc_purchase_log_csv_output', $output, $data, $form_data );
|
|
|
204 |
header( 'Content-Type: text/csv' );
|
205 |
header( 'Content-Disposition: inline; filename="' . $csv_name . '"' );
|
206 |
echo $headers . "\n". $output;
|
187 |
$output .= "\n"; // terminates the row/line in the CSV file
|
188 |
}
|
189 |
// Get the most number of products and create a header for them
|
190 |
+
$headers3 = array();
|
191 |
for( $i = 0; $i < $count; $i++ ){
|
192 |
$headers3[] = _x( 'Quantity', 'purchase log csv headers', 'wpsc' );
|
193 |
$headers3[] = _x( 'Product Name', 'purchase log csv headers', 'wpsc' );
|
201 |
|
202 |
$headers = apply_filters( 'wpsc_purchase_log_csv_headers', $headers . $form_headers . $headers2 . $headers3, $data, $form_data );
|
203 |
$output = apply_filters( 'wpsc_purchase_log_csv_output', $output, $data, $form_data );
|
204 |
+
do_action( 'wpsc_purchase_log_csv' );
|
205 |
header( 'Content-Type: text/csv' );
|
206 |
header( 'Content-Disposition: inline; filename="' . $csv_name . '"' );
|
207 |
echo $headers . "\n". $output;
|
wpsc-admin/js/settings-page.js
CHANGED
@@ -309,7 +309,7 @@
|
|
309 |
wrapper.on( 'click', '.field-option-cell-wrapper .wpsc-button-minus', WPSC_Settings_Page.Checkout.event_delete_field_option);
|
310 |
wrapper.on( 'click', '#wpsc-delete-checkout-set', WPSC_Settings_Page.Checkout.event_delete_checkout_set);
|
311 |
wrapper.on( 'change', '#wpsc_form_set', WPSC_Settings_Page.Checkout.event_select_form_set);
|
312 |
-
wrapper.on( 'click', '.mandatorycol input[type="checkbox"]', WPSC_Settings_Page.Checkout.
|
313 |
$('#wpsc-settings-form').on( 'submit', WPSC_Settings_Page.Checkout.event_form_submit);
|
314 |
|
315 |
wrapper.find('#wpsc_checkout_list').
|
@@ -333,12 +333,12 @@
|
|
333 |
* If it's mandatory you no have choice for display.
|
334 |
*/
|
335 |
wrapper.find( '.mandatorycol input[type="checkbox"]').each( function(){
|
336 |
-
var displaycol = $(this).parents('.mandatorycol').siblings('.displaycol');
|
337 |
|
338 |
-
if ( $(this).is(':checked') ){
|
339 |
-
$(displaycol).find('input[type="checkbox"]').prop('checked', true ).
|
340 |
} else {
|
341 |
-
$(displaycol).find('input[type="checkbox"]').
|
342 |
}
|
343 |
});
|
344 |
|
@@ -576,14 +576,14 @@
|
|
576 |
* Disables and checks the display option if you make a field mandatory. If you uncheck
|
577 |
* mandatory then it just enables you to uncheck the display box.
|
578 |
*/
|
579 |
-
|
580 |
|
581 |
-
var displaycol = $(this).parents('.mandatorycol').siblings('.displaycol');
|
582 |
|
583 |
-
if ( $(this).is(':checked') ){
|
584 |
-
$(displaycol).find('input[type="checkbox"]').prop('checked', true ).
|
585 |
} else {
|
586 |
-
$(displaycol).find('input[type="checkbox"]').
|
587 |
}
|
588 |
},
|
589 |
|
309 |
wrapper.on( 'click', '.field-option-cell-wrapper .wpsc-button-minus', WPSC_Settings_Page.Checkout.event_delete_field_option);
|
310 |
wrapper.on( 'click', '#wpsc-delete-checkout-set', WPSC_Settings_Page.Checkout.event_delete_checkout_set);
|
311 |
wrapper.on( 'change', '#wpsc_form_set', WPSC_Settings_Page.Checkout.event_select_form_set);
|
312 |
+
wrapper.on( 'click', '.mandatorycol input[type="checkbox"]', WPSC_Settings_Page.Checkout.event_disabled_toggled);
|
313 |
$('#wpsc-settings-form').on( 'submit', WPSC_Settings_Page.Checkout.event_form_submit);
|
314 |
|
315 |
wrapper.find('#wpsc_checkout_list').
|
333 |
* If it's mandatory you no have choice for display.
|
334 |
*/
|
335 |
wrapper.find( '.mandatorycol input[type="checkbox"]').each( function(){
|
336 |
+
var displaycol = $( this ).parents( '.mandatorycol' ).siblings( '.displaycol' );
|
337 |
|
338 |
+
if ( $( this ).is( ':checked' ) ) {
|
339 |
+
$( displaycol ).find( 'input[type="checkbox"]' ).prop( 'checked', true ).prop( 'readonly', true );
|
340 |
} else {
|
341 |
+
$( displaycol ).find( 'input[type="checkbox"]' ).prop( 'readonly', this.checked );
|
342 |
}
|
343 |
});
|
344 |
|
576 |
* Disables and checks the display option if you make a field mandatory. If you uncheck
|
577 |
* mandatory then it just enables you to uncheck the display box.
|
578 |
*/
|
579 |
+
event_disabled_toggled : function() {
|
580 |
|
581 |
+
var displaycol = $( this ).parents( '.mandatorycol' ).siblings( '.displaycol' );
|
582 |
|
583 |
+
if ( $( this ).is( ':checked' ) ) {
|
584 |
+
$( displaycol ).find( 'input[type="checkbox"]' ).prop( 'checked', true ).prop( 'readonly', true );
|
585 |
} else {
|
586 |
+
$( displaycol ).find( 'input[type="checkbox"]' ).prop( 'readonly', this.checked );
|
587 |
}
|
588 |
},
|
589 |
|
wpsc-core/wpsc-constants.php
CHANGED
@@ -28,9 +28,9 @@ function wpsc_core_constants() {
|
|
28 |
if(!defined('WPSC_URL'))
|
29 |
define( 'WPSC_URL', plugins_url( '', __FILE__ ) );
|
30 |
// Define Plugin version
|
31 |
-
define( 'WPSC_VERSION', '3.8.12
|
32 |
define( 'WPSC_MINOR_VERSION', '55f8cfa0d7' );
|
33 |
-
define( 'WPSC_PRESENTABLE_VERSION', '3.8.12
|
34 |
define( 'WPSC_DB_VERSION', 4 );
|
35 |
|
36 |
// Define Debug Variables for developers
|
28 |
if(!defined('WPSC_URL'))
|
29 |
define( 'WPSC_URL', plugins_url( '', __FILE__ ) );
|
30 |
// Define Plugin version
|
31 |
+
define( 'WPSC_VERSION', '3.8.12' );
|
32 |
define( 'WPSC_MINOR_VERSION', '55f8cfa0d7' );
|
33 |
+
define( 'WPSC_PRESENTABLE_VERSION', '3.8.12' );
|
34 |
define( 'WPSC_DB_VERSION', 4 );
|
35 |
|
36 |
// Define Debug Variables for developers
|