Beispiel #1
0
/**
	* update_shipping_price function, used through ajax and in normal page loading.
	* No parameters, returns nothing
*/
function wpsc_update_shipping_price()
{
    global $wpdb, $wpsc_cart;
    $quote_shipping_method = $_POST['key1'];
    $quote_shipping_option = $_POST['key'];
    //If no $_POST key variable means it is activated through shipping same as billing
    if ($quote_shipping_method == '' && $quote_shipping_option == '') {
        $quote_shipping_method = $wpsc_cart->selected_shipping_method;
        $i = 0;
        //if it is from shipping same as billing then per item shipping may need to be calculated...
        foreach ($wpsc_cart->cart_items as $cart_item) {
            $product_ship = $cart_item->calculate_shipping($quote_shipping_method);
            echo "jQuery('#shipping_" . $i . "').html('" . htmlspecialchars(nzshpcrt_currency_display($product_ship, false, true)) . "');\n\r";
            $i++;
        }
    } else {
        $wpsc_cart->update_shipping($quote_shipping_method, $quote_shipping_option);
        echo "jQuery('.pricedisplay.checkout-shipping').html('" . wpsc_cart_shipping() . "');\n\r";
        echo "jQuery('.pricedisplay.checkout-total').html('" . wpsc_cart_total() . "');\n\r";
        exit;
    }
    //if(count($wpsc_cart->shipping_quotes) > 0 && $_POST['key1'] == ''  && $_POST['key'] == ''){
    while (wpsc_have_shipping_methods()) {
        wpsc_the_shipping_method();
        if (!wpsc_have_shipping_quotes()) {
            continue;
        }
        // Don't display shipping method if it doesn't have at least one quote
        $output .= "<tr><td class='shipping_header' colspan='5'>" . wpsc_shipping_method_name() . __('- Choose a Shipping Rate', 'wpsc') . "</td></tr>";
        while (wpsc_have_shipping_quotes()) {
            wpsc_the_shipping_quote();
            $output .= "<tr class='shipping_quotes'>";
            $output .= "<td colspan='3'>";
            $output .= "<label for='" . wpsc_shipping_quote_html_id() . "'>" . wpsc_shipping_quote_name() . "</label>";
            $output .= "</td>";
            $output .= "<td style='text-align:center;'>";
            $output .= "<label for='" . wpsc_shipping_quote_html_id() . "'>" . wpsc_shipping_quote_value() . "</label>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td style='text-align:center;'>";
            if (wpsc_have_morethanone_shipping_methods_and_quotes()) {
                $output .= "<input type='radio' id='" . wpsc_shipping_quote_html_id() . "'" . wpsc_shipping_quote_selected_state() . "  onclick='switchmethod(\"" . wpsc_shipping_quote_name() . "\", \"" . wpsc_shipping_method_internal_name() . "\")' value='" . wpsc_shipping_quote_value(true) . "' name='shipping_method' />";
            } else {
                $output .= "\t<input " . wpsc_shipping_quote_selected_state() . " disabled='disabled' type='radio' id='" . wpsc_shipping_quote_html_id() . "'  value='" . wpsc_shipping_quote_value(true) . "' name='shipping_method' />";
                wpsc_update_shipping_single_method();
            }
            $output .= "</td>";
            $output .= "</tr>";
        }
    }
    $output = str_replace(array("\n", "\r"), array("\\n", "\\r"), addslashes($output));
    echo "var shipping =jQuery('td.shipping_header').parent('tr');";
    echo "shipping.nextAll('tr').remove();\n\r";
    echo "shipping.parent().append(\"" . $output . "\");\n\r";
    echo "shipping.empty();";
    //	}
    $wpsc_cart->update_shipping($quote_shipping_method, $quote_shipping_option);
    if (wpsc_cart_tax(false) > 0) {
        echo "jQuery(\"tr.total_tax\").show();\n\r";
        echo "jQuery('#checkout_tax').html(\"<span class='pricedisplay'>" . wpsc_cart_tax() . "</span>\");\n\r";
    }
    echo "jQuery('.pricedisplay.checkout-shipping').html('" . wpsc_cart_shipping() . "');\n\r";
    echo "jQuery('.pricedisplay.checkout-total').html('" . wpsc_cart_total() . "');\n\r";
    exit;
}
' name='shipping_method' />
							<?php 
                } else {
                    ?>
								<input <?php 
                    echo wpsc_shipping_quote_selected_state();
                    ?>
 disabled='disabled' type='radio' id='<?php 
                    echo wpsc_shipping_quote_html_id();
                    ?>
'  value='<?php 
                    echo wpsc_shipping_quote_value(true);
                    ?>
' name='shipping_method' />
									<?php 
                    wpsc_update_shipping_single_method();
                    ?>
							<?php 
                }
                ?>
							</td>
						</tr>
			
					<?php 
            }
            ?>
			<?php 
        }
        ?>
			<?php 
        wpsc_update_shipping_multiple_methods();
