Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion wpsc-core/js/wp-e-commerce.js
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ jQuery(document).ready(function ($) {
// update the price when the variations are altered.
jQuery(".wpsc_select_variation").live('change', function() {
jQuery('option[value="0"]', this).attr('disabled', 'disabled');
self = this;
var parent_form = jQuery(this).closest("form.product_form");
if ( parent_form.length == 0 )
return;
Expand All @@ -292,7 +293,7 @@ jQuery(document).ready(function ($) {
donation_price = jQuery('input#donation_price_' + prod_id),
old_price = jQuery('#old_product_price_' + prod_id),
save = jQuery('#yousave_' + prod_id),
buynow = jQuery('#BB_BuyButtonForm' + prod_id);
buynow = jQuery('#buy-now-product_' + prod_id);
if ( response.variation_found ) {
if ( response.stock_available ) {
stock_display.removeClass('out_of_stock').addClass('in_stock');
Expand Down Expand Up @@ -320,6 +321,9 @@ jQuery(document).ready(function ($) {
}
}
donation_price.val(response.numeric_price);

buynow.find('input[name="'+jQuery(self).prop('name')+'"]').val(jQuery(self).val());
buynow.find('input.wpsc-buy-now-button').prop('disabled', false);
}
}, 'json');
});
Expand Down
26 changes: 20 additions & 6 deletions wpsc-includes/display.functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,29 @@ function wpsc_buy_now_button( $product_id, $replaced_shortcode = false ) {
$handling = $shipping;
}

$has_variants = wpsc_product_has_variations($product_id);
$src = _x( 'https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif', 'PayPal Buy Now Button', 'wpsc' );
$src = apply_filters( 'wpsc_buy_now_button_src', $src );
$classes = "wpsc-buy-now-form wpsc-buy-now-form-{$product_id}";
$button_html = '<input class="wpsc-buy-now-button wpsc-buy-now-button-' . esc_attr( $product_id ) . '" type="image" name="submit" border="0" src=' . esc_url( $src ) . ' alt="' . esc_attr( 'PayPal - The safer, easier way to pay online', 'wpsc' ) . '" />';
$button_html = sprintf('<input'.disabled( $has_variants, true, false ).' class="wpsc-buy-now-button wpsc-buy-now-button-%s" type="image" name="submit" border="0" src="%s" alt="%s" />',
esc_attr( $product_id ),
esc_url( $src ),
esc_attr__( 'PayPal - The safer, easier way to pay online', 'wpsc' )
);
$button_html = apply_filters( 'wpsc_buy_now_button_html', $button_html, $product_id );
?>
<form class="<?php echo esc_attr( $classes ); ?>" target="paypal" action="<?php echo esc_url( home_url() ); ?>" method="post">
?>
<form class="<?php echo esc_attr( $classes ); ?>" id="buy-now-product_<?php echo $product_id; ?>"target="paypal" action="<?php echo esc_url( home_url() ); ?>" method="post">
<input type="hidden" name="wpsc_buy_now_callback" value="1" />
<input type="hidden" name="product_id" value="<?php echo esc_attr( $product_id ); ?>" />
<?php
if( $has_variants ):
// grab the variation form fields here
$wpsc_variations = new wpsc_variations( $product_id );
while ( wpsc_have_variation_groups() ) : wpsc_the_variation_group();
printf('<input type="hidden" class="variation-value" name="variation[%s]" id="%s" value="0"/>', wpsc_vargrp_id(), wpsc_vargrp_form_id());
endwhile;
endif; /* END wpsc_product_has_variations */
?>
<?php if ( get_option( 'multi_add' ) ): ?>
<label for="quantity"><?php esc_html_e( 'Quantity', 'wpsc' ); ?></label>
<input type="text" size="4" id="quantity" name="quantity" value="" /><br />
Expand All @@ -70,20 +84,20 @@ function wpsc_also_bought( $product_id ) {
if ( get_option( 'wpsc_also_bought' ) == 0 ) {
return '';
}

// To be made customiseable in a future release
$also_bought_limit = 3;
$element_widths = 96;
$image_display_height = 96;
$image_display_width = 96;

// Filter will be used by a plugin to provide 'Also Bought' functionality when this is deprecated from core.
// Filter is currently private and should not be used by plugin/theme devs as it may only be temporary.
$output = apply_filters( '_wpsc_also_bought', '', $product_id );
if ( ! empty( $output ) ) {
return $output;
}

// If above filter returns output then the following is ignore and can be deprecated in future.
$also_bought = $wpdb->get_results( $wpdb->prepare( "SELECT `" . $wpdb->posts . "`.* FROM `" . WPSC_TABLE_ALSO_BOUGHT . "`, `" . $wpdb->posts . "` WHERE `selected_product`= %d AND `" . WPSC_TABLE_ALSO_BOUGHT . "`.`associated_product` = `" . $wpdb->posts . "`.`id` AND `" . $wpdb->posts . "`.`post_status` IN('publish','protected') ORDER BY `" . WPSC_TABLE_ALSO_BOUGHT . "`.`quantity` DESC LIMIT $also_bought_limit", $product_id ), ARRAY_A );
if ( is_array( $also_bought ) && count( $also_bought ) > 0 ) {
Expand Down