예제 #1
0
/**
	* coupons price, used through ajax and in normal page loading.
	* No parameters, returns nothing
*/
function wpsc_coupon_price($currCoupon = '')
{
    global $wpdb, $wpsc_cart, $wpsc_coupons;
    if (isset($_POST['coupon_num']) && $_POST['coupon_num'] != '') {
        $coupon = $wpdb->escape($_POST['coupon_num']);
        $_SESSION['coupon_numbers'] = $coupon;
        $wpsc_coupons = new wpsc_coupons($coupon);
        if ($wpsc_coupons->validate_coupon()) {
            $discountAmount = $wpsc_coupons->calculate_discount();
            $wpsc_cart->apply_coupons($discountAmount, $coupon);
            $wpsc_coupons->errormsg = false;
        } else {
            $wpsc_coupons->errormsg = true;
            $wpsc_cart->coupons_amount = 0;
            $wpsc_cart->coupons_name = '';
        }
    } else {
        if ($_POST['coupon_num'] == '' && $currCoupon == '') {
            $wpsc_cart->coupons_amount = 0;
            $wpsc_cart->coupons_name = '';
        } else {
            if ($currCoupon != '') {
                $coupon = $wpdb->escape($currCoupon);
                $_SESSION['coupon_numbers'] = $coupon;
                $wpsc_coupons = new wpsc_coupons($coupon);
                if ($wpsc_coupons->validate_coupon()) {
                    $discountAmount = $wpsc_coupons->calculate_discount();
                    $wpsc_cart->apply_coupons($discountAmount, $coupon);
                    $wpsc_coupons->errormsg = false;
                }
            }
        }
    }
}
예제 #2
0
 /**
  * update_shipping method, updates the shipping
  * @access public
  */
 function update_shipping($method, $option)
 {
     global $wpdb, $wpsc_shipping_modules;
     $this->selected_shipping_method = $method;
     $this->shipping_quotes = $wpsc_shipping_modules[$method]->getQuote();
     $this->selected_shipping_option = $option;
     foreach ($this->cart_items as $key => $cart_item) {
         $this->cart_items[$key]->calculate_shipping();
     }
     $this->clear_cache();
     $this->get_shipping_option();
     // reapply coupon in case it's free shipping
     if ($this->coupons_name) {
         $coupon = new wpsc_coupons($this->coupons_name);
         if ($coupon->is_free_shipping()) {
             $this->apply_coupons($coupon->calculate_discount(), $this->coupons_name);
         }
     }
 }
예제 #3
0
 /**
  * update_shipping method, updates the shipping
  * @access public
  */
 function update_shipping($method, $option)
 {
     global $wpdb, $wpsc_shipping_modules;
     if (!empty($method)) {
         $this->selected_shipping_method = $method;
     }
     if (!empty($option)) {
         $this->selected_shipping_option = $option;
     }
     $this->get_shipping_quotes();
     // reapply coupon in case it's free shipping
     if ($this->coupons_name) {
         $coupon = new wpsc_coupons($this->coupons_name);
         if ($coupon->is_free_shipping()) {
             $this->apply_coupons($coupon->calculate_discount(), $this->coupons_name);
         }
     }
 }
예제 #4
0
/**
 * coupons price, used through ajax and in normal page loading.
 * No parameters, returns nothing
 */
function wpsc_coupon_price($currCoupon = '')
{
    global $wpsc_cart, $wpsc_coupons;
    if (isset($_POST['coupon_num']) && $_POST['coupon_num'] != '') {
        $coupon = esc_sql($_POST['coupon_num']);
        wpsc_update_customer_meta('coupon', $coupon);
        $wpsc_coupons = new wpsc_coupons($coupon);
        if ($wpsc_coupons->validate_coupon()) {
            $discountAmount = $wpsc_coupons->calculate_discount();
            $wpsc_cart->apply_coupons($discountAmount, $coupon);
            $wpsc_coupons->errormsg = false;
        } else {
            $wpsc_coupons->errormsg = true;
            $wpsc_cart->coupons_amount = 0;
            $wpsc_cart->coupons_name = '';
            wpsc_delete_customer_meta('coupon');
        }
    } else {
        if ((!isset($_POST['coupon_num']) || $_POST['coupon_num'] == '') && $currCoupon == '') {
            $wpsc_cart->coupons_amount = 0;
            $wpsc_cart->coupons_name = '';
        } else {
            if ($currCoupon != '') {
                $coupon = esc_sql($currCoupon);
                wpsc_update_customer_meta('coupon', $coupon);
                $wpsc_coupons = new wpsc_coupons($coupon);
                if ($wpsc_coupons->validate_coupon()) {
                    $discountAmount = $wpsc_coupons->calculate_discount();
                    $wpsc_cart->apply_coupons($discountAmount, $coupon);
                    $wpsc_coupons->errormsg = false;
                }
            }
        }
    }
}