function wpsc_update_shipping_quotes_on_shipping_same_as_billing()
{
    global $wpsc_cart;
    wpsc_update_location();
    if (get_option('do_not_use_shipping')) {
        die('-1');
    }
    if (!wpsc_have_shipping_quotes()) {
        die('0');
    } else {
        ?>
   <tr class="wpsc_shipping_info">
            <td colspan="5">
               <?php 
        _e('Please choose a country below to calculate your shipping costs', 'wpsc');
        ?>
            </td>
         </tr>

         <?php 
        if (!wpsc_have_shipping_quote()) {
            // No valid shipping quotes
            ?>
            <?php 
            if (wpsc_have_valid_shipping_zipcode()) {
                ?>
                  <tr class='wpsc_update_location'>
                     <td colspan='5' class='shipping_error' >
                        <?php 
                _e('Please provide a Zipcode and click Calculate in order to continue.', 'wpsc');
                ?>
                     </td>
                  </tr>
            <?php 
            } else {
                ?>
               <tr class='wpsc_update_location_error'>
                  <td colspan='5' class='shipping_error' >
                     <?php 
                _e('Sorry, online ordering is unavailable to this destination and/or weight. Please double check your destination details.', 'wpsc');
                ?>
                  </td>
               </tr>
            <?php 
            }
            ?>
         <?php 
        }
        ?>
         <tr class='wpsc_change_country'>
            <td colspan='5'>
               <form name='change_country' id='change_country' action='' method='post'>
                  <?php 
        echo wpsc_shipping_country_list();
        ?>
                  <input type='hidden' name='wpsc_update_location' value='true' />
                  <input type='submit' name='wpsc_submit_zipcode' value='Calculate' />
               </form>
            </td>
         </tr>

         <?php 
        if (wpsc_have_morethanone_shipping_quote()) {
            ?>
            <?php 
            while (wpsc_have_shipping_methods()) {
                wpsc_the_shipping_method();
                ?>
                  <?php 
                if (!wpsc_have_shipping_quotes()) {
                    continue;
                }
                // Don't display shipping method if it doesn't have at least one quote
                ?>
                  <tr class='wpsc_shipping_header'><td class='shipping_header' colspan='5'><?php 
                echo wpsc_shipping_method_name() . __(' - Choose a Shipping Rate', 'wpsc');
                ?>
 </td></tr>
                  <?php 
                while (wpsc_have_shipping_quotes()) {
                    wpsc_the_shipping_quote();
                    ?>
                     <tr class='<?php 
                    echo wpsc_shipping_quote_html_id();
                    ?>
'>
                        <td class='wpsc_shipping_quote_name wpsc_shipping_quote_name_<?php 
                    echo wpsc_shipping_quote_html_id();
                    ?>
' colspan='3'>
                           <label for='<?php 
                    echo wpsc_shipping_quote_html_id();
                    ?>
'><?php 
                    echo wpsc_shipping_quote_name();
                    ?>
</label>
                        </td>
                        <td class='wpsc_shipping_quote_price wpsc_shipping_quote_price_<?php 
                    echo wpsc_shipping_quote_html_id();
                    ?>
' style='text-align:center;'>
                           <label for='<?php 
                    echo wpsc_shipping_quote_html_id();
                    ?>
'><?php 
                    echo wpsc_shipping_quote_value();
                    ?>
</label>
                        </td>
                        <td class='wpsc_shipping_quote_radio wpsc_shipping_quote_radio_<?php 
                    echo wpsc_shipping_quote_html_id();
                    ?>
' style='text-align:center;'>
                           <?php 
                    if (wpsc_have_morethanone_shipping_methods_and_quotes()) {
                        ?>
                              <input type='radio' id='<?php 
                        echo wpsc_shipping_quote_html_id();
                        ?>
' <?php 
                        echo wpsc_shipping_quote_selected_state();
                        ?>
  onclick='switchmethod("<?php 
                        echo wpsc_shipping_quote_name();
                        ?>
", "<?php 
                        echo wpsc_shipping_method_internal_name();
                        ?>
")' value='<?php 
                        echo wpsc_shipping_quote_value(true);
                        ?>
' name='shipping_method' />
                           <?php 
                    } else {
                        ?>
                              <input <?php 
                        echo wpsc_shipping_quote_selected_state();
                        ?>
 disabled='disabled' type='radio' id='<?php 
                        echo wpsc_shipping_quote_html_id();
                        ?>
'  value='<?php 
                        echo wpsc_shipping_quote_value(true);
                        ?>
' name='shipping_method' />
                                 <?php 
                        wpsc_update_shipping_single_method();
                        ?>
                           <?php 
                    }
                    ?>
                        </td>
                     </tr>
                  <?php 
                }
                ?>
            <?php 
            }
            ?>
         <?php 
        }
        ?>

         <?php 
        wpsc_update_shipping_multiple_methods();
        ?>

		<?php 
    }
    exit;
}