Version Description
- Fix: "No shipping quotes" error is displayed when selecting "Shipping same as billing".
- Fix: Avoid flooding transient data when site's feed is being visited by bots.
- Fix: Blank Checkout page for some certain installation when Shipping is enabled.
- Fix: Can't add to cart on some server.
- Fix: Fatal error when viewing product variation iframe, because _wp_admin_html_begin() does not exist on older WordPress versions.
- Fix: MySQL error/warning in wpsc_filter_specialwidget_where().
- Fix: Only show attachment fields when viewed on an edit product page.
- Fix: PHP Notice in cart.class.php.
- Fix: Properly escape columns in admin products page.
- Fix: Purchase log's item names are not translatable via qTranslate.
- Fix: Shipping same as billing saves "State" field label as the shipping region.
- Fix: Shipwire settings are not updated.
- Fix: Shipwire syncing doesn't take into consideration products in trash, or multiple products using the same SKUs (as in WPML)
- Fix: Specials widget is empty when there are no product with variation sales.
- Fix: Variation sets are not being sorted on the front-end.
- Fix: WPEC doesn't cooperate with WP 3.5 media UI.
- Fix: wpsc_pre_transaction_results filter is ignored.
- Make sure admin styles are enqueued for product variations iframe in older version of WordPress.
Download this release
Release Info
| Developer | garyc40 |
| Plugin | |
| Version | 3.8.9.4 |
| Comparing to | |
| See all releases | |
Code changes from version 3.8.9.3 to 3.8.9.4
- readme.txt +22 -2
- wp-shopping-cart.php +1 -1
- wpsc-admin/admin-form-functions.php +1 -1
- wpsc-admin/css/admin.css +5 -0
- wpsc-admin/display-items.page.php +3 -3
- wpsc-admin/includes/display-items-functions.php +19 -23
- wpsc-admin/includes/product-variations-page.class.php +31 -0
- wpsc-admin/includes/product-variations.page.php +1 -1
- wpsc-admin/js/admin.js +0 -5
- wpsc-admin/js/settings-page.js +1 -2
- wpsc-core/js/wp-e-commerce.js +3 -3
- wpsc-core/wpsc-constants.php +3 -3
- wpsc-core/wpsc-functions.php +31 -1
- wpsc-includes/ajax.functions.php +1 -1
- wpsc-includes/cart.class.php +2 -2
- wpsc-includes/product-template.php +2 -3
- wpsc-includes/purchase-log-notification.class.php +2 -1
- wpsc-includes/purchaselogs.class.php +1 -1
- wpsc-includes/variations.class.php +1 -0
- wpsc-shipping/library/shipwire_functions.php +9 -7
- wpsc-widgets/specials_widget.php +7 -2
readme.txt
CHANGED
|
@@ -3,8 +3,8 @@ Contributors: mufasa, mychelle, garyc40, JustinSainton
|
|
| 3 |
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.1
|
| 6 |
-
Tested up to: 3.
|
| 7 |
-
Stable tag: 3.8.9.
|
| 8 |
|
| 9 |
WP e-Commerce is a free WordPress Shopping Cart Plugin that lets customers buy your products, services and digital downloads online.
|
| 10 |
|
|
@@ -155,6 +155,26 @@ 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.3 =
|
| 159 |
* New: Add support for quantity field in default grid view template.
|
| 160 |
* New: Let plugins add new column to product variation list table via filter 'wpsc_manage_product_variations_custom_column'.
|
| 3 |
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.1
|
| 6 |
+
Tested up to: 3.5
|
| 7 |
+
Stable tag: 3.8.9.4
|
| 8 |
|
| 9 |
WP e-Commerce is a free WordPress Shopping Cart Plugin that lets customers buy your products, services and digital downloads online.
|
| 10 |
|
| 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.4 =
|
| 159 |
+
* Fix: "No shipping quotes" error is displayed when selecting "Shipping same as billing".
|
| 160 |
+
* Fix: Avoid flooding transient data when site's feed is being visited by bots.
|
| 161 |
+
* Fix: Blank Checkout page for some certain installation when Shipping is enabled.
|
| 162 |
+
* Fix: Can't add to cart on some server.
|
| 163 |
+
* Fix: Fatal error when viewing product variation iframe, because _wp_admin_html_begin() does not exist on older WordPress versions.
|
| 164 |
+
* Fix: MySQL error/warning in _wpsc_filter_special_widget_where().
|
| 165 |
+
* Fix: Only show attachment fields when viewed on an edit product page.
|
| 166 |
+
* Fix: PHP Notice in cart.class.php.
|
| 167 |
+
* Fix: Properly escape columns in admin products page.
|
| 168 |
+
* Fix: Purchase log's item names are not translatable via qTranslate.
|
| 169 |
+
* Fix: Shipping same as billing saves "State" field label as the shipping region.
|
| 170 |
+
* Fix: Shipwire settings are not updated.
|
| 171 |
+
* Fix: Shipwire syncing doesn't take into consideration products in trash, or multiple products using the same SKUs (as in WPML)
|
| 172 |
+
* Fix: Specials widget is empty when there are no product with variation sales.
|
| 173 |
+
* Fix: Variation sets are not being sorted on the front-end.
|
| 174 |
+
* Fix: WPEC doesn't cooperate with WP 3.5 media UI.
|
| 175 |
+
* Fix: wpsc_pre_transaction_results filter is ignored.
|
| 176 |
+
* Make sure admin styles are enqueued for product variations iframe in older version of WordPress.
|
| 177 |
+
|
| 178 |
= 3.8.9.3 =
|
| 179 |
* New: Add support for quantity field in default grid view template.
|
| 180 |
* New: Let plugins add new column to product variation list table via filter 'wpsc_manage_product_variations_custom_column'.
|
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.4
|
| 7 |
* Author: Instinct Entertainment
|
| 8 |
* Author URI: http://getshopped.org/
|
| 9 |
**/
|
wpsc-admin/admin-form-functions.php
CHANGED
|
@@ -30,7 +30,7 @@ $conditions = maybe_unserialize($coupon['condition']);
|
|
| 30 |
$output .= " <select name='edit_coupon[".$id."][is-percentage]'>";
|
| 31 |
$output .= " <option value='0' ".(($coupon['is-percentage'] == 0) ? "selected='true'" : '')." >$</option>\n\r";//
|
| 32 |
$output .= " <option value='1' ".(($coupon['is-percentage'] == 1) ? "selected='true'" : '')." >%</option>\n\r";
|
| 33 |
-
$output .= " <option value='2' ".(($coupon['is-percentage'] == 2) ? "selected='true'" : '')." >" . esc_html__( 'Free shipping', 'wpsc' ) . "
|
| 34 |
$output .= " </select>\n\r";
|
| 35 |
$output .= " </td>\n\r";
|
| 36 |
$output .= " <td>\n\r";
|
| 30 |
$output .= " <select name='edit_coupon[".$id."][is-percentage]'>";
|
| 31 |
$output .= " <option value='0' ".(($coupon['is-percentage'] == 0) ? "selected='true'" : '')." >$</option>\n\r";//
|
| 32 |
$output .= " <option value='1' ".(($coupon['is-percentage'] == 1) ? "selected='true'" : '')." >%</option>\n\r";
|
| 33 |
+
$output .= " <option value='2' ".(($coupon['is-percentage'] == 2) ? "selected='true'" : '')." >" . esc_html__( 'Free shipping', 'wpsc' ) . "</option>\n\r";
|
| 34 |
$output .= " </select>\n\r";
|
| 35 |
$output .= " </td>\n\r";
|
| 36 |
$output .= " <td>\n\r";
|
wpsc-admin/css/admin.css
CHANGED
|
@@ -2194,4 +2194,9 @@ table.purchase-logs tr:hover .column-id .delete {
|
|
| 2194 |
|
| 2195 |
.wpsc-product-variation-title {
|
| 2196 |
margin-left: 60px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2197 |
}
|
| 2194 |
|
| 2195 |
.wpsc-product-variation-title {
|
| 2196 |
margin-left: 60px;
|
| 2197 |
+
}
|
| 2198 |
+
|
| 2199 |
+
.compat-field-wpsc_image_size input[type="radio"] {
|
| 2200 |
+
width: auto;
|
| 2201 |
+
margin-right:5px;
|
| 2202 |
}
|
wpsc-admin/display-items.page.php
CHANGED
|
@@ -117,7 +117,7 @@ function _wpsc_manage_products_column_weight( $post, $post_id, $has_variations )
|
|
| 117 |
break;
|
| 118 |
}
|
| 119 |
echo $weight.$unit;
|
| 120 |
-
echo '<div id="inline_' . $post->ID . '_weight" class="hidden">' . $weight . '</div>';
|
| 121 |
}
|
| 122 |
add_action( 'wpsc_manage_products_column_weight', '_wpsc_manage_products_column_weight', 10, 3 );
|
| 123 |
|
|
@@ -142,7 +142,7 @@ function _wpsc_manage_products_column_stock( $post, $post_id, $has_variations )
|
|
| 142 |
}
|
| 143 |
|
| 144 |
echo $stock;
|
| 145 |
-
echo '<div id="inline_' . $post->ID . '_stock" class="hidden">' . $stock . '</div>';
|
| 146 |
|
| 147 |
}
|
| 148 |
add_action( 'wpsc_manage_products_column_stock', '_wpsc_manage_products_column_stock', 10, 3 );
|
|
@@ -203,7 +203,7 @@ function _wpsc_manage_products_column_sku( $post, $post_id ) {
|
|
| 203 |
$sku = __('N/A', 'wpsc');
|
| 204 |
|
| 205 |
echo $sku;
|
| 206 |
-
echo '<div id="inline_' . $post->ID . '_sku" class="hidden">' . $sku . '</div>';
|
| 207 |
}
|
| 208 |
add_action( 'wpsc_manage_products_column_sku', '_wpsc_manage_products_column_sku', 10, 2 );
|
| 209 |
|
| 117 |
break;
|
| 118 |
}
|
| 119 |
echo $weight.$unit;
|
| 120 |
+
echo '<div id="inline_' . $post->ID . '_weight" class="hidden">' . esc_html( $weight ) . '</div>';
|
| 121 |
}
|
| 122 |
add_action( 'wpsc_manage_products_column_weight', '_wpsc_manage_products_column_weight', 10, 3 );
|
| 123 |
|
| 142 |
}
|
| 143 |
|
| 144 |
echo $stock;
|
| 145 |
+
echo '<div id="inline_' . $post->ID . '_stock" class="hidden">' . esc_html( $stock ) . '</div>';
|
| 146 |
|
| 147 |
}
|
| 148 |
add_action( 'wpsc_manage_products_column_stock', '_wpsc_manage_products_column_stock', 10, 3 );
|
| 203 |
$sku = __('N/A', 'wpsc');
|
| 204 |
|
| 205 |
echo $sku;
|
| 206 |
+
echo '<div id="inline_' . $post->ID . '_sku" class="hidden">' . esc_html( $sku ) . '</div>';
|
| 207 |
}
|
| 208 |
add_action( 'wpsc_manage_products_column_sku', '_wpsc_manage_products_column_sku', 10, 2 );
|
| 209 |
|
wpsc-admin/includes/display-items-functions.php
CHANGED
|
@@ -793,20 +793,24 @@ function wpsc_form_multipart_encoding() {
|
|
| 793 |
}
|
| 794 |
|
| 795 |
add_action( 'post_edit_form_tag', 'wpsc_form_multipart_encoding' );
|
| 796 |
-
|
| 797 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 798 |
/*
|
| 799 |
* Modifications to Media Gallery
|
| 800 |
*/
|
| 801 |
|
| 802 |
if ( ( isset( $_REQUEST['parent_page'] ) && ( $_REQUEST['parent_page'] == 'wpsc-edit-products' ) ) ) {
|
| 803 |
add_filter( 'media_upload_tabs', 'wpsc_media_upload_tab_gallery', 12 );
|
| 804 |
-
add_filter( 'attachment_fields_to_save', 'wpsc_save_attachment_fields', 9, 2 );
|
| 805 |
add_filter( 'media_upload_form_url', 'wpsc_media_upload_url', 9, 1 );
|
| 806 |
add_action( 'admin_head', 'wpsc_gallery_css_mods' );
|
| 807 |
}
|
| 808 |
add_filter( 'gettext', 'wpsc_filter_delete_text', 12 , 3 );
|
| 809 |
add_filter( 'attachment_fields_to_edit', 'wpsc_attachment_fields', 11, 2 );
|
|
|
|
| 810 |
add_filter( 'gettext', 'wpsc_filter_feature_image_text', 12, 3 );
|
| 811 |
add_filter( 'gettext_with_context', 'wpsc_filter_gettex_with_context', 12, 4);
|
| 812 |
|
|
@@ -841,7 +845,6 @@ function wpsc_filter_gettex_with_context( $translation, $text, $context, $domain
|
|
| 841 |
* @return string The translated / filtered text.
|
| 842 |
*/
|
| 843 |
function wpsc_filter_feature_image_text( $translation, $text, $domain ) {
|
| 844 |
-
|
| 845 |
if ( 'Use as featured image' == $text && isset( $_REQUEST['post_id'] ) ) {
|
| 846 |
$post = get_post( $_REQUEST['post_id'] );
|
| 847 |
if ( $post->post_type != 'wpsc-product' ) return $translation;
|
|
@@ -855,15 +858,16 @@ function wpsc_filter_feature_image_text( $translation, $text, $domain ) {
|
|
| 855 |
}
|
| 856 |
function wpsc_attachment_fields( $form_fields, $post ) {
|
| 857 |
$out = '';
|
| 858 |
-
|
| 859 |
-
|
|
|
|
| 860 |
else
|
| 861 |
$parent_post = get_post( $post->post_parent );
|
| 862 |
|
| 863 |
if ( $parent_post->post_type == "wpsc-product" ) {
|
| 864 |
|
| 865 |
//Unfortunate hack, as I'm not sure why the From Computer tab doesn't process filters the same way the Gallery does
|
| 866 |
-
|
| 867 |
echo '
|
| 868 |
<script type="text/javascript">
|
| 869 |
|
|
@@ -886,6 +890,8 @@ function wpsc_attachment_fields( $form_fields, $post ) {
|
|
| 886 |
});
|
| 887 |
|
| 888 |
</script>';
|
|
|
|
|
|
|
| 889 |
$size_names = array( 'small-product-thumbnail' => __( 'Default Product Thumbnail Size', 'wpsc' ), 'medium-single-product' => __( 'Single Product Image Size', 'wpsc' ), 'full' => __( 'Full Size', 'wpsc' ) );
|
| 890 |
|
| 891 |
$check = get_post_meta( $post->ID, '_wpsc_selected_image_size', true );
|
|
@@ -897,16 +903,8 @@ function wpsc_attachment_fields( $form_fields, $post ) {
|
|
| 897 |
$settings_height = get_option( 'single_view_image_height' );
|
| 898 |
|
| 899 |
// regenerate size metadata in case it's missing
|
| 900 |
-
if ( ! $check || $current_size['width'] != $settings_width
|
| 901 |
-
|
| 902 |
-
$metadata = array();
|
| 903 |
-
if ( empty( $metadata['sizes'] ) )
|
| 904 |
-
$metadata['sizes'] = array();
|
| 905 |
-
$file = get_attached_file( $post->ID );
|
| 906 |
-
$generated = wp_generate_attachment_metadata( $post->ID, $file );
|
| 907 |
-
$metadata['sizes'] = array_merge((array) $metadata['sizes'], (array) $generated['sizes'] );
|
| 908 |
-
|
| 909 |
-
wp_update_attachment_metadata( $post->ID, $metadata );
|
| 910 |
}
|
| 911 |
|
| 912 |
//This loop attaches the custom thumbnail/single image sizes to this page
|
|
@@ -917,7 +915,7 @@ function wpsc_attachment_fields( $form_fields, $post ) {
|
|
| 917 |
$css_id = "image-size-{$size}-{$post->ID}";
|
| 918 |
// if this size is the default but that's not available, don't select it
|
| 919 |
|
| 920 |
-
$html = "<div class='image-size-item'><input type='radio' " . disabled( $enabled, false, false ) . "name='attachments[$post->ID][
|
| 921 |
|
| 922 |
$html .= "<label for='{$css_id}'>$name</label>";
|
| 923 |
// only show the dimensions if that choice is available
|
|
@@ -932,7 +930,7 @@ function wpsc_attachment_fields( $form_fields, $post ) {
|
|
| 932 |
unset( $form_fields['post_excerpt'], $form_fields['image_url'], $form_fields['post_content'], $form_fields['post_title'], $form_fields['url'], $form_fields['align'], $form_fields['image_alt']['helps'], $form_fields["image-size"] );
|
| 933 |
$form_fields['image_alt']['helps'] = __( 'Alt text for the product image, e.g. “Rockstar T-Shirt”', 'wpsc' );
|
| 934 |
|
| 935 |
-
$form_fields["
|
| 936 |
'label' => __( 'Single Product Page Thumbnail:', 'wpsc' ),
|
| 937 |
'input' => 'html',
|
| 938 |
'html' => $out,
|
|
@@ -954,21 +952,19 @@ function wpsc_attachment_fields( $form_fields, $post ) {
|
|
| 954 |
"helps" => "<span style='text-align:left; clear:both; display:block; padding-top:3px;'>" . __( 'Custom thumbnail size for this image on the main Product Page', 'wpsc') . "</span>",
|
| 955 |
"html" => $custom_thumb_html
|
| 956 |
);
|
| 957 |
-
|
| 958 |
}
|
| 959 |
return $form_fields;
|
| 960 |
|
| 961 |
}
|
| 962 |
function wpsc_save_attachment_fields( $post, $attachment ) {
|
| 963 |
-
|
| 964 |
if ( isset ( $attachment['wpsc_custom_thumb_w'] ) )
|
| 965 |
update_post_meta( $post['ID'], '_wpsc_custom_thumb_w', $attachment['wpsc_custom_thumb_w'] );
|
| 966 |
|
| 967 |
if ( isset ( $attachment['wpsc_custom_thumb_h'] ) )
|
| 968 |
update_post_meta( $post['ID'], '_wpsc_custom_thumb_h', $attachment['wpsc_custom_thumb_h'] );
|
| 969 |
|
| 970 |
-
if ( isset ( $attachment['
|
| 971 |
-
update_post_meta( $post['ID'], '_wpsc_selected_image_size', $attachment['
|
| 972 |
|
| 973 |
return $post;
|
| 974 |
}
|
| 793 |
}
|
| 794 |
|
| 795 |
add_action( 'post_edit_form_tag', 'wpsc_form_multipart_encoding' );
|
| 796 |
+
|
| 797 |
+
if ( version_compare( get_bloginfo( 'version' ), '3.5', '<' ) ) {
|
| 798 |
+
add_filter( 'media_buttons_context', 'change_context' );
|
| 799 |
+
add_filter( 'image_upload_iframe_src', "change_link" );
|
| 800 |
+
}
|
| 801 |
+
|
| 802 |
/*
|
| 803 |
* Modifications to Media Gallery
|
| 804 |
*/
|
| 805 |
|
| 806 |
if ( ( isset( $_REQUEST['parent_page'] ) && ( $_REQUEST['parent_page'] == 'wpsc-edit-products' ) ) ) {
|
| 807 |
add_filter( 'media_upload_tabs', 'wpsc_media_upload_tab_gallery', 12 );
|
|
|
|
| 808 |
add_filter( 'media_upload_form_url', 'wpsc_media_upload_url', 9, 1 );
|
| 809 |
add_action( 'admin_head', 'wpsc_gallery_css_mods' );
|
| 810 |
}
|
| 811 |
add_filter( 'gettext', 'wpsc_filter_delete_text', 12 , 3 );
|
| 812 |
add_filter( 'attachment_fields_to_edit', 'wpsc_attachment_fields', 11, 2 );
|
| 813 |
+
add_filter( 'attachment_fields_to_save', 'wpsc_save_attachment_fields', 9, 2 );
|
| 814 |
add_filter( 'gettext', 'wpsc_filter_feature_image_text', 12, 3 );
|
| 815 |
add_filter( 'gettext_with_context', 'wpsc_filter_gettex_with_context', 12, 4);
|
| 816 |
|
| 845 |
* @return string The translated / filtered text.
|
| 846 |
*/
|
| 847 |
function wpsc_filter_feature_image_text( $translation, $text, $domain ) {
|
|
|
|
| 848 |
if ( 'Use as featured image' == $text && isset( $_REQUEST['post_id'] ) ) {
|
| 849 |
$post = get_post( $_REQUEST['post_id'] );
|
| 850 |
if ( $post->post_type != 'wpsc-product' ) return $translation;
|
| 858 |
}
|
| 859 |
function wpsc_attachment_fields( $form_fields, $post ) {
|
| 860 |
$out = '';
|
| 861 |
+
|
| 862 |
+
if( isset( $_REQUEST["post_id"] ) )
|
| 863 |
+
$parent_post = get_post( absint( $_REQUEST["post_id"] ) );
|
| 864 |
else
|
| 865 |
$parent_post = get_post( $post->post_parent );
|
| 866 |
|
| 867 |
if ( $parent_post->post_type == "wpsc-product" ) {
|
| 868 |
|
| 869 |
//Unfortunate hack, as I'm not sure why the From Computer tab doesn't process filters the same way the Gallery does
|
| 870 |
+
ob_start();
|
| 871 |
echo '
|
| 872 |
<script type="text/javascript">
|
| 873 |
|
| 890 |
});
|
| 891 |
|
| 892 |
</script>';
|
| 893 |
+
$out .= ob_get_clean();
|
| 894 |
+
|
| 895 |
$size_names = array( 'small-product-thumbnail' => __( 'Default Product Thumbnail Size', 'wpsc' ), 'medium-single-product' => __( 'Single Product Image Size', 'wpsc' ), 'full' => __( 'Full Size', 'wpsc' ) );
|
| 896 |
|
| 897 |
$check = get_post_meta( $post->ID, '_wpsc_selected_image_size', true );
|
| 903 |
$settings_height = get_option( 'single_view_image_height' );
|
| 904 |
|
| 905 |
// regenerate size metadata in case it's missing
|
| 906 |
+
if ( ! $check || ( $current_size['width'] != $settings_width && $current_size['height'] != $settings_height ) ) {
|
| 907 |
+
_wpsc_regenerate_thumbnail_size( $post->ID, $check );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 908 |
}
|
| 909 |
|
| 910 |
//This loop attaches the custom thumbnail/single image sizes to this page
|
| 915 |
$css_id = "image-size-{$size}-{$post->ID}";
|
| 916 |
// if this size is the default but that's not available, don't select it
|
| 917 |
|
| 918 |
+
$html = "<div class='image-size-item'><input type='radio' " . disabled( $enabled, false, false ) . "name='attachments[$post->ID][wpsc_image_size]' id='{$css_id}' value='{$size}' " . checked( $size, $check, false ) . " />";
|
| 919 |
|
| 920 |
$html .= "<label for='{$css_id}'>$name</label>";
|
| 921 |
// only show the dimensions if that choice is available
|
| 930 |
unset( $form_fields['post_excerpt'], $form_fields['image_url'], $form_fields['post_content'], $form_fields['post_title'], $form_fields['url'], $form_fields['align'], $form_fields['image_alt']['helps'], $form_fields["image-size"] );
|
| 931 |
$form_fields['image_alt']['helps'] = __( 'Alt text for the product image, e.g. “Rockstar T-Shirt”', 'wpsc' );
|
| 932 |
|
| 933 |
+
$form_fields["wpsc_image_size"] = array(
|
| 934 |
'label' => __( 'Single Product Page Thumbnail:', 'wpsc' ),
|
| 935 |
'input' => 'html',
|
| 936 |
'html' => $out,
|
| 952 |
"helps" => "<span style='text-align:left; clear:both; display:block; padding-top:3px;'>" . __( 'Custom thumbnail size for this image on the main Product Page', 'wpsc') . "</span>",
|
| 953 |
"html" => $custom_thumb_html
|
| 954 |
);
|
|
|
|
| 955 |
}
|
| 956 |
return $form_fields;
|
| 957 |
|
| 958 |
}
|
| 959 |
function wpsc_save_attachment_fields( $post, $attachment ) {
|
|
|
|
| 960 |
if ( isset ( $attachment['wpsc_custom_thumb_w'] ) )
|
| 961 |
update_post_meta( $post['ID'], '_wpsc_custom_thumb_w', $attachment['wpsc_custom_thumb_w'] );
|
| 962 |
|
| 963 |
if ( isset ( $attachment['wpsc_custom_thumb_h'] ) )
|
| 964 |
update_post_meta( $post['ID'], '_wpsc_custom_thumb_h', $attachment['wpsc_custom_thumb_h'] );
|
| 965 |
|
| 966 |
+
if ( isset ( $attachment['wpsc_image_size'] ) )
|
| 967 |
+
update_post_meta( $post['ID'], '_wpsc_selected_image_size', $attachment['wpsc_image_size'] );
|
| 968 |
|
| 969 |
return $post;
|
| 970 |
}
|
wpsc-admin/includes/product-variations-page.class.php
CHANGED
|
@@ -86,6 +86,9 @@ class WPSC_Product_Variations_Page
|
|
| 86 |
$admin_body_class = $hook_suffix;
|
| 87 |
$post_type_object = get_post_type_object( 'wpsc-product' );
|
| 88 |
|
|
|
|
|
|
|
|
|
|
| 89 |
wp_enqueue_style( 'colors' );
|
| 90 |
wp_enqueue_style( 'ie' );
|
| 91 |
wp_enqueue_script( 'common' );
|
|
@@ -98,6 +101,7 @@ class WPSC_Product_Variations_Page
|
|
| 98 |
$callback = "callback_tab_manage";
|
| 99 |
|
| 100 |
$this->$callback();
|
|
|
|
| 101 |
@header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
|
| 102 |
require_once( WPSC_FILE_PATH . "/wpsc-admin/includes/product-variations.page.php" );
|
| 103 |
}
|
|
@@ -341,4 +345,31 @@ class WPSC_Product_Variations_Page
|
|
| 341 |
exit;
|
| 342 |
}
|
| 343 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 344 |
}
|
| 86 |
$admin_body_class = $hook_suffix;
|
| 87 |
$post_type_object = get_post_type_object( 'wpsc-product' );
|
| 88 |
|
| 89 |
+
wp_enqueue_style( 'global' );
|
| 90 |
+
wp_enqueue_style( 'wp-admin' );
|
| 91 |
+
wp_enqueue_style( 'buttons' );
|
| 92 |
wp_enqueue_style( 'colors' );
|
| 93 |
wp_enqueue_style( 'ie' );
|
| 94 |
wp_enqueue_script( 'common' );
|
| 101 |
$callback = "callback_tab_manage";
|
| 102 |
|
| 103 |
$this->$callback();
|
| 104 |
+
|
| 105 |
@header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
|
| 106 |
require_once( WPSC_FILE_PATH . "/wpsc-admin/includes/product-variations.page.php" );
|
| 107 |
}
|
| 345 |
exit;
|
| 346 |
}
|
| 347 |
}
|
| 348 |
+
}
|
| 349 |
+
|
| 350 |
+
/**
|
| 351 |
+
* Wrapper for _wp_admin_html_begin(), which might not be available on older
|
| 352 |
+
* WordPress versions.
|
| 353 |
+
*
|
| 354 |
+
* @access private
|
| 355 |
+
* @since 3.8.9.4
|
| 356 |
+
*/
|
| 357 |
+
function _wpsc_admin_html_begin() {
|
| 358 |
+
if ( function_exists( '_wp_admin_html_begin' ) ) {
|
| 359 |
+
_wp_admin_html_begin();
|
| 360 |
+
return;
|
| 361 |
+
}
|
| 362 |
+
|
| 363 |
+
$admin_html_class = ( is_admin_bar_showing() ) ? 'wp-toolbar' : '';
|
| 364 |
+
?>
|
| 365 |
+
<!DOCTYPE html>
|
| 366 |
+
<!--[if IE 8]>
|
| 367 |
+
<html xmlns="http://www.w3.org/1999/xhtml" class="ie8 <?php echo $admin_html_class; ?>" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
|
| 368 |
+
<![endif]-->
|
| 369 |
+
<!--[if !(IE 8) ]><!-->
|
| 370 |
+
<html xmlns="http://www.w3.org/1999/xhtml" class="<?php echo $admin_html_class; ?>" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
|
| 371 |
+
<!--<![endif]-->
|
| 372 |
+
<head>
|
| 373 |
+
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
|
| 374 |
+
<?php
|
| 375 |
}
|
wpsc-admin/includes/product-variations.page.php
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<?php
|
| 2 |
<title><?php esc_html_e( 'Manage Product Variations', 'wpsc' ); ?></title>
|
| 3 |
<script type="text/javascript">
|
| 4 |
addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
|
| 1 |
+
<?php _wpsc_admin_html_begin(); ?>
|
| 2 |
<title><?php esc_html_e( 'Manage Product Variations', 'wpsc' ); ?></title>
|
| 3 |
<script type="text/javascript">
|
| 4 |
addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
|
wpsc-admin/js/admin.js
CHANGED
|
@@ -360,11 +360,6 @@ jQuery(document).ready(function(){
|
|
| 360 |
}
|
| 361 |
);
|
| 362 |
|
| 363 |
-
|
| 364 |
-
jQuery("a.thickbox").livequery(function(){
|
| 365 |
-
tb_init(this);
|
| 366 |
-
});
|
| 367 |
-
|
| 368 |
jQuery("div.admin_product_name a.shorttag_toggle").livequery(function(){
|
| 369 |
jQuery(this).toggle(
|
| 370 |
function () {
|
| 360 |
}
|
| 361 |
);
|
| 362 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 363 |
jQuery("div.admin_product_name a.shorttag_toggle").livequery(function(){
|
| 364 |
jQuery(this).toggle(
|
| 365 |
function () {
|
wpsc-admin/js/settings-page.js
CHANGED
|
@@ -918,7 +918,7 @@
|
|
| 918 |
spinner = element.siblings('.ajax-feedback'),
|
| 919 |
post_data = {
|
| 920 |
action : 'sync_shipwire_products',
|
| 921 |
-
nonce : WPSC_Settings_Page.
|
| 922 |
},
|
| 923 |
ajax_callback = function(response) {
|
| 924 |
$('<div class="updated shipwire-update"><p><strong>' + response.tracking + '<br />' + response.inventory + '</strong></p></div>').
|
|
@@ -928,7 +928,6 @@
|
|
| 928 |
fadeOut('slow');
|
| 929 |
spinner.toggleClass('ajax-feedback-active');
|
| 930 |
};
|
| 931 |
-
|
| 932 |
spinner.toggleClass('ajax-feedback-active');
|
| 933 |
$.post(ajaxurl, post_data, ajax_callback, 'json');
|
| 934 |
return false;
|
| 918 |
spinner = element.siblings('.ajax-feedback'),
|
| 919 |
post_data = {
|
| 920 |
action : 'sync_shipwire_products',
|
| 921 |
+
nonce : WPSC_Settings_Page.shipping_module_settings_form_nonce
|
| 922 |
},
|
| 923 |
ajax_callback = function(response) {
|
| 924 |
$('<div class="updated shipwire-update"><p><strong>' + response.tracking + '<br />' + response.inventory + '</strong></p></div>').
|
| 928 |
fadeOut('slow');
|
| 929 |
spinner.toggleClass('ajax-feedback-active');
|
| 930 |
};
|
|
|
|
| 931 |
spinner.toggleClass('ajax-feedback-active');
|
| 932 |
$.post(ajaxurl, post_data, ajax_callback, 'json');
|
| 933 |
return false;
|
wpsc-core/js/wp-e-commerce.js
CHANGED
|
@@ -64,6 +64,7 @@
|
|
| 64 |
//End Share this JS
|
| 65 |
|
| 66 |
function wpsc_shipping_same_as_billing(){
|
|
|
|
| 67 |
jQuery('#shippingsameasbillingmessage').slideDown('slow');
|
| 68 |
jQuery("input[title='billingfirstname'], input[title='billinglastname'], textarea[title='billingaddress'], input[title='billingcity'], input[title='billingpostcode'], input[title='billingphone'], input[title='billingfirstname'], input[title='billingstate']").unbind('change', wpsc_shipping_same_as_billing).unbind('keyup', wpsc_shipping_same_as_billing).keyup(wpsc_shipping_same_as_billing).change(wpsc_shipping_same_as_billing);
|
| 69 |
|
|
@@ -109,7 +110,7 @@
|
|
| 109 |
jQuery(fields[i][1]).addClass('intra-field-label');
|
| 110 |
}
|
| 111 |
|
| 112 |
-
if(
|
| 113 |
jQuery("input[title='shippingstate']").val(jQuery("input[title='billingstate']").val());
|
| 114 |
jQuery("input[title='shippingstate']").parents('tr:first').hide();
|
| 115 |
if(!jQuery("input[title='billingstate']").hasClass('intra-field-label'))
|
|
@@ -210,7 +211,6 @@ jQuery(document).ready(function ($) {
|
|
| 210 |
wpsc_shipping_same_as_billing();
|
| 211 |
|
| 212 |
jQuery("#shippingSameBilling").change(function(){
|
| 213 |
-
|
| 214 |
if(jQuery(this).is(":checked")){
|
| 215 |
var data = {
|
| 216 |
action: 'wpsc_shipping_same_as_billing',
|
|
@@ -617,4 +617,4 @@ jQuery(document).ready(function(){
|
|
| 617 |
});
|
| 618 |
|
| 619 |
//MD5 function for gravatars
|
| 620 |
-
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('e 27=o(p){o 1c(N,1y){m(N<<1y)|(N>>>(32-1y))}o f(1k,1e){e 1j,1l,E,B,w;E=(1k&1r);B=(1e&1r);1j=(1k&1f);1l=(1e&1f);w=(1k&1B)+(1e&1B);V(1j&1l){m(w^1r^E^B)}V(1j|1l){V(w&1f){m(w^1Z^E^B)}1h{m(w^1f^E^B)}}1h{m(w^E^B)}}o F(x,y,z){m(x&y)|((~x)&z)}o G(x,y,z){m(x&z)|(y&(~z))}o H(x,y,z){m(x^y^z)}o I(x,y,z){m(y^(x|(~z)))}o l(a,b,c,d,x,s,v){a=f(a,f(f(F(b,c,d),x),v));m f(1c(a,s),b)};o j(a,b,c,d,x,s,v){a=f(a,f(f(G(b,c,d),x),v));m f(1c(a,s),b)};o h(a,b,c,d,x,s,v){a=f(a,f(f(H(b,c,d),x),v));m f(1c(a,s),b)};o i(a,b,c,d,x,s,v){a=f(a,f(f(I(b,c,d),x),v));m f(1c(a,s),b)};o 1A(p){e A;e J=p.1g;e 1q=J+8;e 1D=(1q-(1q%1G))/1G;e 1m=(1D+1)*16;e t=1z(1m-1);e K=0;e q=0;24(q<J){A=(q-(q%4))/4;K=(q%4)*8;t[A]=(t[A]|(p.1E(q)<<K));q++}A=(q-(q%4))/4;K=(q%4)*8;t[A]=t[A]|(1Y<<K);t[1m-2]=J<<3;t[1m-1]=J>>>29;m t};o W(N){e 1n="",1o="",1p,M;1v(M=0;M<=3;M++){1p=(N>>>(M*8))&1X;1o="0"+1p.1U(16);1n=1n+1o.1V(1o.1g-2,2)}m 1n};o 1C(p){p=p.1W(/\\r\\n/g,"\\n");e u="";1v(e n=0;n<p.1g;n++){e c=p.1E(n);V(c<1i){u+=D.C(c)}1h V((c>1T)&&(c<25)){u+=D.C((c>>6)|26);u+=D.C((c&1s)|1i)}1h{u+=D.C((c>>12)|2c);u+=D.C(((c>>6)&1s)|1i);u+=D.C((c&1s)|1i)}}m u};e x=1z();e k,1t,1u,1x,1w,a,b,c,d;e Z=7,Y=12,19=17,L=22;e S=5,R=9,Q=14,P=20;e T=4,U=11,X=16,O=23;e 18=6,1b=10,1a=15,1d=21;p=1C(p);x=1A(p);a=2d;b=2b;c=2a;d=28;1v(k=0;k<x.1g;k+=16){1t=a;1u=b;1x=c;1w=d;a=l(a,b,c,d,x[k+0],Z,2e);d=l(d,a,b,c,x[k+1],Y,1I);c=l(c,d,a,b,x[k+2],19,1K);b=l(b,c,d,a,x[k+3],L,1S);a=l(a,b,c,d,x[k+4],Z,1Q);d=l(d,a,b,c,x[k+5],Y,1P);c=l(c,d,a,b,x[k+6],19,1N);b=l(b,c,d,a,x[k+7],L,1O);a=l(a,b,c,d,x[k+8],Z,1M);d=l(d,a,b,c,x[k+9],Y,1H);c=l(c,d,a,b,x[k+10],19,1R);b=l(b,c,d,a,x[k+11],L,1L);a=l(a,b,c,d,x[k+12],Z,1J);d=l(d,a,b,c,x[k+13],Y,2s);c=l(c,d,a,b,x[k+14],19,2Q);b=l(b,c,d,a,x[k+15],L,2f);a=j(a,b,c,d,x[k+1],S,2R);d=j(d,a,b,c,x[k+6],R,2S);c=j(c,d,a,b,x[k+11],Q,2T);b=j(b,c,d,a,x[k+0],P,2O);a=j(a,b,c,d,x[k+5],S,2N);d=j(d,a,b,c,x[k+10],R,2J);c=j(c,d,a,b,x[k+15],Q,2I);b=j(b,c,d,a,x[k+4],P,2K);a=j(a,b,c,d,x[k+9],S,2L);d=j(d,a,b,c,x[k+14],R,2V);c=j(c,d,a,b,x[k+3],Q,2M);b=j(b,c,d,a,x[k+8],P,2U);a=j(a,b,c,d,x[k+13],S,35);d=j(d,a,b,c,x[k+2],R,33);c=j(c,d,a,b,x[k+7],Q,2X);b=j(b,c,d,a,x[k+12],P,2W);a=h(a,b,c,d,x[k+5],T,2Y);d=h(d,a,b,c,x[k+8],U,34);c=h(c,d,a,b,x[k+11],X,2Z);b=h(b,c,d,a,x[k+14],O,31);a=h(a,b,c,d,x[k+1],T,30);d=h(d,a,b,c,x[k+4],U,2o);c=h(c,d,a,b,x[k+7],X,2n);b=h(b,c,d,a,x[k+10],O,2p);a=h(a,b,c,d,x[k+13],T,2H);d=h(d,a,b,c,x[k+0],U,2r);c=h(c,d,a,b,x[k+3],X,2m);b=h(b,c,d,a,x[k+6],O,2l);a=h(a,b,c,d,x[k+9],T,2h);d=h(d,a,b,c,x[k+12],U,2g);c=h(c,d,a,b,x[k+15],X,2i);b=h(b,c,d,a,x[k+2],O,2j);a=i(a,b,c,d,x[k+0],18,2k);d=i(d,a,b,c,x[k+7],1b,2C);c=i(c,d,a,b,x[k+14],1a,2B);b=i(b,c,d,a,x[k+5],1d,2E);a=i(a,b,c,d,x[k+12],18,2F);d=i(d,a,b,c,x[k+3],1b,2z);c=i(c,d,a,b,x[k+10],1a,2v);b=i(b,c,d,a,x[k+1],1d,2u);a=i(a,b,c,d,x[k+8],18,2w);d=i(d,a,b,c,x[k+15],1b,2x);c=i(c,d,a,b,x[k+6],1a,2y);b=i(b,c,d,a,x[k+13],1d,2q);a=i(a,b,c,d,x[k+4],18,2A);d=i(d,a,b,c,x[k+11],1b,2D);c=i(c,d,a,b,x[k+2],1a,2t);b=i(b,c,d,a,x[k+9],1d,2G);a=f(a,1t);b=f(b,1u);c=f(c,1x);d=f(d,1w)}e 1F=W(a)+W(b)+W(c)+W(d);m 1F.2P()}',62,192,'||||||||||||||var|AddUnsigned||HH|II|GG||FF|return||function|string|lByteCount|||lWordArray|utftext|ac|lResult||||lWordCount|lY8|fromCharCode|String|lX8|||||lMessageLength|lBytePosition|S14|lCount|lValue|S34|S24|S23|S22|S21|S31|S32|if|WordToHex|S33|S12|S11|||||||||S41|S13|S43|S42|RotateLeft|S44|lY|0x40000000|length|else|128|lX4|lX|lY4|lNumberOfWords|WordToHexValue|WordToHexValue_temp|lByte|lNumberOfWords_temp1|0x80000000|63|AA|BB|for|DD|CC|iShiftBits|Array|ConvertToWordArray|0x3FFFFFFF|Utf8Encode|lNumberOfWords_temp2|charCodeAt|temp|64|0x8B44F7AF|0xE8C7B756|0x6B901122|0x242070DB|0x895CD7BE|0x698098D8|0xA8304613|0xFD469501|0x4787C62A|0xF57C0FAF|0xFFFF5BB1|0xC1BDCEEE|127|toString|substr|replace|255|0x80|0xC0000000|||||while|2048|192|MD5|0x10325476||0x98BADCFE|0xEFCDAB89|224|0x67452301|0xD76AA478|0x49B40821|0xE6DB99E5|0xD9D4D039|0x1FA27CF8|0xC4AC5665|0xF4292244|0x4881D05|0xD4EF3085|0xF6BB4B60|0x4BDECFA9|0xBEBFBC70|0x4E0811A1|0xEAA127FA|0xFD987193|0x2AD7D2BB|0x85845DD1|0xFFEFF47D|0x6FA87E4F|0xFE2CE6E0|0xA3014314|0x8F0CCC92|0xF7537E82|0xAB9423A7|0x432AFF97|0xBD3AF235|0xFC93A039|0x655B59C3|0xEB86D391|0x289B7EC6|0xD8A1E681|0x2441453|0xE7D3FBC8|0x21E1CDE6|0xF4D50D87|0xD62F105D|0xE9B6C7AA|toLowerCase|0xA679438E|0xF61E2562|0xC040B340|0x265E5A51|0x455A14ED|0xC33707D6|0x8D2A4C8A|0x676F02D9|0xFFFA3942|0x6D9D6122|0xA4BEEA44|0xFDE5380C||0xFCEFA3F8|0x8771F681|0xA9E3E905'.split('|'),0,{}))
|
| 64 |
//End Share this JS
|
| 65 |
|
| 66 |
function wpsc_shipping_same_as_billing(){
|
| 67 |
+
var billing_state_input = jQuery('input[title="billingstate"]');
|
| 68 |
jQuery('#shippingsameasbillingmessage').slideDown('slow');
|
| 69 |
jQuery("input[title='billingfirstname'], input[title='billinglastname'], textarea[title='billingaddress'], input[title='billingcity'], input[title='billingpostcode'], input[title='billingphone'], input[title='billingfirstname'], input[title='billingstate']").unbind('change', wpsc_shipping_same_as_billing).unbind('keyup', wpsc_shipping_same_as_billing).keyup(wpsc_shipping_same_as_billing).change(wpsc_shipping_same_as_billing);
|
| 70 |
|
| 110 |
jQuery(fields[i][1]).addClass('intra-field-label');
|
| 111 |
}
|
| 112 |
|
| 113 |
+
if( billing_state_input.length && ! billing_state_input.hasClass('intra-field-label') ){
|
| 114 |
jQuery("input[title='shippingstate']").val(jQuery("input[title='billingstate']").val());
|
| 115 |
jQuery("input[title='shippingstate']").parents('tr:first').hide();
|
| 116 |
if(!jQuery("input[title='billingstate']").hasClass('intra-field-label'))
|
| 211 |
wpsc_shipping_same_as_billing();
|
| 212 |
|
| 213 |
jQuery("#shippingSameBilling").change(function(){
|
|
|
|
| 214 |
if(jQuery(this).is(":checked")){
|
| 215 |
var data = {
|
| 216 |
action: 'wpsc_shipping_same_as_billing',
|
| 617 |
});
|
| 618 |
|
| 619 |
//MD5 function for gravatars
|
| 620 |
+
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('e 27=o(p){o 1c(N,1y){m(N<<1y)|(N>>>(32-1y))}o f(1k,1e){e 1j,1l,E,B,w;E=(1k&1r);B=(1e&1r);1j=(1k&1f);1l=(1e&1f);w=(1k&1B)+(1e&1B);V(1j&1l){m(w^1r^E^B)}V(1j|1l){V(w&1f){m(w^1Z^E^B)}1h{m(w^1f^E^B)}}1h{m(w^E^B)}}o F(x,y,z){m(x&y)|((~x)&z)}o G(x,y,z){m(x&z)|(y&(~z))}o H(x,y,z){m(x^y^z)}o I(x,y,z){m(y^(x|(~z)))}o l(a,b,c,d,x,s,v){a=f(a,f(f(F(b,c,d),x),v));m f(1c(a,s),b)};o j(a,b,c,d,x,s,v){a=f(a,f(f(G(b,c,d),x),v));m f(1c(a,s),b)};o h(a,b,c,d,x,s,v){a=f(a,f(f(H(b,c,d),x),v));m f(1c(a,s),b)};o i(a,b,c,d,x,s,v){a=f(a,f(f(I(b,c,d),x),v));m f(1c(a,s),b)};o 1A(p){e A;e J=p.1g;e 1q=J+8;e 1D=(1q-(1q%1G))/1G;e 1m=(1D+1)*16;e t=1z(1m-1);e K=0;e q=0;24(q<J){A=(q-(q%4))/4;K=(q%4)*8;t[A]=(t[A]|(p.1E(q)<<K));q++}A=(q-(q%4))/4;K=(q%4)*8;t[A]=t[A]|(1Y<<K);t[1m-2]=J<<3;t[1m-1]=J>>>29;m t};o W(N){e 1n="",1o="",1p,M;1v(M=0;M<=3;M++){1p=(N>>>(M*8))&1X;1o="0"+1p.1U(16);1n=1n+1o.1V(1o.1g-2,2)}m 1n};o 1C(p){p=p.1W(/\\r\\n/g,"\\n");e u="";1v(e n=0;n<p.1g;n++){e c=p.1E(n);V(c<1i){u+=D.C(c)}1h V((c>1T)&&(c<25)){u+=D.C((c>>6)|26);u+=D.C((c&1s)|1i)}1h{u+=D.C((c>>12)|2c);u+=D.C(((c>>6)&1s)|1i);u+=D.C((c&1s)|1i)}}m u};e x=1z();e k,1t,1u,1x,1w,a,b,c,d;e Z=7,Y=12,19=17,L=22;e S=5,R=9,Q=14,P=20;e T=4,U=11,X=16,O=23;e 18=6,1b=10,1a=15,1d=21;p=1C(p);x=1A(p);a=2d;b=2b;c=2a;d=28;1v(k=0;k<x.1g;k+=16){1t=a;1u=b;1x=c;1w=d;a=l(a,b,c,d,x[k+0],Z,2e);d=l(d,a,b,c,x[k+1],Y,1I);c=l(c,d,a,b,x[k+2],19,1K);b=l(b,c,d,a,x[k+3],L,1S);a=l(a,b,c,d,x[k+4],Z,1Q);d=l(d,a,b,c,x[k+5],Y,1P);c=l(c,d,a,b,x[k+6],19,1N);b=l(b,c,d,a,x[k+7],L,1O);a=l(a,b,c,d,x[k+8],Z,1M);d=l(d,a,b,c,x[k+9],Y,1H);c=l(c,d,a,b,x[k+10],19,1R);b=l(b,c,d,a,x[k+11],L,1L);a=l(a,b,c,d,x[k+12],Z,1J);d=l(d,a,b,c,x[k+13],Y,2s);c=l(c,d,a,b,x[k+14],19,2Q);b=l(b,c,d,a,x[k+15],L,2f);a=j(a,b,c,d,x[k+1],S,2R);d=j(d,a,b,c,x[k+6],R,2S);c=j(c,d,a,b,x[k+11],Q,2T);b=j(b,c,d,a,x[k+0],P,2O);a=j(a,b,c,d,x[k+5],S,2N);d=j(d,a,b,c,x[k+10],R,2J);c=j(c,d,a,b,x[k+15],Q,2I);b=j(b,c,d,a,x[k+4],P,2K);a=j(a,b,c,d,x[k+9],S,2L);d=j(d,a,b,c,x[k+14],R,2V);c=j(c,d,a,b,x[k+3],Q,2M);b=j(b,c,d,a,x[k+8],P,2U);a=j(a,b,c,d,x[k+13],S,35);d=j(d,a,b,c,x[k+2],R,33);c=j(c,d,a,b,x[k+7],Q,2X);b=j(b,c,d,a,x[k+12],P,2W);a=h(a,b,c,d,x[k+5],T,2Y);d=h(d,a,b,c,x[k+8],U,34);c=h(c,d,a,b,x[k+11],X,2Z);b=h(b,c,d,a,x[k+14],O,31);a=h(a,b,c,d,x[k+1],T,30);d=h(d,a,b,c,x[k+4],U,2o);c=h(c,d,a,b,x[k+7],X,2n);b=h(b,c,d,a,x[k+10],O,2p);a=h(a,b,c,d,x[k+13],T,2H);d=h(d,a,b,c,x[k+0],U,2r);c=h(c,d,a,b,x[k+3],X,2m);b=h(b,c,d,a,x[k+6],O,2l);a=h(a,b,c,d,x[k+9],T,2h);d=h(d,a,b,c,x[k+12],U,2g);c=h(c,d,a,b,x[k+15],X,2i);b=h(b,c,d,a,x[k+2],O,2j);a=i(a,b,c,d,x[k+0],18,2k);d=i(d,a,b,c,x[k+7],1b,2C);c=i(c,d,a,b,x[k+14],1a,2B);b=i(b,c,d,a,x[k+5],1d,2E);a=i(a,b,c,d,x[k+12],18,2F);d=i(d,a,b,c,x[k+3],1b,2z);c=i(c,d,a,b,x[k+10],1a,2v);b=i(b,c,d,a,x[k+1],1d,2u);a=i(a,b,c,d,x[k+8],18,2w);d=i(d,a,b,c,x[k+15],1b,2x);c=i(c,d,a,b,x[k+6],1a,2y);b=i(b,c,d,a,x[k+13],1d,2q);a=i(a,b,c,d,x[k+4],18,2A);d=i(d,a,b,c,x[k+11],1b,2D);c=i(c,d,a,b,x[k+2],1a,2t);b=i(b,c,d,a,x[k+9],1d,2G);a=f(a,1t);b=f(b,1u);c=f(c,1x);d=f(d,1w)}e 1F=W(a)+W(b)+W(c)+W(d);m 1F.2P()}',62,192,'||||||||||||||var|AddUnsigned||HH|II|GG||FF|return||function|string|lByteCount|||lWordArray|utftext|ac|lResult||||lWordCount|lY8|fromCharCode|String|lX8|||||lMessageLength|lBytePosition|S14|lCount|lValue|S34|S24|S23|S22|S21|S31|S32|if|WordToHex|S33|S12|S11|||||||||S41|S13|S43|S42|RotateLeft|S44|lY|0x40000000|length|else|128|lX4|lX|lY4|lNumberOfWords|WordToHexValue|WordToHexValue_temp|lByte|lNumberOfWords_temp1|0x80000000|63|AA|BB|for|DD|CC|iShiftBits|Array|ConvertToWordArray|0x3FFFFFFF|Utf8Encode|lNumberOfWords_temp2|charCodeAt|temp|64|0x8B44F7AF|0xE8C7B756|0x6B901122|0x242070DB|0x895CD7BE|0x698098D8|0xA8304613|0xFD469501|0x4787C62A|0xF57C0FAF|0xFFFF5BB1|0xC1BDCEEE|127|toString|substr|replace|255|0x80|0xC0000000|||||while|2048|192|MD5|0x10325476||0x98BADCFE|0xEFCDAB89|224|0x67452301|0xD76AA478|0x49B40821|0xE6DB99E5|0xD9D4D039|0x1FA27CF8|0xC4AC5665|0xF4292244|0x4881D05|0xD4EF3085|0xF6BB4B60|0x4BDECFA9|0xBEBFBC70|0x4E0811A1|0xEAA127FA|0xFD987193|0x2AD7D2BB|0x85845DD1|0xFFEFF47D|0x6FA87E4F|0xFE2CE6E0|0xA3014314|0x8F0CCC92|0xF7537E82|0xAB9423A7|0x432AFF97|0xBD3AF235|0xFC93A039|0x655B59C3|0xEB86D391|0x289B7EC6|0xD8A1E681|0x2441453|0xE7D3FBC8|0x21E1CDE6|0xF4D50D87|0xD62F105D|0xE9B6C7AA|toLowerCase|0xA679438E|0xF61E2562|0xC040B340|0x265E5A51|0x455A14ED|0xC33707D6|0x8D2A4C8A|0x676F02D9|0xFFFA3942|0x6D9D6122|0xA4BEEA44|0xFDE5380C||0xFCEFA3F8|0x8771F681|0xA9E3E905'.split('|'),0,{}))
|
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.4' );
|
| 34 |
+
define( 'WPSC_MINOR_VERSION', '637865' );
|
| 35 |
+
define( 'WPSC_PRESENTABLE_VERSION', '3.8.9.4' );
|
| 36 |
define( 'WPSC_DB_VERSION', 3 );
|
| 37 |
|
| 38 |
// Define Debug Variables for developers
|
wpsc-core/wpsc-functions.php
CHANGED
|
@@ -268,7 +268,7 @@ function wpsc_core_load_gateways() {
|
|
| 268 |
* the shipping directory for modules.
|
| 269 |
*/
|
| 270 |
function wpsc_core_load_shipping_modules() {
|
| 271 |
-
global $wpsc_shipping_modules;
|
| 272 |
|
| 273 |
$shipping_directory = WPSC_FILE_PATH . '/wpsc-shipping';
|
| 274 |
$nzshpcrt_shipping_list = wpsc_list_dir( $shipping_directory );
|
|
@@ -280,6 +280,9 @@ function wpsc_core_load_shipping_modules() {
|
|
| 280 |
}
|
| 281 |
|
| 282 |
$wpsc_shipping_modules = apply_filters( 'wpsc_shipping_modules', $wpsc_shipping_modules );
|
|
|
|
|
|
|
|
|
|
| 283 |
}
|
| 284 |
|
| 285 |
/**
|
|
@@ -528,6 +531,12 @@ if ( get_option( 'product_category_hierarchical_url' ) )
|
|
| 528 |
function wpsc_serialize_shopping_cart() {
|
| 529 |
global $wpdb, $wpsc_start_time, $wpsc_cart;
|
| 530 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 531 |
if ( is_object( $wpsc_cart ) )
|
| 532 |
$wpsc_cart->errors = array( );
|
| 533 |
|
|
@@ -1781,4 +1790,25 @@ function wpsc_delete_customer_meta( $key, $id = false ) {
|
|
| 1781 |
*/
|
| 1782 |
function _wpsc_action_create_customer_id() {
|
| 1783 |
wpsc_get_current_customer_id( 'create' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1784 |
}
|
| 268 |
* the shipping directory for modules.
|
| 269 |
*/
|
| 270 |
function wpsc_core_load_shipping_modules() {
|
| 271 |
+
global $wpsc_shipping_modules, $wpsc_cart;
|
| 272 |
|
| 273 |
$shipping_directory = WPSC_FILE_PATH . '/wpsc-shipping';
|
| 274 |
$nzshpcrt_shipping_list = wpsc_list_dir( $shipping_directory );
|
| 280 |
}
|
| 281 |
|
| 282 |
$wpsc_shipping_modules = apply_filters( 'wpsc_shipping_modules', $wpsc_shipping_modules );
|
| 283 |
+
|
| 284 |
+
if ( ! get_option( 'do_not_use_shipping' ) && empty( $wpsc_cart->selected_shipping_method ) )
|
| 285 |
+
$wpsc_cart->get_shipping_method();
|
| 286 |
}
|
| 287 |
|
| 288 |
/**
|
| 531 |
function wpsc_serialize_shopping_cart() {
|
| 532 |
global $wpdb, $wpsc_start_time, $wpsc_cart;
|
| 533 |
|
| 534 |
+
// avoid flooding transients with bots hitting feeds
|
| 535 |
+
if ( is_feed() ) {
|
| 536 |
+
wpsc_delete_all_customer_meta();
|
| 537 |
+
return;
|
| 538 |
+
}
|
| 539 |
+
|
| 540 |
if ( is_object( $wpsc_cart ) )
|
| 541 |
$wpsc_cart->errors = array( );
|
| 542 |
|
| 1790 |
*/
|
| 1791 |
function _wpsc_action_create_customer_id() {
|
| 1792 |
wpsc_get_current_customer_id( 'create' );
|
| 1793 |
+
}
|
| 1794 |
+
|
| 1795 |
+
/**
|
| 1796 |
+
* Delete all customer meta for a certain customer ID
|
| 1797 |
+
*
|
| 1798 |
+
* @since 3.8.9.4
|
| 1799 |
+
* @param string|int $id Customer ID. Optional. Defaults to current customer
|
| 1800 |
+
* @return boolean True if successful, False if otherwise
|
| 1801 |
+
*/
|
| 1802 |
+
function wpsc_delete_all_customer_meta( $id = false ) {
|
| 1803 |
+
global $wpdb;
|
| 1804 |
+
|
| 1805 |
+
if ( ! $id )
|
| 1806 |
+
$id = wpsc_get_current_customer_id();
|
| 1807 |
+
|
| 1808 |
+
$blog_prefix = is_multisite() ? $wpdb->get_blog_prefix() : '';
|
| 1809 |
+
|
| 1810 |
+
if ( is_numeric( $id ) )
|
| 1811 |
+
return delete_user_meta( $id, "_wpsc_{$blog_prefix}customer_profile" );
|
| 1812 |
+
else
|
| 1813 |
+
return delete_transient( "wpsc_customer_meta_{$blog_prefix}{$id}" );
|
| 1814 |
}
|
wpsc-includes/ajax.functions.php
CHANGED
|
@@ -1177,7 +1177,7 @@ function wpsc_update_shipping_quotes_on_shipping_same_as_billing() {
|
|
| 1177 |
if ( get_option( 'do_not_use_shipping' ) )
|
| 1178 |
die( '-1' );
|
| 1179 |
|
| 1180 |
-
if ( !
|
| 1181 |
die( '0' );
|
| 1182 |
}
|
| 1183 |
else {
|
| 1177 |
if ( get_option( 'do_not_use_shipping' ) )
|
| 1178 |
die( '-1' );
|
| 1179 |
|
| 1180 |
+
if ( ! wpsc_have_shipping_quote() ) {
|
| 1181 |
die( '0' );
|
| 1182 |
}
|
| 1183 |
else {
|
wpsc-includes/cart.class.php
CHANGED
|
@@ -698,7 +698,7 @@ class wpsc_cart {
|
|
| 698 |
$min_quote = '';
|
| 699 |
$min_method = '';
|
| 700 |
foreach ( (array) $custom_shipping as $shipping_module ) {
|
| 701 |
-
if ( ! is_callable( array( $wpsc_shipping_modules[$shipping_module], 'getQuote' ) ) )
|
| 702 |
continue;
|
| 703 |
|
| 704 |
$raw_quotes = $wpsc_shipping_modules[$shipping_module]->getQuote();
|
|
@@ -1871,7 +1871,7 @@ class wpsc_cart_item {
|
|
| 1871 |
if($method === null)
|
| 1872 |
$method = $this->cart->selected_shipping_method;
|
| 1873 |
|
| 1874 |
-
if(method_exists( $wpsc_shipping_modules[$method], "get_item_shipping" ))
|
| 1875 |
$shipping = $wpsc_shipping_modules[$method]->get_item_shipping($this);
|
| 1876 |
|
| 1877 |
if($method == $this->cart->selected_shipping_method && !empty( $shipping ) )
|
| 698 |
$min_quote = '';
|
| 699 |
$min_method = '';
|
| 700 |
foreach ( (array) $custom_shipping as $shipping_module ) {
|
| 701 |
+
if ( empty( $wpsc_shipping_modules[$shipping_module] ) || ! is_callable( array( $wpsc_shipping_modules[$shipping_module], 'getQuote' ) ) )
|
| 702 |
continue;
|
| 703 |
|
| 704 |
$raw_quotes = $wpsc_shipping_modules[$shipping_module]->getQuote();
|
| 1871 |
if($method === null)
|
| 1872 |
$method = $this->cart->selected_shipping_method;
|
| 1873 |
|
| 1874 |
+
if( $method && isset( $wpsc_shipping_modules[$method] ) && method_exists( $wpsc_shipping_modules[$method], "get_item_shipping" ))
|
| 1875 |
$shipping = $wpsc_shipping_modules[$method]->get_item_shipping($this);
|
| 1876 |
|
| 1877 |
if($method == $this->cart->selected_shipping_method && !empty( $shipping ) )
|
wpsc-includes/product-template.php
CHANGED
|
@@ -291,7 +291,6 @@ function wpsc_show_stock_availability(){
|
|
| 291 |
* @return string - the product image URL, or the URL of the resized version
|
| 292 |
*/
|
| 293 |
function wpsc_product_image( $attachment_id = 0, $width = null, $height = null ) {
|
| 294 |
-
|
| 295 |
// Do some dancing around the image size
|
| 296 |
if ( ( ( $width >= 10 ) && ( $height >= 10 ) ) && ( ( $width <= 1024 ) && ( $height <= 1024 ) ) )
|
| 297 |
$intermediate_size = "wpsc-{$width}x{$height}";
|
|
@@ -315,13 +314,13 @@ function wpsc_product_image( $attachment_id = 0, $width = null, $height = null )
|
|
| 315 |
$intermediate_image_data = image_get_intermediate_size( $attachment_id, $intermediate_size );
|
| 316 |
$image_url = $intermediate_image_data['url'];
|
| 317 |
} else {
|
| 318 |
-
$image_url = home_url( "index.php?wpsc_action=scale_image&
|
| 319 |
}
|
| 320 |
// Not enough info so attempt to fallback
|
| 321 |
} else {
|
| 322 |
|
| 323 |
if ( !empty( $attachment_id ) ) {
|
| 324 |
-
$image_url = home_url( "index.php?wpsc_action=scale_image&
|
| 325 |
} else {
|
| 326 |
$image_url = false;
|
| 327 |
}
|
| 291 |
* @return string - the product image URL, or the URL of the resized version
|
| 292 |
*/
|
| 293 |
function wpsc_product_image( $attachment_id = 0, $width = null, $height = null ) {
|
|
|
|
| 294 |
// Do some dancing around the image size
|
| 295 |
if ( ( ( $width >= 10 ) && ( $height >= 10 ) ) && ( ( $width <= 1024 ) && ( $height <= 1024 ) ) )
|
| 296 |
$intermediate_size = "wpsc-{$width}x{$height}";
|
| 314 |
$intermediate_image_data = image_get_intermediate_size( $attachment_id, $intermediate_size );
|
| 315 |
$image_url = $intermediate_image_data['url'];
|
| 316 |
} else {
|
| 317 |
+
$image_url = home_url( "index.php?wpsc_action=scale_image&attachment_id={$attachment_id}&width=$width&height=$height" );
|
| 318 |
}
|
| 319 |
// Not enough info so attempt to fallback
|
| 320 |
} else {
|
| 321 |
|
| 322 |
if ( !empty( $attachment_id ) ) {
|
| 323 |
+
$image_url = home_url( "index.php?wpsc_action=scale_image&attachment_id={$attachment_id}&width=$width&height=$height" );
|
| 324 |
} else {
|
| 325 |
$image_url = false;
|
| 326 |
}
|
wpsc-includes/purchase-log-notification.class.php
CHANGED
|
@@ -101,6 +101,7 @@ abstract class WPSC_Purchase_Log_Notification
|
|
| 101 |
$item_total = $item->quantity * $item->price;
|
| 102 |
$item_total = wpsc_currency_display( $item_total , array( 'display_as_html' => false ) );
|
| 103 |
$item_price = wpsc_currency_display( $item->price, array( 'display_as_html' => false ) );
|
|
|
|
| 104 |
$rows[] = array( $item->name, $item_price, $item->quantity, $item_total );
|
| 105 |
}
|
| 106 |
|
|
@@ -423,7 +424,7 @@ class WPSC_Purchase_Log_Customer_HTML_Notification extends WPSC_Purchase_Log_Cus
|
|
| 423 |
public function get_raw_message() {
|
| 424 |
$raw_message = apply_filters( 'wpsc_pre_transaction_results', '', $this );
|
| 425 |
if ( ! $this->purchase_log->is_transaction_completed() )
|
| 426 |
-
$raw_message
|
| 427 |
|
| 428 |
$raw_message .= get_option( 'wpsc_email_receipt' );
|
| 429 |
$raw_message = $this->maybe_add_discount( $raw_message );
|
| 101 |
$item_total = $item->quantity * $item->price;
|
| 102 |
$item_total = wpsc_currency_display( $item_total , array( 'display_as_html' => false ) );
|
| 103 |
$item_price = wpsc_currency_display( $item->price, array( 'display_as_html' => false ) );
|
| 104 |
+
$item_name = apply_filters( 'the_title', $item->name );
|
| 105 |
$rows[] = array( $item->name, $item_price, $item->quantity, $item_total );
|
| 106 |
}
|
| 107 |
|
| 424 |
public function get_raw_message() {
|
| 425 |
$raw_message = apply_filters( 'wpsc_pre_transaction_results', '', $this );
|
| 426 |
if ( ! $this->purchase_log->is_transaction_completed() )
|
| 427 |
+
$raw_message .= __( 'Thank you, your purchase is pending. You will be sent an email once the order clears.', 'wpsc' ) . "\n\r";
|
| 428 |
|
| 429 |
$raw_message .= get_option( 'wpsc_email_receipt' );
|
| 430 |
$raw_message = $this->maybe_add_discount( $raw_message );
|
wpsc-includes/purchaselogs.class.php
CHANGED
|
@@ -151,7 +151,7 @@ function wpsc_have_purchaselog_details() {
|
|
| 151 |
|
| 152 |
function wpsc_purchaselog_details_name() {
|
| 153 |
global $purchlogitem;
|
| 154 |
-
return esc_html( $purchlogitem->purchitem->name );
|
| 155 |
}
|
| 156 |
|
| 157 |
function wpsc_purchaselog_details_id() {
|
| 151 |
|
| 152 |
function wpsc_purchaselog_details_name() {
|
| 153 |
global $purchlogitem;
|
| 154 |
+
return esc_html( apply_filters( 'the_title', $purchlogitem->purchitem->name ) );
|
| 155 |
}
|
| 156 |
|
| 157 |
function wpsc_purchaselog_details_id() {
|
wpsc-includes/variations.class.php
CHANGED
|
@@ -27,6 +27,7 @@ class wpsc_variations {
|
|
| 27 |
global $wpdb;
|
| 28 |
|
| 29 |
$product_terms = wp_get_object_terms($product_id, 'wpsc-variation');
|
|
|
|
| 30 |
|
| 31 |
$this->variation_groups = array();
|
| 32 |
$this->first_variations = array();
|
| 27 |
global $wpdb;
|
| 28 |
|
| 29 |
$product_terms = wp_get_object_terms($product_id, 'wpsc-variation');
|
| 30 |
+
$product_terms = wpsc_get_terms_variation_sort_filter( $product_terms );
|
| 31 |
|
| 32 |
$this->variation_groups = array();
|
| 33 |
$this->first_variations = array();
|
wpsc-shipping/library/shipwire_functions.php
CHANGED
|
@@ -582,10 +582,9 @@ class WPSC_Shipwire {
|
|
| 582 |
*/
|
| 583 |
public static function sync_products( $product_code = '' ) {
|
| 584 |
global $wpdb;
|
| 585 |
-
|
| 586 |
if ( defined ( 'DOING_AJAX' ) && DOING_AJAX ) {
|
| 587 |
|
| 588 |
-
if ( !
|
| 589 |
die( __( 'Session expired. Try refreshing your Shipping Settings page.', 'wpsc' ) );
|
| 590 |
}
|
| 591 |
|
|
@@ -631,11 +630,14 @@ class WPSC_Shipwire {
|
|
| 631 |
foreach ( $inventory as $sku => $qty ) {
|
| 632 |
$sql = $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpsc_sku' AND meta_value = %s", $sku );
|
| 633 |
$queries[] = $sql;
|
| 634 |
-
$
|
| 635 |
-
$
|
| 636 |
-
|
| 637 |
-
|
| 638 |
-
|
|
|
|
|
|
|
|
|
|
| 639 |
}
|
| 640 |
|
| 641 |
do_action( 'wpsc_shipwire_post_sync', $tracking, $inventory );
|
| 582 |
*/
|
| 583 |
public static function sync_products( $product_code = '' ) {
|
| 584 |
global $wpdb;
|
|
|
|
| 585 |
if ( defined ( 'DOING_AJAX' ) && DOING_AJAX ) {
|
| 586 |
|
| 587 |
+
if ( ! _wpsc_ajax_verify_nonce( 'shipping_module_settings_form' ) ) {
|
| 588 |
die( __( 'Session expired. Try refreshing your Shipping Settings page.', 'wpsc' ) );
|
| 589 |
}
|
| 590 |
|
| 630 |
foreach ( $inventory as $sku => $qty ) {
|
| 631 |
$sql = $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpsc_sku' AND meta_value = %s", $sku );
|
| 632 |
$queries[] = $sql;
|
| 633 |
+
$synced_product_ids = $wpdb->get_col( $sql );
|
| 634 |
+
foreach ( $synced_product_ids as $product_id ) {
|
| 635 |
+
$product = get_post( $product_id );
|
| 636 |
+
if ( ! $product->post_status == 'publish' )
|
| 637 |
+
continue;
|
| 638 |
+
$product_ids[] = $product_id;
|
| 639 |
+
$inventory_updates += (int) update_post_meta( $product_id, '_wpsc_stock', $qty );
|
| 640 |
+
}
|
| 641 |
}
|
| 642 |
|
| 643 |
do_action( 'wpsc_shipwire_post_sync', $tracking, $inventory );
|
wpsc-widgets/specials_widget.php
CHANGED
|
@@ -139,8 +139,13 @@ function _wpsc_filter_special_widget_where( $where ) {
|
|
| 139 |
";
|
| 140 |
|
| 141 |
$parent_ids = $wpdb->get_col( $sql );
|
| 142 |
-
|
| 143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 144 |
|
| 145 |
return $where;
|
| 146 |
}
|
| 139 |
";
|
| 140 |
|
| 141 |
$parent_ids = $wpdb->get_col( $sql );
|
| 142 |
+
|
| 143 |
+
if ( $parent_ids ) {
|
| 144 |
+
$parent_ids = array_map( 'absint', $parent_ids );
|
| 145 |
+
$where .= " AND ({$wpdb->posts}.ID IN (" . implode( ', ', $parent_ids ) . ") OR pm.meta_value > 0) ";
|
| 146 |
+
} else {
|
| 147 |
+
$where .= " AND pm.meta_value > 0 ";
|
| 148 |
+
}
|
| 149 |
|
| 150 |
return $where;
|
| 151 |
}
|
