Version Description
- New: Coupon UI is revamped.
- New: [Shipwire] Addition of Shipping Services, Economy, Plus & Premium.
- Change: After filling out a registration form, the user is logged in.
- Change: Limit quantity of individual products that can be added to the cart. Default value is filterable.
- Change: Remove FPDF which is not used any more.
- Change: Return cart item messages as key => value array rather than HTML.
- Change: Variation table class orderby to 'menu_order title'
- Change: When displaying packing slip, form data should be output in the same order as that of checkout page.
- Fix: "you save" prices are not correct on variations with a value over 1000
- Fix: Cart widget missing closing tag.
- Fix: Display the "You save" price as a currency, not just a raw unformatted number
- Fix: Ensure all variations are deleted when deleting a product.
- Fix: Foreign characters are not displayed correctly in packing slip.
- Fix: Improved performance with variations.
- Fix: JavaScript error when no variations exist in admin.
- Fix: Make sure Add / Edit Product page respects decimal and thousands separators set in Settings->Store->General.
- Fix: Manual / Test Payment instructions don't appear on transaction results page and email.
- Fix: Only print Google Analytics scripts on transaction results footer
- Fix: PHP Warnings when bulk editing variations.
- Fix: Prevent old paypal express from hijacking new paypal express callback.
- Fix: Product category pages don't respect pagination and sort order settings.
- Fix: Re-generate products pages' IDs after plugin reactivation.
- Fix: Refactor user account page
- Fix: SQL IN error in wpsc_populate_also_bought_list().
- Fix: Switching a purchase log status to "Closed Order" doesn't reduce stocks.
- Fix: WPML compatibility
- Fix: Wrong cache set for checkout form data.
- Fix: split() deprecation notice in PHP 5.3+
- Fix: stripslashes issues when duplicating products.
Download this release
Release Info
| Developer | JustinSainton |
| Plugin | |
| Version | 3.8.10 |
| Comparing to | |
| See all releases | |
Code changes from version 3.8.10-beta to 3.8.10
- .gitignore +0 -1
- readme.md +4 -4
- readme.txt +5 -5
- wp-shopping-cart.php +2 -2
- wpsc-admin/admin.php +1 -1
- wpsc-admin/ajax-and-init.php +0 -9
- wpsc-admin/display-items.page.php +19 -16
- wpsc-admin/includes/display-items-functions.php +1 -1
- wpsc-admin/includes/product-variation-list-table.class.php +11 -2
- wpsc-admin/includes/purchase-log-list-table-class.php +10 -9
- wpsc-admin/includes/updating-functions.php +1 -1
- wpsc-admin/init.php +12 -5
- wpsc-core/js/sharethis.css +119 -0
- wpsc-core/js/sharethis.js +63 -0
- wpsc-core/js/wp-e-commerce.js +0 -64
- wpsc-core/wpsc-constants.php +3 -3
- wpsc-core/wpsc-deprecated.php +21 -0
- wpsc-core/wpsc-functions.php +16 -1
- wpsc-core/wpsc-installer.php +2 -1
- wpsc-includes/country.class.php +2 -3
- wpsc-includes/meta.functions.php +0 -1
- wpsc-includes/processing.functions.php +1 -1
- wpsc-includes/product-template.php +69 -22
- wpsc-includes/theme.functions.php +3 -1
- wpsc-theme/functions/wpsc-user_log_functions.php +3 -3
- wpsc-theme/wpsc-default.css +0 -144
- wpsc-theme/wpsc-single_product.php +4 -2
.gitignore
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
.idea
|
|
|
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.10](http://wordpress.org/extend/plugins/wp-e-commerce).
|
| 19 |
+
* Active development version: 3.8.11-dev (branch [master](https://github.com/wp-e-commerce/WP-e-Commerce))
|
| 20 |
+
* [Roadmap for 3.8.11](https://github.com/wp-e-commerce/wp-e-commerce/wiki/Roadmap)
|
| 21 |
+
* [3.8.11 tickets](https://github.com/wp-e-commerce/wp-e-commerce/issues?labels=&milestone=9&page=1&sort=updated&state=open)
|
| 22 |
|
| 23 |
How to contribute code
|
| 24 |
-----------------------------
|
readme.txt
CHANGED
|
@@ -1,16 +1,16 @@
|
|
| 1 |
=== WP e-Commerce ===
|
| 2 |
-
Contributors: mufasa,
|
| 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.
|
| 6 |
-
Tested up to: 3.
|
| 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 |
|
| 11 |
== Description ==
|
| 12 |
|
| 13 |
-
We make setting up an ecommerce shop easy, and with over 2 Million downloads, we have unparalleled experience.
|
| 14 |
|
| 15 |
Features:
|
| 16 |
|
| 1 |
=== WP e-Commerce ===
|
| 2 |
+
Contributors: mufasa, garyc40, JustinSainton, mychelle
|
| 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.4
|
| 6 |
+
Tested up to: 3.6-beta
|
| 7 |
+
Stable tag: 3.8.10
|
| 8 |
|
| 9 |
WP e-Commerce is a free WordPress Shopping Cart Plugin that lets customers buy your products, services and digital downloads online.
|
| 10 |
|
| 11 |
== Description ==
|
| 12 |
|
| 13 |
+
We make setting up an ecommerce shop easy, and with over 2.3 Million downloads, we have unparalleled experience.
|
| 14 |
|
| 15 |
Features:
|
| 16 |
|
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.10
|
| 7 |
* Author: Instinct Entertainment
|
| 8 |
* Author URI: http://getshopped.org/
|
| 9 |
**/
|
|
@@ -27,7 +27,7 @@ class WP_eCommerce {
|
|
| 27 |
* @uses add_action() Attaches to 'wpsc_components' hook
|
| 28 |
*/
|
| 29 |
function WP_eCommerce() {
|
| 30 |
-
add_action( 'plugins_loaded', array( $this, 'init' ), 8 );
|
| 31 |
add_action( 'wpsc_components', array( $this, '_register_core_components' ) );
|
| 32 |
}
|
| 33 |
|
| 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.10
|
| 7 |
* Author: Instinct Entertainment
|
| 8 |
* Author URI: http://getshopped.org/
|
| 9 |
**/
|
| 27 |
* @uses add_action() Attaches to 'wpsc_components' hook
|
| 28 |
*/
|
| 29 |
function WP_eCommerce() {
|
| 30 |
+
add_action( 'plugins_loaded' , array( $this, 'init' ), 8 );
|
| 31 |
add_action( 'wpsc_components', array( $this, '_register_core_components' ) );
|
| 32 |
}
|
| 33 |
|
wpsc-admin/admin.php
CHANGED
|
@@ -1347,7 +1347,7 @@ function wpsc_duplicate_product_process( $post, $new_parent_id = false ) {
|
|
| 1347 |
$post_content = $post->post_content;
|
| 1348 |
$post_content_filtered = $post->post_content_filtered;
|
| 1349 |
$post_excerpt = $post->post_excerpt;
|
| 1350 |
-
$post_title = $post->post_title .
|
| 1351 |
$post_name = $post->post_name;
|
| 1352 |
$comment_status = $post->comment_status;
|
| 1353 |
$ping_status = $post->ping_status;
|
| 1347 |
$post_content = $post->post_content;
|
| 1348 |
$post_content_filtered = $post->post_content_filtered;
|
| 1349 |
$post_excerpt = $post->post_excerpt;
|
| 1350 |
+
$post_title = $post->post_title . ' ' . __( '(Duplicate)', 'wpsc' );
|
| 1351 |
$post_name = $post->post_name;
|
| 1352 |
$comment_status = $post->comment_status;
|
| 1353 |
$ping_status = $post->ping_status;
|
wpsc-admin/ajax-and-init.php
CHANGED
|
@@ -48,15 +48,6 @@ function wpsc_admin_ajax() {
|
|
| 48 |
exit();
|
| 49 |
}
|
| 50 |
|
| 51 |
-
if ( isset( $_POST['hide_ecom_dashboard'] ) && $_POST['hide_ecom_dashboard'] == 'true' ) {
|
| 52 |
-
require_once (ABSPATH . WPINC . '/rss.php');
|
| 53 |
-
$rss = fetch_rss( 'http://www.instinct.co.nz/feed/' );
|
| 54 |
-
$rss->items = array_slice( $rss->items, 0, 5 );
|
| 55 |
-
$rss_hash = sha1( serialize( $rss->items ) );
|
| 56 |
-
update_option( 'wpsc_ecom_news_hash', $rss_hash );
|
| 57 |
-
exit( 1 );
|
| 58 |
-
}
|
| 59 |
-
|
| 60 |
if ( isset( $_REQUEST['log_state'] ) && $_REQUEST['log_state'] == "true" && is_numeric( $_POST['id'] ) && is_numeric( $_POST['value'] ) ) {
|
| 61 |
$newvalue = $_POST['value'];
|
| 62 |
if ( $_REQUEST['suspend'] == 'true' ) {
|
| 48 |
exit();
|
| 49 |
}
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
if ( isset( $_REQUEST['log_state'] ) && $_REQUEST['log_state'] == "true" && is_numeric( $_POST['id'] ) && is_numeric( $_POST['value'] ) ) {
|
| 52 |
$newvalue = $_POST['value'];
|
| 53 |
if ( $_REQUEST['suspend'] == 'true' ) {
|
wpsc-admin/display-items.page.php
CHANGED
|
@@ -174,25 +174,28 @@ add_action( 'wpsc_manage_products_column_stock', '_wpsc_manage_products_column_s
|
|
| 174 |
* @since 3.8.9
|
| 175 |
* @access private
|
| 176 |
*
|
| 177 |
-
* @param object
|
| 178 |
-
* @param int
|
| 179 |
-
* @param boolean
|
| 180 |
*
|
| 181 |
-
* @uses get_post_meta()
|
| 182 |
-
* @uses wpsc_currency_display()
|
| 183 |
-
* @uses
|
| 184 |
*/
|
| 185 |
function _wpsc_manage_products_column_price( $post, $post_id, $has_variations ) {
|
| 186 |
$price = get_post_meta( $post->ID, '_wpsc_price', true );
|
| 187 |
$has_var = '1';
|
| 188 |
if( ! $has_variations ) {
|
| 189 |
echo wpsc_currency_display( $price );
|
| 190 |
-
echo '<div id="inline_' . $post->ID . '_price" class="hidden">' . trim($price) . '</div>';
|
| 191 |
$has_var = '0';
|
| 192 |
}
|
| 193 |
else
|
| 194 |
-
echo
|
| 195 |
-
|
|
|
|
|
|
|
|
|
|
| 196 |
}
|
| 197 |
add_action( 'wpsc_manage_products_column_price', '_wpsc_manage_products_column_price', 10, 3 );
|
| 198 |
|
|
@@ -202,13 +205,13 @@ add_action( 'wpsc_manage_products_column_price', '_wpsc_manage_products_column_p
|
|
| 202 |
* @since 3.8.9
|
| 203 |
* @access private
|
| 204 |
*
|
| 205 |
-
* @param object
|
| 206 |
-
* @param int
|
| 207 |
-
* @param boolean
|
| 208 |
*
|
| 209 |
-
* @uses get_post_meta()
|
| 210 |
-
* @uses wpsc_currency_display()
|
| 211 |
-
* @uses
|
| 212 |
*/
|
| 213 |
function _wpsc_manage_products_column_sale_price( $post, $post_id, $has_variations ) {
|
| 214 |
$price = get_post_meta( $post->ID, '_wpsc_special_price', true );
|
|
@@ -216,7 +219,7 @@ function _wpsc_manage_products_column_sale_price( $post, $post_id, $has_variatio
|
|
| 216 |
echo wpsc_currency_display( $price );
|
| 217 |
echo '<div id="inline_' . $post->ID . '_sale_price" class="hidden">' . $price . '</div>';
|
| 218 |
} else
|
| 219 |
-
echo
|
| 220 |
}
|
| 221 |
add_action( 'wpsc_manage_products_column_sale_price', '_wpsc_manage_products_column_sale_price', 10, 3 );
|
| 222 |
|
| 174 |
* @since 3.8.9
|
| 175 |
* @access private
|
| 176 |
*
|
| 177 |
+
* @param object $post Post object
|
| 178 |
+
* @param int $post_id Post ID
|
| 179 |
+
* @param boolean $has_variations Whether the product has variations
|
| 180 |
*
|
| 181 |
+
* @uses get_post_meta() Gets post meta given key and post_id
|
| 182 |
+
* @uses wpsc_currency_display() Returns the currency after dealing with how the user wants it to be displayed
|
| 183 |
+
* @uses wpsc_product_variation_price_from() Gets the lowest variation price for the given post_id
|
| 184 |
*/
|
| 185 |
function _wpsc_manage_products_column_price( $post, $post_id, $has_variations ) {
|
| 186 |
$price = get_post_meta( $post->ID, '_wpsc_price', true );
|
| 187 |
$has_var = '1';
|
| 188 |
if( ! $has_variations ) {
|
| 189 |
echo wpsc_currency_display( $price );
|
| 190 |
+
echo '<div id="inline_' . $post->ID . '_price" class="hidden">' . trim( $price ) . '</div>';
|
| 191 |
$has_var = '0';
|
| 192 |
}
|
| 193 |
else
|
| 194 |
+
echo wpsc_product_variation_price_from( $post->ID, array(
|
| 195 |
+
'only_normal_price' => true,
|
| 196 |
+
'from_text' => '%s+'
|
| 197 |
+
) );
|
| 198 |
+
echo '<input type="hidden" value="' . $has_var . '" id="inline_' . $post->ID . '_has_var" />';
|
| 199 |
}
|
| 200 |
add_action( 'wpsc_manage_products_column_price', '_wpsc_manage_products_column_price', 10, 3 );
|
| 201 |
|
| 205 |
* @since 3.8.9
|
| 206 |
* @access private
|
| 207 |
*
|
| 208 |
+
* @param object $post Post object
|
| 209 |
+
* @param int $post_id Post ID
|
| 210 |
+
* @param boolean $has_variations Whether the product has variations
|
| 211 |
*
|
| 212 |
+
* @uses get_post_meta() Gets post meta given key and post_id
|
| 213 |
+
* @uses wpsc_currency_display() Returns currency after taking user display options in to account
|
| 214 |
+
* @uses wpsc_product_variation_price_from() Gets the lowest variation price for the given post_id
|
| 215 |
*/
|
| 216 |
function _wpsc_manage_products_column_sale_price( $post, $post_id, $has_variations ) {
|
| 217 |
$price = get_post_meta( $post->ID, '_wpsc_special_price', true );
|
| 219 |
echo wpsc_currency_display( $price );
|
| 220 |
echo '<div id="inline_' . $post->ID . '_sale_price" class="hidden">' . $price . '</div>';
|
| 221 |
} else
|
| 222 |
+
echo wpsc_product_variation_price_from( $post->ID, array( 'from_text' => '%s+' ) );
|
| 223 |
}
|
| 224 |
add_action( 'wpsc_manage_products_column_sale_price', '_wpsc_manage_products_column_sale_price', 10, 3 );
|
| 225 |
|
wpsc-admin/includes/display-items-functions.php
CHANGED
|
@@ -139,7 +139,7 @@ function wpsc_price_control_forms() {
|
|
| 139 |
|
| 140 |
<?php /* Check product if a product has variations */ ?>
|
| 141 |
<?php if ( wpsc_product_has_children( $post->ID ) ) : ?>
|
| 142 |
-
<?php $price =
|
| 143 |
<p><?php echo sprintf( __( 'This Product has variations, to edit the price please use the <a href="%s">Variation Controls</a>.' , 'wpsc' ), '#wpsc_product_variation_forms' ); ?></p>
|
| 144 |
<p><?php printf( __( 'Price: %s and above.' , 'wpsc' ) , $price ); ?></p>
|
| 145 |
<?php else: ?>
|
| 139 |
|
| 140 |
<?php /* Check product if a product has variations */ ?>
|
| 141 |
<?php if ( wpsc_product_has_children( $post->ID ) ) : ?>
|
| 142 |
+
<?php $price = wpsc_product_variation_price_from( $post->ID ); ?>
|
| 143 |
<p><?php echo sprintf( __( 'This Product has variations, to edit the price please use the <a href="%s">Variation Controls</a>.' , 'wpsc' ), '#wpsc_product_variation_forms' ); ?></p>
|
| 144 |
<p><?php printf( __( 'Price: %s and above.' , 'wpsc' ) , $price ); ?></p>
|
| 145 |
<?php else: ?>
|
wpsc-admin/includes/product-variation-list-table.class.php
CHANGED
|
@@ -232,10 +232,19 @@ class WPSC_Product_Variation_List_Table extends WP_List_Table {
|
|
| 232 |
<?php
|
| 233 |
}
|
| 234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 235 |
public function column_stock( $item ) {
|
| 236 |
-
$stock =
|
|
|
|
|
|
|
| 237 |
?>
|
| 238 |
-
|
| 239 |
<?php
|
| 240 |
}
|
| 241 |
|
| 232 |
<?php
|
| 233 |
}
|
| 234 |
|
| 235 |
+
/**
|
| 236 |
+
* Stock Column
|
| 237 |
+
*
|
| 238 |
+
* @uses get_product_meta Get product meta data.
|
| 239 |
+
*
|
| 240 |
+
* @param object $item Product
|
| 241 |
+
*/
|
| 242 |
public function column_stock( $item ) {
|
| 243 |
+
$stock = get_product_meta( $item->ID, 'stock', true );
|
| 244 |
+
if ( ! empty( $stock ) )
|
| 245 |
+
$stock = absint( $stock );
|
| 246 |
?>
|
| 247 |
+
<input type="text" name="wpsc_variations[<?php echo $item->ID; ?>][stock]" value="<?php echo esc_attr( $stock ); ?>" />
|
| 248 |
<?php
|
| 249 |
}
|
| 250 |
|
wpsc-admin/includes/purchase-log-list-table-class.php
CHANGED
|
@@ -124,9 +124,10 @@ class WPSC_Purchase_Log_List_Table extends WP_List_Table {
|
|
| 124 |
$where[] = "MONTH(FROM_UNIXTIME(date)) = " . esc_sql( $month );
|
| 125 |
}
|
| 126 |
|
| 127 |
-
$selects
|
| 128 |
-
$this->joins = implode( ' ', $joins );
|
| 129 |
-
$this->where = implode( ' AND ', $where );
|
|
|
|
| 130 |
$limit = ( $this->per_page !== 0 ) ? "LIMIT {$offset}, {$this->per_page}" : '';
|
| 131 |
|
| 132 |
$orderby = empty( $_REQUEST['orderby'] ) ? 'p.id' : 'p.' . $_REQUEST['orderby'];
|
|
@@ -136,14 +137,14 @@ class WPSC_Purchase_Log_List_Table extends WP_List_Table {
|
|
| 136 |
$order = esc_sql( $order );
|
| 137 |
|
| 138 |
$submitted_data_log = WPSC_TABLE_SUBMITTED_FORM_DATA;
|
| 139 |
-
$purchase_log_sql = "
|
| 140 |
SELECT SQL_CALC_FOUND_ROWS {$selects}
|
| 141 |
FROM " . WPSC_TABLE_PURCHASE_LOGS . " AS p
|
| 142 |
{$this->joins}
|
| 143 |
WHERE {$this->where}
|
| 144 |
ORDER BY {$orderby} {$order}
|
| 145 |
{$limit}
|
| 146 |
-
";
|
| 147 |
|
| 148 |
$this->items = apply_filters( 'wpsc_manage_purchase_logs_items', $wpdb->get_results( $purchase_log_sql ) );
|
| 149 |
if ( $this->per_page ) {
|
|
@@ -155,7 +156,7 @@ class WPSC_Purchase_Log_List_Table extends WP_List_Table {
|
|
| 155 |
) );
|
| 156 |
}
|
| 157 |
|
| 158 |
-
$total_where = $this->where;
|
| 159 |
if ( $this->status == 'all' ) {
|
| 160 |
$total_where .= ' AND p.processed IN (2, 3, 4) ';
|
| 161 |
}
|
|
@@ -290,7 +291,7 @@ class WPSC_Purchase_Log_List_Table extends WP_List_Table {
|
|
| 290 |
'all' => sprintf(
|
| 291 |
'<a href="%s" %s>%s</a>',
|
| 292 |
esc_url( $all_href ),
|
| 293 |
-
|
| 294 |
$all_text
|
| 295 |
),
|
| 296 |
);
|
|
@@ -316,7 +317,7 @@ class WPSC_Purchase_Log_List_Table extends WP_List_Table {
|
|
| 316 |
$views[$status] = sprintf(
|
| 317 |
'<a href="%s" %s>%s</a>',
|
| 318 |
esc_url( $href ),
|
| 319 |
-
|
| 320 |
$text
|
| 321 |
);
|
| 322 |
}
|
|
@@ -524,4 +525,4 @@ class WPSC_Purchase_Log_List_Table extends WP_List_Table {
|
|
| 524 |
|
| 525 |
parent::search_box( $text, $input_id );
|
| 526 |
}
|
| 527 |
-
}
|
| 124 |
$where[] = "MONTH(FROM_UNIXTIME(date)) = " . esc_sql( $month );
|
| 125 |
}
|
| 126 |
|
| 127 |
+
$selects = apply_filters( 'wpsc_manage_purchase_logs_selects', implode( ', ', $selects ) );
|
| 128 |
+
$this->joins = apply_filters( 'wpsc_manage_purchase_logs_joins', implode( ' ', $joins ) );
|
| 129 |
+
$this->where = apply_filters( 'wpsc_manage_purchase_logs_where', implode( ' AND ', $where ) );
|
| 130 |
+
|
| 131 |
$limit = ( $this->per_page !== 0 ) ? "LIMIT {$offset}, {$this->per_page}" : '';
|
| 132 |
|
| 133 |
$orderby = empty( $_REQUEST['orderby'] ) ? 'p.id' : 'p.' . $_REQUEST['orderby'];
|
| 137 |
$order = esc_sql( $order );
|
| 138 |
|
| 139 |
$submitted_data_log = WPSC_TABLE_SUBMITTED_FORM_DATA;
|
| 140 |
+
$purchase_log_sql = apply_filters( 'wpsc_manage_purchase_logs_sql', "
|
| 141 |
SELECT SQL_CALC_FOUND_ROWS {$selects}
|
| 142 |
FROM " . WPSC_TABLE_PURCHASE_LOGS . " AS p
|
| 143 |
{$this->joins}
|
| 144 |
WHERE {$this->where}
|
| 145 |
ORDER BY {$orderby} {$order}
|
| 146 |
{$limit}
|
| 147 |
+
" );
|
| 148 |
|
| 149 |
$this->items = apply_filters( 'wpsc_manage_purchase_logs_items', $wpdb->get_results( $purchase_log_sql ) );
|
| 150 |
if ( $this->per_page ) {
|
| 156 |
) );
|
| 157 |
}
|
| 158 |
|
| 159 |
+
$total_where = apply_filters( 'wpsc_manage_purchase_logs_total_where', $this->where );
|
| 160 |
if ( $this->status == 'all' ) {
|
| 161 |
$total_where .= ' AND p.processed IN (2, 3, 4) ';
|
| 162 |
}
|
| 291 |
'all' => sprintf(
|
| 292 |
'<a href="%s" %s>%s</a>',
|
| 293 |
esc_url( $all_href ),
|
| 294 |
+
$all_class,
|
| 295 |
$all_text
|
| 296 |
),
|
| 297 |
);
|
| 317 |
$views[$status] = sprintf(
|
| 318 |
'<a href="%s" %s>%s</a>',
|
| 319 |
esc_url( $href ),
|
| 320 |
+
$class,
|
| 321 |
$text
|
| 322 |
);
|
| 323 |
}
|
| 525 |
|
| 526 |
parent::search_box( $text, $input_id );
|
| 527 |
}
|
| 528 |
+
}
|
wpsc-admin/includes/updating-functions.php
CHANGED
|
@@ -728,7 +728,7 @@ function wpsc_convert_variation_combinations() {
|
|
| 728 |
$post_data['_wpsc_product_metadata']['display_weight_as'] = $variation_item->weight_unit;
|
| 729 |
$post_data['_wpsc_product_metadata']['weight_unit'] = $variation_item->weight_unit;
|
| 730 |
|
| 731 |
-
// Parts of the code (eg
|
| 732 |
$post_data['_wpsc_special_price'] = 0;
|
| 733 |
$post_data['_wpsc_sku'] = '';
|
| 734 |
|
| 728 |
$post_data['_wpsc_product_metadata']['display_weight_as'] = $variation_item->weight_unit;
|
| 729 |
$post_data['_wpsc_product_metadata']['weight_unit'] = $variation_item->weight_unit;
|
| 730 |
|
| 731 |
+
// Parts of the code (eg wpsc_product_variation_price_from() make the assumption that these meta keys exist
|
| 732 |
$post_data['_wpsc_special_price'] = 0;
|
| 733 |
$post_data['_wpsc_sku'] = '';
|
| 734 |
|
wpsc-admin/init.php
CHANGED
|
@@ -140,12 +140,19 @@ function wpsc_purchase_log_csv() {
|
|
| 140 |
|
| 141 |
$output = '';
|
| 142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
foreach ( (array)$data as $purchase ) {
|
| 144 |
$form_headers = '';
|
| 145 |
$output .= "\"" . $purchase['id'] . "\","; //Purchase ID
|
| 146 |
$output .= "\"" . $purchase['totalprice'] . "\","; //Purchase Total
|
| 147 |
foreach ( (array)$form_data as $form_field ) {
|
| 148 |
-
$form_headers_array[] = $form_field['unique_name'];
|
| 149 |
$collected_data_sql = "SELECT * FROM `" . WPSC_TABLE_SUBMITTED_FORM_DATA . "` WHERE `log_id` = '" . $purchase['id'] . "' AND `form_id` = '" . $form_field['id'] . "' LIMIT 1";
|
| 150 |
$collected_data = $wpdb->get_results( $collected_data_sql, ARRAY_A );
|
| 151 |
$collected_data = $collected_data[0];
|
|
@@ -187,10 +194,10 @@ function wpsc_purchase_log_csv() {
|
|
| 187 |
$headers3[] = _x( 'SKU', 'purchase log csv headers', 'wpsc' );
|
| 188 |
}
|
| 189 |
|
| 190 |
-
$headers = '"' . implode( '","', $headers_array ) . '"';
|
| 191 |
-
$form_headers = '"' . implode( '","', $form_headers_array ) . '"';
|
| 192 |
-
$headers2 = '"' . implode( '","', $headers2_array ) . '"';
|
| 193 |
-
$headers3 = '"' . implode( '","', $
|
| 194 |
|
| 195 |
$headers = apply_filters( 'wpsc_purchase_log_csv_headers', $headers . $form_headers . $headers2 . $headers3, $data, $form_data );
|
| 196 |
$output = apply_filters( 'wpsc_purchase_log_csv_output', $output, $data, $form_data );
|
| 140 |
|
| 141 |
$output = '';
|
| 142 |
|
| 143 |
+
foreach ( (array)$form_data as $form_field ) {
|
| 144 |
+
if ( empty ( $form_field['unique_name'] ) ) {
|
| 145 |
+
$form_headers_array[] = $form_field['name'];
|
| 146 |
+
} else {
|
| 147 |
+
$form_headers_array[] = $form_field['unique_name'];
|
| 148 |
+
}
|
| 149 |
+
}
|
| 150 |
+
|
| 151 |
foreach ( (array)$data as $purchase ) {
|
| 152 |
$form_headers = '';
|
| 153 |
$output .= "\"" . $purchase['id'] . "\","; //Purchase ID
|
| 154 |
$output .= "\"" . $purchase['totalprice'] . "\","; //Purchase Total
|
| 155 |
foreach ( (array)$form_data as $form_field ) {
|
|
|
|
| 156 |
$collected_data_sql = "SELECT * FROM `" . WPSC_TABLE_SUBMITTED_FORM_DATA . "` WHERE `log_id` = '" . $purchase['id'] . "' AND `form_id` = '" . $form_field['id'] . "' LIMIT 1";
|
| 157 |
$collected_data = $wpdb->get_results( $collected_data_sql, ARRAY_A );
|
| 158 |
$collected_data = $collected_data[0];
|
| 194 |
$headers3[] = _x( 'SKU', 'purchase log csv headers', 'wpsc' );
|
| 195 |
}
|
| 196 |
|
| 197 |
+
$headers = '"' . implode( '","', $headers_array ) . '",';
|
| 198 |
+
$form_headers = '"' . implode( '","', $form_headers_array ) . '",';
|
| 199 |
+
$headers2 = '"' . implode( '","', $headers2_array ) . '",';
|
| 200 |
+
$headers3 = '"' . implode( '","', $headers3 ) . '"';
|
| 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 );
|
wpsc-core/js/sharethis.css
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
#wpsc_akst_form {
|
| 3 |
+
background: #999;
|
| 4 |
+
border: 1px solid #ddd;
|
| 5 |
+
display: none;
|
| 6 |
+
position: absolute;
|
| 7 |
+
width: 350px;
|
| 8 |
+
z-index: 999;
|
| 9 |
+
}
|
| 10 |
+
#wpsc_akst_form a.akst_close {
|
| 11 |
+
color: #fff;
|
| 12 |
+
float: right;
|
| 13 |
+
margin: 5px;
|
| 14 |
+
}
|
| 15 |
+
#wpsc_akst_form ul.tabs {
|
| 16 |
+
border: 1px solid #999;
|
| 17 |
+
list-style: none;
|
| 18 |
+
margin: 10px 10px 0 10px;
|
| 19 |
+
padding: 0;
|
| 20 |
+
}
|
| 21 |
+
#wpsc_akst_form ul.tabs li {
|
| 22 |
+
background: #ccc;
|
| 23 |
+
border-bottom: 1px solid #999;
|
| 24 |
+
cursor: pointer;
|
| 25 |
+
float: left;
|
| 26 |
+
margin: 0 3px 0 0;
|
| 27 |
+
padding: 3px 5px 2px 5px;
|
| 28 |
+
}
|
| 29 |
+
#wpsc_akst_form ul.tabs li.selected {
|
| 30 |
+
background: #fff;
|
| 31 |
+
border-bottom: 1px solid #fff;
|
| 32 |
+
cursor: default;
|
| 33 |
+
padding: 4px 5px 1px 5px;
|
| 34 |
+
}
|
| 35 |
+
#wpsc_akst_form div.clear {
|
| 36 |
+
clear: both;
|
| 37 |
+
float: none;
|
| 38 |
+
}
|
| 39 |
+
#wpsc_akst_social,
|
| 40 |
+
#wpsc_akst_email {
|
| 41 |
+
background: #fff;
|
| 42 |
+
border: 1px solid #fff;
|
| 43 |
+
padding: 10px;
|
| 44 |
+
}
|
| 45 |
+
#wpsc_akst_social ul {
|
| 46 |
+
list-style: none;
|
| 47 |
+
margin: 0;
|
| 48 |
+
padding: 0;
|
| 49 |
+
}
|
| 50 |
+
#wpsc_akst_social ul li {
|
| 51 |
+
float: left;
|
| 52 |
+
margin: 0;
|
| 53 |
+
padding: 0;
|
| 54 |
+
width: 45%;
|
| 55 |
+
}
|
| 56 |
+
#wpsc_akst_social ul li a {
|
| 57 |
+
background-position: 0px 2px;
|
| 58 |
+
background-repeat: no-repeat;
|
| 59 |
+
display: block;
|
| 60 |
+
float: left;
|
| 61 |
+
height: 24px;
|
| 62 |
+
padding: 4px 0 0 22px;
|
| 63 |
+
vertical-align: middle;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
#wpsc_akst_delicious { background-image: url(../wpsc-core/images/social_networking/delicious.gif); }
|
| 67 |
+
#wpsc_akst_digg { background-image: url(../wpsc-core/images/social_networking/digg.gif); }
|
| 68 |
+
#wpsc_akst_furl { background-image: url(../wpsc-core/images/social_networking/furl.gif); }
|
| 69 |
+
#wpsc_akst_netscape { background-image: url(../wpsc-core/images/social_networking/netscape.gif); }
|
| 70 |
+
#wpsc_akst_yahoo_myweb { background-image: url(../wpsc-core/images/social_networking/yahoo_myweb.gif); }
|
| 71 |
+
#wpsc_akst_stumbleupon { background-image: url(../wpsc-core/images/social_networking/stumbleupon.gif); }
|
| 72 |
+
#wpsc_akst_google_bmarks { background-image: url(../wpsc-core/images/social_networking/google_bmarks.gif); }
|
| 73 |
+
#wpsc_akst_technorati { background-image: url(../wpsc-core/images/social_networking/technorati.gif); }
|
| 74 |
+
#wpsc_akst_blinklist { background-image: url(../wpsc-core/images/social_networking/blinklist.gif); }
|
| 75 |
+
#wpsc_akst_newsvine { background-image: url(../wpsc-core/images/social_networking/newsvine.gif); }
|
| 76 |
+
#wpsc_akst_magnolia { background-image: url(../wpsc-core/images/social_networking/magnolia.gif); }
|
| 77 |
+
#wpsc_akst_reddit { background-image: url(../wpsc-core/images/social_networking/reddit.gif); }
|
| 78 |
+
#wpsc_akst_windows_live { background-image: url(../wpsc-core/images/social_networking/windows_live.gif); }
|
| 79 |
+
#wpsc_akst_tailrank { background-image: url(../wpsc-core/images/social_networking/tailrank.gif); }
|
| 80 |
+
|
| 81 |
+
#wpsc_akst_email {
|
| 82 |
+
display: none;
|
| 83 |
+
text-align: left;
|
| 84 |
+
}
|
| 85 |
+
#wpsc_akst_email form,
|
| 86 |
+
#wpsc_akst_email fieldset {
|
| 87 |
+
border: 0;
|
| 88 |
+
margin: 0;
|
| 89 |
+
padding: 0;
|
| 90 |
+
}
|
| 91 |
+
#wpsc_akst_email fieldset legend {
|
| 92 |
+
display: none;
|
| 93 |
+
}
|
| 94 |
+
#wpsc_akst_email ul {
|
| 95 |
+
list-style: none;
|
| 96 |
+
margin: 0;
|
| 97 |
+
padding: 0;
|
| 98 |
+
}
|
| 99 |
+
#wpsc_akst_email ul li {
|
| 100 |
+
margin: 0 0 7px 0;
|
| 101 |
+
padding: 0;
|
| 102 |
+
}
|
| 103 |
+
#wpsc_akst_email ul li label {
|
| 104 |
+
color: #555;
|
| 105 |
+
display: block;
|
| 106 |
+
margin-bottom: 3px;
|
| 107 |
+
}
|
| 108 |
+
#wpsc_akst_email ul li input {
|
| 109 |
+
padding: 3px 10px;
|
| 110 |
+
}
|
| 111 |
+
#wpsc_akst_email ul li input.akst_text {
|
| 112 |
+
padding: 3px;
|
| 113 |
+
width: 280px;
|
| 114 |
+
}
|
| 115 |
+
.wpsc_akst_share_link {
|
| 116 |
+
display: block;
|
| 117 |
+
margin: 0px 0px 6px 0px;
|
| 118 |
+
width: 119px;
|
| 119 |
+
}
|
wpsc-core/js/sharethis.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
// The following is all for Share this.
|
| 3 |
+
function wpsc_akst_share(id, url, title) {
|
| 4 |
+
if ((jQuery('#wpsc_akst_form').css("display") == 'block') && (jQuery('#wpsc_akst_post_id').attr("value") == id)) {
|
| 5 |
+
jQuery('#wpsc_akst_form').css("display", "none");
|
| 6 |
+
return;
|
| 7 |
+
}
|
| 8 |
+
|
| 9 |
+
var offset = {};
|
| 10 |
+
new_container_offset = jQuery('#wpsc_akst_link_' + id).offset();
|
| 11 |
+
|
| 12 |
+
if (offset['left'] == null) {
|
| 13 |
+
offset['left'] = new_container_offset.left;
|
| 14 |
+
offset['top'] = new_container_offset.top;
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
jQuery("#wpsc_akst_delicious").attr("href", wpsc_akst_share_url("http://del.icio.us/post?url={url}&title={title}", url, title));
|
| 18 |
+
jQuery("#wpsc_akst_digg").attr("href", wpsc_akst_share_url("http://digg.com/submit?phase=2&url={url}&title={title}", url, title));
|
| 19 |
+
jQuery("#wpsc_akst_furl").attr("href", wpsc_akst_share_url("http://furl.net/storeIt.jsp?u={url}&t={title}", url, title));
|
| 20 |
+
jQuery("#wpsc_akst_netscape").attr("href", wpsc_akst_share_url(" http://www.netscape.com/submit/?U={url}&T={title}", url, title));
|
| 21 |
+
jQuery("#wpsc_akst_yahoo_myweb").attr("href", wpsc_akst_share_url("http://myweb2.search.yahoo.com/myresults/bookmarklet?u={url}&t={title}", url, title));
|
| 22 |
+
jQuery("#wpsc_akst_stumbleupon").attr("href", wpsc_akst_share_url("http://www.stumbleupon.com/submit?url={url}&title={title}", url, title));
|
| 23 |
+
jQuery("#wpsc_akst_google_bmarks").attr("href", wpsc_akst_share_url(" http://www.google.com/bookmarks/mark?op=edit&bkmk={url}&title={title}", url, title));
|
| 24 |
+
jQuery("#wpsc_akst_technorati").attr("href", wpsc_akst_share_url("http://www.technorati.com/faves?add={url}", url, title));
|
| 25 |
+
jQuery("#wpsc_akst_blinklist").attr("href", wpsc_akst_share_url("http://blinklist.com/index.php?Action=Blink/addblink.php&Url={url}&Title={title}", url, title));
|
| 26 |
+
jQuery("#wpsc_akst_newsvine").attr("href", wpsc_akst_share_url("http://www.newsvine.com/_wine/save?u={url}&h={title}", url, title));
|
| 27 |
+
jQuery("#wpsc_akst_magnolia").attr("href", wpsc_akst_share_url("http://ma.gnolia.com/bookmarklet/add?url={url}&title={title}", url, title));
|
| 28 |
+
jQuery("#wpsc_akst_reddit").attr("href", wpsc_akst_share_url("http://reddit.com/submit?url={url}&title={title}", url, title));
|
| 29 |
+
jQuery("#wpsc_akst_windows_live").attr("href", wpsc_akst_share_url("https://favorites.live.com/quickadd.aspx?marklet=1&mkt=en-us&url={url}&title={title}&top=1", url, title));
|
| 30 |
+
jQuery("#wpsc_akst_tailrank").attr("href", wpsc_akst_share_url("http://tailrank.com/share/?link_href={url}&title={title}", url, title));
|
| 31 |
+
|
| 32 |
+
jQuery('#wpsc_akst_post_id').value = id;
|
| 33 |
+
jQuery('#wpsc_akst_form').css("left", offset['left'] + 'px');
|
| 34 |
+
jQuery('#wpsc_akst_form').css("top", (offset['top']+ 14 + 3) + 'px');
|
| 35 |
+
jQuery('#wpsc_akst_form').css("display", 'block');
|
| 36 |
+
}
|
| 37 |
+
|
| 38 |
+
function wpsc_akst_share_url(base, url, title) {
|
| 39 |
+
base = base.replace('{url}', url);
|
| 40 |
+
return base.replace('{title}', title);
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
function wpsc_akst_share_tab(tab) {
|
| 44 |
+
var tab1 = document.getElementById('wpsc_akst_tab1');
|
| 45 |
+
var tab2 = document.getElementById('wpsc_akst_tab2');
|
| 46 |
+
var body1 = document.getElementById('wpsc_akst_social');
|
| 47 |
+
var body2 = document.getElementById('wpsc_akst_email');
|
| 48 |
+
|
| 49 |
+
switch (tab) {
|
| 50 |
+
case '1':
|
| 51 |
+
tab2.className = '';
|
| 52 |
+
tab1.className = 'selected';
|
| 53 |
+
body2.style.display = 'none';
|
| 54 |
+
body1.style.display = 'block';
|
| 55 |
+
break;
|
| 56 |
+
case '2':
|
| 57 |
+
tab1.className = '';
|
| 58 |
+
tab2.className = 'selected';
|
| 59 |
+
body1.style.display = 'none';
|
| 60 |
+
body2.style.display = 'block';
|
| 61 |
+
break;
|
| 62 |
+
}
|
| 63 |
+
}
|
wpsc-core/js/wp-e-commerce.js
CHANGED
|
@@ -1,67 +1,3 @@
|
|
| 1 |
-
//The following is all for Share this.
|
| 2 |
-
function wpsc_akst_share(id, url, title) {
|
| 3 |
-
if ((jQuery('#wpsc_akst_form').css("display") == 'block') && (jQuery('#wpsc_akst_post_id').attr("value") == id)) {
|
| 4 |
-
jQuery('#wpsc_akst_form').css("display", "none");
|
| 5 |
-
return;
|
| 6 |
-
}
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
var offset = {};
|
| 10 |
-
new_container_offset = jQuery('#wpsc_akst_link_' + id).offset();
|
| 11 |
-
|
| 12 |
-
if(offset['left'] == null) {
|
| 13 |
-
offset['left'] = new_container_offset.left;
|
| 14 |
-
offset['top'] = new_container_offset.top;
|
| 15 |
-
}
|
| 16 |
-
|
| 17 |
-
jQuery("#wpsc_akst_delicious").attr("href", wpsc_akst_share_url("http://del.icio.us/post?url={url}&title={title}", url, title));
|
| 18 |
-
jQuery("#wpsc_akst_digg").attr("href", wpsc_akst_share_url("http://digg.com/submit?phase=2&url={url}&title={title}", url, title));
|
| 19 |
-
jQuery("#wpsc_akst_furl").attr("href", wpsc_akst_share_url("http://furl.net/storeIt.jsp?u={url}&t={title}", url, title));
|
| 20 |
-
jQuery("#wpsc_akst_netscape").attr("href", wpsc_akst_share_url(" http://www.netscape.com/submit/?U={url}&T={title}", url, title));
|
| 21 |
-
jQuery("#wpsc_akst_yahoo_myweb").attr("href", wpsc_akst_share_url("http://myweb2.search.yahoo.com/myresults/bookmarklet?u={url}&t={title}", url, title));
|
| 22 |
-
jQuery("#wpsc_akst_stumbleupon").attr("href", wpsc_akst_share_url("http://www.stumbleupon.com/submit?url={url}&title={title}", url, title));
|
| 23 |
-
jQuery("#wpsc_akst_google_bmarks").attr("href", wpsc_akst_share_url(" http://www.google.com/bookmarks/mark?op=edit&bkmk={url}&title={title}", url, title));
|
| 24 |
-
jQuery("#wpsc_akst_technorati").attr("href", wpsc_akst_share_url("http://www.technorati.com/faves?add={url}", url, title));
|
| 25 |
-
jQuery("#wpsc_akst_blinklist").attr("href", wpsc_akst_share_url("http://blinklist.com/index.php?Action=Blink/addblink.php&Url={url}&Title={title}", url, title));
|
| 26 |
-
jQuery("#wpsc_akst_newsvine").attr("href", wpsc_akst_share_url("http://www.newsvine.com/_wine/save?u={url}&h={title}", url, title));
|
| 27 |
-
jQuery("#wpsc_akst_magnolia").attr("href", wpsc_akst_share_url("http://ma.gnolia.com/bookmarklet/add?url={url}&title={title}", url, title));
|
| 28 |
-
jQuery("#wpsc_akst_reddit").attr("href", wpsc_akst_share_url("http://reddit.com/submit?url={url}&title={title}", url, title));
|
| 29 |
-
jQuery("#wpsc_akst_windows_live").attr("href", wpsc_akst_share_url("https://favorites.live.com/quickadd.aspx?marklet=1&mkt=en-us&url={url}&title={title}&top=1", url, title));
|
| 30 |
-
jQuery("#wpsc_akst_tailrank").attr("href", wpsc_akst_share_url("http://tailrank.com/share/?link_href={url}&title={title}", url, title));
|
| 31 |
-
|
| 32 |
-
jQuery('#wpsc_akst_post_id').value = id;
|
| 33 |
-
jQuery('#wpsc_akst_form').css("left", offset['left'] + 'px');
|
| 34 |
-
jQuery('#wpsc_akst_form').css("top", (offset['top']+ 14 + 3) + 'px');
|
| 35 |
-
jQuery('#wpsc_akst_form').css("display", 'block');
|
| 36 |
-
}
|
| 37 |
-
|
| 38 |
-
function wpsc_akst_share_url(base, url, title) {
|
| 39 |
-
base = base.replace('{url}', url);
|
| 40 |
-
return base.replace('{title}', title);
|
| 41 |
-
}
|
| 42 |
-
|
| 43 |
-
function wpsc_akst_share_tab(tab) {
|
| 44 |
-
var tab1 = document.getElementById('wpsc_akst_tab1');
|
| 45 |
-
var tab2 = document.getElementById('wpsc_akst_tab2');
|
| 46 |
-
var body1 = document.getElementById('wpsc_akst_social');
|
| 47 |
-
var body2 = document.getElementById('wpsc_akst_email');
|
| 48 |
-
|
| 49 |
-
switch (tab) {
|
| 50 |
-
case '1':
|
| 51 |
-
tab2.className = '';
|
| 52 |
-
tab1.className = 'selected';
|
| 53 |
-
body2.style.display = 'none';
|
| 54 |
-
body1.style.display = 'block';
|
| 55 |
-
break;
|
| 56 |
-
case '2':
|
| 57 |
-
tab1.className = '';
|
| 58 |
-
tab2.className = 'selected';
|
| 59 |
-
body1.style.display = 'none';
|
| 60 |
-
body2.style.display = 'block';
|
| 61 |
-
break;
|
| 62 |
-
}
|
| 63 |
-
}
|
| 64 |
-
//End Share this JS
|
| 65 |
|
| 66 |
function wpsc_shipping_same_as_billing(){
|
| 67 |
var billing_state_input = jQuery('input[title="billingstate"]');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
|
| 2 |
function wpsc_shipping_same_as_billing(){
|
| 3 |
var billing_state_input = jQuery('input[title="billingstate"]');
|
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.10
|
| 34 |
-
define( 'WPSC_MINOR_VERSION', '
|
| 35 |
-
define( 'WPSC_PRESENTABLE_VERSION', '3.8.10
|
| 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.10' );
|
| 34 |
+
define( 'WPSC_MINOR_VERSION', '43bd4ec9a6' );
|
| 35 |
+
define( 'WPSC_PRESENTABLE_VERSION', '3.8.10' );
|
| 36 |
define( 'WPSC_DB_VERSION', 3 );
|
| 37 |
|
| 38 |
// Define Debug Variables for developers
|
wpsc-core/wpsc-deprecated.php
CHANGED
|
@@ -1320,3 +1320,24 @@ function wpsc_rage_where( $where ) {
|
|
| 1320 |
_wpsc_deprecated_function( __FUNCTION__, '3.8.8', 'wpsc_range_where()' );
|
| 1321 |
return wpsc_range_where( $where );
|
| 1322 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1320 |
_wpsc_deprecated_function( __FUNCTION__, '3.8.8', 'wpsc_range_where()' );
|
| 1321 |
return wpsc_range_where( $where );
|
| 1322 |
}
|
| 1323 |
+
|
| 1324 |
+
/**
|
| 1325 |
+
* WPSC Product Variation Price Available
|
| 1326 |
+
* Gets the formatted lowest price of a product's available variations.
|
| 1327 |
+
*
|
| 1328 |
+
* @param $product_id (int) Product ID
|
| 1329 |
+
* @param $from_text (string) From text with price placeholder eg. 'from %s'
|
| 1330 |
+
* @param $only_normal_price (bool) Don't show sale price
|
| 1331 |
+
* @return (string) Number formatted price
|
| 1332 |
+
*
|
| 1333 |
+
* @uses wpsc_product_variation_price_from()
|
| 1334 |
+
*/
|
| 1335 |
+
function wpsc_product_variation_price_available( $product_id, $from_text = false, $only_normal_price = false ) {
|
| 1336 |
+
_wpsc_deprecated_function( __FUNCTION__, '3.8.10', 'wpsc_product_variation_price_from()' );
|
| 1337 |
+
$args = array(
|
| 1338 |
+
'from_text' => $from_text,
|
| 1339 |
+
'only_normal_price' => $only_normal_price,
|
| 1340 |
+
'only_in_stock' => true
|
| 1341 |
+
);
|
| 1342 |
+
return wpsc_product_variation_price_from( $product_id, $args );
|
| 1343 |
+
}
|
wpsc-core/wpsc-functions.php
CHANGED
|
@@ -741,7 +741,7 @@ function wpsc_start_the_query() {
|
|
| 741 |
$wpsc_query_vars['term'] = get_query_var( 'term' );
|
| 742 |
}else{
|
| 743 |
$wpsc_query_vars['post_type'] = 'wpsc-product';
|
| 744 |
-
$wpsc_query_vars['pagename']
|
| 745 |
}
|
| 746 |
if(1 == get_option('use_pagination')){
|
| 747 |
$wpsc_query_vars['nopaging'] = false;
|
|
@@ -1903,3 +1903,18 @@ function wpsc_get_product_terms( $product_id, $tax, $field = '' ) {
|
|
| 1903 |
return $terms;
|
| 1904 |
}
|
| 1905 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 741 |
$wpsc_query_vars['term'] = get_query_var( 'term' );
|
| 742 |
}else{
|
| 743 |
$wpsc_query_vars['post_type'] = 'wpsc-product';
|
| 744 |
+
$wpsc_query_vars['pagename'] = wpsc_get_page_slug( '[productspage]' );
|
| 745 |
}
|
| 746 |
if(1 == get_option('use_pagination')){
|
| 747 |
$wpsc_query_vars['nopaging'] = false;
|
| 1903 |
return $terms;
|
| 1904 |
}
|
| 1905 |
|
| 1906 |
+
/**
|
| 1907 |
+
* Returns page slug that corresponds to a given WPEC-specific shortcode.
|
| 1908 |
+
*
|
| 1909 |
+
* @since 3.8.10
|
| 1910 |
+
*
|
| 1911 |
+
* @uses wpsc_get_the_post_id_by_shortcode() Gets page ID of shortcode.
|
| 1912 |
+
* @uses get_post_field() Returns post name of page ID.
|
| 1913 |
+
*
|
| 1914 |
+
* @param string $shortcode Shortcode of WPEC-specific page, e.g. '[productspage]''
|
| 1915 |
+
* @return string Post slug
|
| 1916 |
+
*/
|
| 1917 |
+
function wpsc_get_page_slug( $shortcode ) {
|
| 1918 |
+
$id = wpsc_get_the_post_id_by_shortcode( $shortcode );
|
| 1919 |
+
return get_post_field( 'post_name', $id );
|
| 1920 |
+
}
|
wpsc-core/wpsc-installer.php
CHANGED
|
@@ -142,6 +142,7 @@ function wpsc_install() {
|
|
| 142 |
add_option( 'do_not_use_shipping', '1', '', 'yes' );
|
| 143 |
|
| 144 |
add_option( 'postage_and_packaging', '0','', 'yes' );
|
|
|
|
| 145 |
|
| 146 |
add_option( 'purch_log_email', '', '', 'yes' );
|
| 147 |
add_option( 'return_email', '', '', 'yes' );
|
|
@@ -811,4 +812,4 @@ function wpsc_3882_database_updates() {
|
|
| 811 |
// Update option to database to indicate that we have patched this.
|
| 812 |
update_option( 'wpsc_version', '3.8.8.2' );
|
| 813 |
|
| 814 |
-
}
|
| 142 |
add_option( 'do_not_use_shipping', '1', '', 'yes' );
|
| 143 |
|
| 144 |
add_option( 'postage_and_packaging', '0','', 'yes' );
|
| 145 |
+
add_option( 'shipwire', '0', '', 'yes' );
|
| 146 |
|
| 147 |
add_option( 'purch_log_email', '', '', 'yes' );
|
| 148 |
add_option( 'return_email', '', '', 'yes' );
|
| 812 |
// Update option to database to indicate that we have patched this.
|
| 813 |
update_option( 'wpsc_version', '3.8.8.2' );
|
| 814 |
|
| 815 |
+
}
|
wpsc-includes/country.class.php
CHANGED
|
@@ -1,6 +1,5 @@
|
|
| 1 |
<?php
|
| 2 |
-
class WPSC_Country
|
| 3 |
-
{
|
| 4 |
private static $string_cols = array(
|
| 5 |
'country',
|
| 6 |
'isocode',
|
|
@@ -338,4 +337,4 @@ function wpsc_get_country_dropdown( $args = '' ) {
|
|
| 338 |
|
| 339 |
function wpsc_country_dropdown( $args = '' ) {
|
| 340 |
echo wpsc_get_country_dropdown( $args );
|
| 341 |
-
}
|
| 1 |
<?php
|
| 2 |
+
class WPSC_Country {
|
|
|
|
| 3 |
private static $string_cols = array(
|
| 4 |
'country',
|
| 5 |
'isocode',
|
| 337 |
|
| 338 |
function wpsc_country_dropdown( $args = '' ) {
|
| 339 |
echo wpsc_get_country_dropdown( $args );
|
| 340 |
+
}
|
wpsc-includes/meta.functions.php
CHANGED
|
@@ -267,4 +267,3 @@ class wpsc_custom_meta {
|
|
| 267 |
}
|
| 268 |
}
|
| 269 |
}
|
| 270 |
-
?>
|
| 267 |
}
|
| 268 |
}
|
| 269 |
}
|
|
|
wpsc-includes/processing.functions.php
CHANGED
|
@@ -139,7 +139,7 @@ function wpsc_decrement_claimed_stock($purchase_log_id) {
|
|
| 139 |
if ( ! empty( $product_meta["unpublish_when_none_left"] ) ) {
|
| 140 |
$result = wp_update_post( array(
|
| 141 |
'ID' => $product->ID,
|
| 142 |
-
'post_status' =>
|
| 143 |
) );
|
| 144 |
|
| 145 |
if ( $result )
|
| 139 |
if ( ! empty( $product_meta["unpublish_when_none_left"] ) ) {
|
| 140 |
$result = wp_update_post( array(
|
| 141 |
'ID' => $product->ID,
|
| 142 |
+
'post_status' => 'draft',
|
| 143 |
) );
|
| 144 |
|
| 145 |
if ( $result )
|
wpsc-includes/product-template.php
CHANGED
|
@@ -355,30 +355,44 @@ function wpsc_show_pnp(){
|
|
| 355 |
return true;
|
| 356 |
return false;
|
| 357 |
}
|
|
|
|
| 358 |
/**
|
| 359 |
-
*
|
| 360 |
-
*
|
| 361 |
-
*
|
| 362 |
-
* @
|
| 363 |
-
|
| 364 |
-
|
| 365 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 366 |
global $wpdb;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 367 |
|
| 368 |
if ( isset( $price_data[$product_id] ) ) {
|
| 369 |
$results = $price_data[$product_id];
|
| 370 |
} else {
|
|
|
|
|
|
|
|
|
|
| 371 |
$sql = $wpdb->prepare( "
|
| 372 |
SELECT pm.meta_value AS price, pm2.meta_value AS special_price
|
| 373 |
FROM {$wpdb->posts} AS p
|
| 374 |
INNER JOIN {$wpdb->postmeta} AS pm ON pm.post_id = p.id AND pm.meta_key = '_wpsc_price'
|
| 375 |
INNER JOIN {$wpdb->postmeta} AS pm2 ON pm2.post_id = p.id AND pm2.meta_key = '_wpsc_special_price'
|
| 376 |
-
|
| 377 |
-
|
| 378 |
-
|
| 379 |
-
p.post_type = 'wpsc-product'
|
| 380 |
-
AND
|
| 381 |
-
p.post_parent = %d
|
| 382 |
", $product_id );
|
| 383 |
|
| 384 |
$results = $wpdb->get_results( $sql );
|
|
@@ -389,7 +403,7 @@ function wpsc_product_variation_price_available( $product_id, $from_text = false
|
|
| 389 |
|
| 390 |
foreach ( $results as $row ) {
|
| 391 |
$price = (float) $row->price;
|
| 392 |
-
if ( ! $only_normal_price ) {
|
| 393 |
$special_price = (float) $row->special_price;
|
| 394 |
if ( $special_price != 0 && $special_price < $price )
|
| 395 |
$price = $special_price;
|
|
@@ -404,10 +418,10 @@ function wpsc_product_variation_price_available( $product_id, $from_text = false
|
|
| 404 |
$price = wpsc_currency_display( $price, array( 'display_as_html' => false ) );
|
| 405 |
|
| 406 |
if ( isset( $prices[0] ) && $prices[0] == $prices[count( $prices ) - 1] )
|
| 407 |
-
$from_text = false;
|
| 408 |
|
| 409 |
-
if ( $from_text )
|
| 410 |
-
$price = sprintf( $from_text, $price );
|
| 411 |
|
| 412 |
return $price;
|
| 413 |
}
|
|
@@ -422,8 +436,18 @@ function wpsc_product_normal_price() {
|
|
| 422 |
}
|
| 423 |
|
| 424 |
/**
|
| 425 |
-
*
|
| 426 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 427 |
*/
|
| 428 |
function wpsc_the_product_price( $no_decimals = false, $only_normal_price = false, $product_id = 0 ) {
|
| 429 |
global $wpsc_query, $wpsc_variations, $wpdb;
|
|
@@ -434,7 +458,10 @@ function wpsc_the_product_price( $no_decimals = false, $only_normal_price = fals
|
|
| 434 |
if ( wpsc_product_has_variations( $product_id ) ) {
|
| 435 |
$from_text = __( ' from %s', 'wpsc' );
|
| 436 |
$from_text = apply_filters( 'wpsc_product_variation_text', $from_text );
|
| 437 |
-
$output =
|
|
|
|
|
|
|
|
|
|
| 438 |
} else {
|
| 439 |
$price = $full_price = get_post_meta( $product_id, '_wpsc_price', true );
|
| 440 |
|
|
@@ -1850,6 +1877,26 @@ function wpsc_product_has_variations( $id = 0 ) {
|
|
| 1850 |
return $has_variations[$id];
|
| 1851 |
}
|
| 1852 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1853 |
function wpsc_the_product_price_display( $args = array() ) {
|
| 1854 |
if ( empty( $args['id'] ) )
|
| 1855 |
$id = get_the_ID();
|
|
@@ -1906,8 +1953,8 @@ function wpsc_the_product_price_display( $args = array() ) {
|
|
| 1906 |
// a specific variation
|
| 1907 |
$show_you_save = false;
|
| 1908 |
|
| 1909 |
-
$old_price_number =
|
| 1910 |
-
$current_price_number =
|
| 1911 |
|
| 1912 |
// if coincidentally, one of the variations are not on special, but its price is equal to
|
| 1913 |
// or lower than the lowest variation sale price, old price should be hidden, and current
|
| 355 |
return true;
|
| 356 |
return false;
|
| 357 |
}
|
| 358 |
+
|
| 359 |
/**
|
| 360 |
+
* WPSC Product Variation Price From
|
| 361 |
+
* Gets the formatted lowest price of a product's variations.
|
| 362 |
+
*
|
| 363 |
+
* @since 3.8.10
|
| 364 |
+
*
|
| 365 |
+
* @param $product_id (int) Product ID
|
| 366 |
+
* @param $args (array) Array of options
|
| 367 |
+
* @return (string) Number formatted price
|
| 368 |
+
*
|
| 369 |
+
* @uses apply_filters() Calls 'wpsc_do_convert_price' passing price and product ID.
|
| 370 |
+
* @uses wpsc_currency_display() Passing price and args.
|
| 371 |
+
*/
|
| 372 |
+
function wpsc_product_variation_price_from( $product_id, $args = null ) {
|
| 373 |
global $wpdb;
|
| 374 |
+
$args = wp_parse_args( $args, array(
|
| 375 |
+
'from_text' => false,
|
| 376 |
+
'only_normal_price' => false,
|
| 377 |
+
'only_in_stock' => false
|
| 378 |
+
) );
|
| 379 |
+
|
| 380 |
+
static $price_data = array();
|
| 381 |
|
| 382 |
if ( isset( $price_data[$product_id] ) ) {
|
| 383 |
$results = $price_data[$product_id];
|
| 384 |
} else {
|
| 385 |
+
$stock_sql = '';
|
| 386 |
+
if ( $args['only_in_stock'] )
|
| 387 |
+
$stock_sql = "INNER JOIN {$wpdb->postmeta} AS pm3 ON pm3.post_id = p.id AND pm3.meta_key = '_wpsc_stock' AND pm3.meta_value != '0'";
|
| 388 |
$sql = $wpdb->prepare( "
|
| 389 |
SELECT pm.meta_value AS price, pm2.meta_value AS special_price
|
| 390 |
FROM {$wpdb->posts} AS p
|
| 391 |
INNER JOIN {$wpdb->postmeta} AS pm ON pm.post_id = p.id AND pm.meta_key = '_wpsc_price'
|
| 392 |
INNER JOIN {$wpdb->postmeta} AS pm2 ON pm2.post_id = p.id AND pm2.meta_key = '_wpsc_special_price'
|
| 393 |
+
$stock_sql
|
| 394 |
+
WHERE p.post_type = 'wpsc-product'
|
| 395 |
+
AND p.post_parent = %d
|
|
|
|
|
|
|
|
|
|
| 396 |
", $product_id );
|
| 397 |
|
| 398 |
$results = $wpdb->get_results( $sql );
|
| 403 |
|
| 404 |
foreach ( $results as $row ) {
|
| 405 |
$price = (float) $row->price;
|
| 406 |
+
if ( ! $args['only_normal_price'] ) {
|
| 407 |
$special_price = (float) $row->special_price;
|
| 408 |
if ( $special_price != 0 && $special_price < $price )
|
| 409 |
$price = $special_price;
|
| 418 |
$price = wpsc_currency_display( $price, array( 'display_as_html' => false ) );
|
| 419 |
|
| 420 |
if ( isset( $prices[0] ) && $prices[0] == $prices[count( $prices ) - 1] )
|
| 421 |
+
$args['from_text'] = false;
|
| 422 |
|
| 423 |
+
if ( $args['from_text'] )
|
| 424 |
+
$price = sprintf( $args['from_text'], $price );
|
| 425 |
|
| 426 |
return $price;
|
| 427 |
}
|
| 436 |
}
|
| 437 |
|
| 438 |
/**
|
| 439 |
+
* WPSC Product Price
|
| 440 |
+
*
|
| 441 |
+
* @param $no_decimals (bool) Don't show decimals
|
| 442 |
+
* @param $only_normal_price (bool) Don't show sale price
|
| 443 |
+
* @param $product_id (int) Product ID
|
| 444 |
+
* @return (string) Formatted product price
|
| 445 |
+
*
|
| 446 |
+
* @uses apply_filters() Calls 'wpsc_product_variation_text' passing "from" text.
|
| 447 |
+
* @uses apply_filters() Calls 'wpsc_do_convert_price' passing price and product ID.
|
| 448 |
+
* @uses wpsc_product_has_variations() Check if product has variations passing product ID.
|
| 449 |
+
* @uses wpsc_product_variation_price_from() Passing product ID and options.
|
| 450 |
+
* @uses wpsc_currency_display() Passing price and args.
|
| 451 |
*/
|
| 452 |
function wpsc_the_product_price( $no_decimals = false, $only_normal_price = false, $product_id = 0 ) {
|
| 453 |
global $wpsc_query, $wpsc_variations, $wpdb;
|
| 458 |
if ( wpsc_product_has_variations( $product_id ) ) {
|
| 459 |
$from_text = __( ' from %s', 'wpsc' );
|
| 460 |
$from_text = apply_filters( 'wpsc_product_variation_text', $from_text );
|
| 461 |
+
$output = wpsc_product_variation_price_from( $product_id, array(
|
| 462 |
+
'from_text' => $from_text,
|
| 463 |
+
'only_normal_price' => $only_normal_price
|
| 464 |
+
) );
|
| 465 |
} else {
|
| 466 |
$price = $full_price = get_post_meta( $product_id, '_wpsc_price', true );
|
| 467 |
|
| 1877 |
return $has_variations[$id];
|
| 1878 |
}
|
| 1879 |
|
| 1880 |
+
/**
|
| 1881 |
+
* WPSC The Product Price Display
|
| 1882 |
+
*
|
| 1883 |
+
* @param $args (array) Array of args.
|
| 1884 |
+
* @return (string) HTML formatted prices
|
| 1885 |
+
*
|
| 1886 |
+
* @uses apply_filters() Calls 'wpsc_the_product_price_display_old_price_class' passing class and product ID
|
| 1887 |
+
* @uses apply_filters() Calls 'wpsc_the_product_price_display_old_price_amount_class' passing class and product ID
|
| 1888 |
+
* @uses apply_filters() Calls 'wpsc_the_product_price_display_price_class' passing class and product ID
|
| 1889 |
+
* @uses apply_filters() Calls 'wpsc_the_product_price_display_price_amount_class' passing class and product ID
|
| 1890 |
+
* @uses apply_filters() Calls 'wpsc_the_product_price_display_you_save_class' passing class and product ID
|
| 1891 |
+
* @uses apply_filters() Calls 'wpsc_the_product_price_display_you_save_amount_class' passing class and product ID
|
| 1892 |
+
* @uses wpsc_product_normal_price() Get the normal price
|
| 1893 |
+
* @uses wpsc_the_product_price() Get the current price
|
| 1894 |
+
* @uses wpsc_you_save() Get pricing saving
|
| 1895 |
+
* @uses wpsc_product_on_special() Is product on sale?
|
| 1896 |
+
* @uses wpsc_product_has_variations() Checks if product has variations
|
| 1897 |
+
* @uses wpsc_product_variation_price_from() Gets the lowest variation price
|
| 1898 |
+
* @uses wpsc_currency_display() Display price as currency
|
| 1899 |
+
*/
|
| 1900 |
function wpsc_the_product_price_display( $args = array() ) {
|
| 1901 |
if ( empty( $args['id'] ) )
|
| 1902 |
$id = get_the_ID();
|
| 1953 |
// a specific variation
|
| 1954 |
$show_you_save = false;
|
| 1955 |
|
| 1956 |
+
$old_price_number = wpsc_product_variation_price_from( $id, array( 'only_normal_price' => true ) );
|
| 1957 |
+
$current_price_number = wpsc_product_variation_price_from( $id );
|
| 1958 |
|
| 1959 |
// if coincidentally, one of the variations are not on special, but its price is equal to
|
| 1960 |
// or lower than the lowest variation sale price, old price should be hidden, and current
|
wpsc-includes/theme.functions.php
CHANGED
|
@@ -556,9 +556,11 @@ function wpsc_enqueue_user_script_and_css() {
|
|
| 556 |
|
| 557 |
$category_id = wpsc_get_current_category_id();
|
| 558 |
|
| 559 |
-
if( get_option( 'wpsc_share_this' ) == 1 ) {
|
| 560 |
$remote_protocol = is_ssl() ? 'https://ws' : 'http://w';
|
| 561 |
wp_enqueue_script( 'sharethis', $remote_protocol . '.sharethis.com/button/buttons.js', array(), false, true );
|
|
|
|
|
|
|
| 562 |
}
|
| 563 |
|
| 564 |
wp_enqueue_script( 'jQuery' );
|
| 556 |
|
| 557 |
$category_id = wpsc_get_current_category_id();
|
| 558 |
|
| 559 |
+
if ( get_option( 'wpsc_share_this' ) == 1 ) {
|
| 560 |
$remote_protocol = is_ssl() ? 'https://ws' : 'http://w';
|
| 561 |
wp_enqueue_script( 'sharethis', $remote_protocol . '.sharethis.com/button/buttons.js', array(), false, true );
|
| 562 |
+
wp_enqueue_script( 'wpsc-sharethis', WPSC_CORE_JS_URL . '/sharethis.js', array( 'jquery', 'sharethis' ), $version_identifier );
|
| 563 |
+
wp_enqueue_style( 'wpsc-sharethis-css', WPSC_CORE_JS_URL . '/sharethis.css', false, $version_identifier, 'all' );
|
| 564 |
}
|
| 565 |
|
| 566 |
wp_enqueue_script( 'jQuery' );
|
wpsc-theme/functions/wpsc-user_log_functions.php
CHANGED
|
@@ -435,14 +435,14 @@ function wpsc_user_purchases() {
|
|
| 435 |
|
| 436 |
echo "<tr class='$alternate'>\n\r";
|
| 437 |
echo " <td class='status processed'>";
|
| 438 |
-
echo "<a href
|
| 439 |
|
| 440 |
if ( !empty($_GET['id']) && $_GET['id'] == $purchase['id'] ) {
|
| 441 |
$status_state = "collapse";
|
| 442 |
$status_style = "style='display: block;'";
|
| 443 |
}
|
| 444 |
|
| 445 |
-
echo "<img class
|
| 446 |
|
| 447 |
echo "<span id='form_group_" . $purchase['id'] . "_text'>" . __( 'Details', 'wpsc' ) . "</span>";
|
| 448 |
echo "</a>";
|
|
@@ -792,4 +792,4 @@ function _wpsc_action_downloads_section() {
|
|
| 792 |
}
|
| 793 |
add_action( 'wpsc_user_profile_section_downloads', '_wpsc_action_downloads_section' );
|
| 794 |
|
| 795 |
-
?>
|
| 435 |
|
| 436 |
echo "<tr class='$alternate'>\n\r";
|
| 437 |
echo " <td class='status processed'>";
|
| 438 |
+
echo "<a href=\"#\" onclick=\"return show_details_box('status_box_" . $purchase['id'] . "','log_expander_icon_" . $purchase['id'] . "');\">";
|
| 439 |
|
| 440 |
if ( !empty($_GET['id']) && $_GET['id'] == $purchase['id'] ) {
|
| 441 |
$status_state = "collapse";
|
| 442 |
$status_style = "style='display: block;'";
|
| 443 |
}
|
| 444 |
|
| 445 |
+
echo "<img class=\"log_expander_icon\" id=\"log_expander_icon_" . $purchase['id'] . "\" src=\"" . WPSC_CORE_IMAGES_URL . "/icon_window_$status_state.gif\" alt=\"\" title=\"\" />";
|
| 446 |
|
| 447 |
echo "<span id='form_group_" . $purchase['id'] . "_text'>" . __( 'Details', 'wpsc' ) . "</span>";
|
| 448 |
echo "</a>";
|
| 792 |
}
|
| 793 |
add_action( 'wpsc_user_profile_section_downloads', '_wpsc_action_downloads_section' );
|
| 794 |
|
| 795 |
+
?>
|
wpsc-theme/wpsc-default.css
CHANGED
|
@@ -1062,150 +1062,6 @@ background-color: #f5f5f5;
|
|
| 1062 |
.clear{
|
| 1063 |
clear:both;
|
| 1064 |
}
|
| 1065 |
-
/*-----Share This-----*/
|
| 1066 |
-
#wpsc_akst_form {
|
| 1067 |
-
background: #999;
|
| 1068 |
-
border: 1px solid #ddd;
|
| 1069 |
-
display: none;
|
| 1070 |
-
position: absolute;
|
| 1071 |
-
width: 350px;
|
| 1072 |
-
z-index: 999;
|
| 1073 |
-
}
|
| 1074 |
-
#wpsc_akst_form a.akst_close {
|
| 1075 |
-
color: #fff;
|
| 1076 |
-
float: right;
|
| 1077 |
-
margin: 5px;
|
| 1078 |
-
}
|
| 1079 |
-
#wpsc_akst_form ul.tabs {
|
| 1080 |
-
border: 1px solid #999;
|
| 1081 |
-
list-style: none;
|
| 1082 |
-
margin: 10px 10px 0 10px;
|
| 1083 |
-
padding: 0;
|
| 1084 |
-
}
|
| 1085 |
-
#wpsc_akst_form ul.tabs li {
|
| 1086 |
-
background: #ccc;
|
| 1087 |
-
border-bottom: 1px solid #999;
|
| 1088 |
-
cursor: pointer;
|
| 1089 |
-
float: left;
|
| 1090 |
-
margin: 0 3px 0 0;
|
| 1091 |
-
padding: 3px 5px 2px 5px;
|
| 1092 |
-
}
|
| 1093 |
-
#wpsc_akst_form ul.tabs li.selected {
|
| 1094 |
-
background: #fff;
|
| 1095 |
-
border-bottom: 1px solid #fff;
|
| 1096 |
-
cursor: default;
|
| 1097 |
-
padding: 4px 5px 1px 5px;
|
| 1098 |
-
}
|
| 1099 |
-
#wpsc_akst_form div.clear {
|
| 1100 |
-
clear: both;
|
| 1101 |
-
float: none;
|
| 1102 |
-
}
|
| 1103 |
-
#wpsc_akst_social, #wpsc_akst_email {
|
| 1104 |
-
background: #fff;
|
| 1105 |
-
border: 1px solid #fff;
|
| 1106 |
-
padding: 10px;
|
| 1107 |
-
}
|
| 1108 |
-
#wpsc_akst_social ul {
|
| 1109 |
-
list-style: none;
|
| 1110 |
-
margin: 0;
|
| 1111 |
-
padding: 0;
|
| 1112 |
-
}
|
| 1113 |
-
#wpsc_akst_social ul li {
|
| 1114 |
-
float: left;
|
| 1115 |
-
margin: 0;
|
| 1116 |
-
padding: 0;
|
| 1117 |
-
width: 45%;
|
| 1118 |
-
}
|
| 1119 |
-
#wpsc_akst_social ul li a {
|
| 1120 |
-
background-position: 0px 2px;
|
| 1121 |
-
background-repeat: no-repeat;
|
| 1122 |
-
display: block;
|
| 1123 |
-
float: left;
|
| 1124 |
-
height: 24px;
|
| 1125 |
-
padding: 4px 0 0 22px;
|
| 1126 |
-
vertical-align: middle;
|
| 1127 |
-
}
|
| 1128 |
-
#wpsc_akst_delicious {
|
| 1129 |
-
background-image: url(../wpsc-core/images/social_networking/delicious.gif);
|
| 1130 |
-
}
|
| 1131 |
-
#wpsc_akst_digg {
|
| 1132 |
-
background-image: url(../wpsc-core/images/social_networking/digg.gif);
|
| 1133 |
-
}
|
| 1134 |
-
#wpsc_akst_furl {
|
| 1135 |
-
background-image: url(../wpsc-core/images/social_networking/furl.gif);
|
| 1136 |
-
}
|
| 1137 |
-
#wpsc_akst_netscape {
|
| 1138 |
-
background-image: url(../wpsc-core/images/social_networking/netscape.gif);
|
| 1139 |
-
}
|
| 1140 |
-
#wpsc_akst_yahoo_myweb {
|
| 1141 |
-
background-image: url(../wpsc-core/images/social_networking/yahoo_myweb.gif);
|
| 1142 |
-
}
|
| 1143 |
-
#wpsc_akst_stumbleupon {
|
| 1144 |
-
background-image: url(../wpsc-core/images/social_networking/stumbleupon.gif);
|
| 1145 |
-
}
|
| 1146 |
-
#wpsc_akst_google_bmarks {
|
| 1147 |
-
background-image: url(../wpsc-core/images/social_networking/google_bmarks.gif);
|
| 1148 |
-
}
|
| 1149 |
-
#wpsc_akst_technorati {
|
| 1150 |
-
background-image: url(../wpsc-core/images/social_networking/technorati.gif);
|
| 1151 |
-
}
|
| 1152 |
-
#wpsc_akst_blinklist {
|
| 1153 |
-
background-image: url(../wpsc-core/images/social_networking/blinklist.gif);
|
| 1154 |
-
}
|
| 1155 |
-
#wpsc_akst_newsvine {
|
| 1156 |
-
background-image: url(../wpsc-core/images/social_networking/newsvine.gif);
|
| 1157 |
-
}
|
| 1158 |
-
#wpsc_akst_magnolia {
|
| 1159 |
-
background-image: url(../wpsc-core/images/social_networking/magnolia.gif);
|
| 1160 |
-
}
|
| 1161 |
-
#wpsc_akst_reddit {
|
| 1162 |
-
background-image: url(../wpsc-core/images/social_networking/reddit.gif);
|
| 1163 |
-
}
|
| 1164 |
-
#wpsc_akst_windows_live {
|
| 1165 |
-
background-image: url(../wpsc-core/images/social_networking/windows_live.gif);
|
| 1166 |
-
}
|
| 1167 |
-
#wpsc_akst_tailrank {
|
| 1168 |
-
background-image: url(../wpsc-core/images/social_networking/tailrank.gif);
|
| 1169 |
-
}
|
| 1170 |
-
|
| 1171 |
-
#wpsc_akst_email {
|
| 1172 |
-
display: none;
|
| 1173 |
-
text-align: left;
|
| 1174 |
-
}
|
| 1175 |
-
#wpsc_akst_email form, #wpsc_akst_email fieldset {
|
| 1176 |
-
border: 0;
|
| 1177 |
-
margin: 0;
|
| 1178 |
-
padding: 0;
|
| 1179 |
-
}
|
| 1180 |
-
#wpsc_akst_email fieldset legend {
|
| 1181 |
-
display: none;
|
| 1182 |
-
}
|
| 1183 |
-
#wpsc_akst_email ul {
|
| 1184 |
-
list-style: none;
|
| 1185 |
-
margin: 0;
|
| 1186 |
-
padding: 0;
|
| 1187 |
-
}
|
| 1188 |
-
#wpsc_akst_email ul li {
|
| 1189 |
-
margin: 0 0 7px 0;
|
| 1190 |
-
padding: 0;
|
| 1191 |
-
}
|
| 1192 |
-
#wpsc_akst_email ul li label {
|
| 1193 |
-
color: #555;
|
| 1194 |
-
display: block;
|
| 1195 |
-
margin-bottom: 3px;
|
| 1196 |
-
}
|
| 1197 |
-
#wpsc_akst_email ul li input {
|
| 1198 |
-
padding: 3px 10px;
|
| 1199 |
-
}
|
| 1200 |
-
#wpsc_akst_email ul li input.akst_text {
|
| 1201 |
-
padding: 3px;
|
| 1202 |
-
width: 280px;
|
| 1203 |
-
}
|
| 1204 |
-
.wpsc_akst_share_link {
|
| 1205 |
-
display: block;
|
| 1206 |
-
margin: 0px 0px 6px 0px;
|
| 1207 |
-
width: 119px;
|
| 1208 |
-
}
|
| 1209 |
|
| 1210 |
/*-----Featured Image-----*/
|
| 1211 |
.item_text {
|
| 1062 |
.clear{
|
| 1063 |
clear:both;
|
| 1064 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1065 |
|
| 1066 |
/*-----Featured Image-----*/
|
| 1067 |
.item_text {
|
wpsc-theme/wpsc-single_product.php
CHANGED
|
@@ -147,11 +147,13 @@
|
|
| 147 |
<?php endif; ?>
|
| 148 |
<?php endif; ?>
|
| 149 |
</div><!--close wpsc_product_price-->
|
| 150 |
-
|
|
|
|
| 151 |
<?php if ( get_option( 'wpsc_share_this' ) == 1 ): ?>
|
| 152 |
<div class="st_sharethis" displayText="ShareThis"></div>
|
| 153 |
<?php endif; ?>
|
| 154 |
-
<!--
|
|
|
|
| 155 |
<input type="hidden" value="add_to_cart" name="wpsc_ajax_action" />
|
| 156 |
<input type="hidden" value="<?php echo wpsc_the_product_id(); ?>" name="product_id" />
|
| 157 |
<?php if( wpsc_product_is_customisable() ) : ?>
|
| 147 |
<?php endif; ?>
|
| 148 |
<?php endif; ?>
|
| 149 |
</div><!--close wpsc_product_price-->
|
| 150 |
+
|
| 151 |
+
<!-- ShareThis -->
|
| 152 |
<?php if ( get_option( 'wpsc_share_this' ) == 1 ): ?>
|
| 153 |
<div class="st_sharethis" displayText="ShareThis"></div>
|
| 154 |
<?php endif; ?>
|
| 155 |
+
<!-- End ShareThis -->
|
| 156 |
+
|
| 157 |
<input type="hidden" value="add_to_cart" name="wpsc_ajax_action" />
|
| 158 |
<input type="hidden" value="<?php echo wpsc_the_product_id(); ?>" name="product_id" />
|
| 159 |
<?php if( wpsc_product_is_customisable() ) : ?>
|
