plugin updates
This commit is contained in:
@@ -125,6 +125,7 @@ class WC_Product_CSV_Importer_Controller {
|
||||
|
||||
// Check that file is within an allowed location.
|
||||
if ( $is_valid_file ) {
|
||||
$normalized_path = wp_normalize_path( $path );
|
||||
$in_valid_location = false;
|
||||
$valid_locations = array();
|
||||
$valid_locations[] = ABSPATH;
|
||||
@@ -135,7 +136,8 @@ class WC_Product_CSV_Importer_Controller {
|
||||
}
|
||||
|
||||
foreach ( $valid_locations as $valid_location ) {
|
||||
if ( 0 === stripos( $path, trailingslashit( realpath( $valid_location ) ) ) ) {
|
||||
$normalized_location = wp_normalize_path( realpath( $valid_location ) );
|
||||
if ( 0 === stripos( $normalized_path, trailingslashit( $normalized_location ) ) ) {
|
||||
$in_valid_location = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ final class WooCommerce {
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $version = '9.3.1';
|
||||
public $version = '9.3.2';
|
||||
|
||||
/**
|
||||
* WooCommerce Schema version.
|
||||
|
||||
@@ -656,21 +656,21 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
|
||||
// Fire actions to let 3rd parties know the stock is about to be changed.
|
||||
if ( $product->is_type( 'variation' ) ) {
|
||||
/**
|
||||
* Action to signal that the value of 'stock_quantity' for a variation is about to change.
|
||||
*
|
||||
* @param WC_Product $product The variation whose stock is about to change.
|
||||
*
|
||||
* @since 4.9
|
||||
*/
|
||||
* Action to signal that the value of 'stock_quantity' for a variation is about to change.
|
||||
*
|
||||
* @since 4.9
|
||||
*
|
||||
* @param int $product The variation whose stock is about to change.
|
||||
*/
|
||||
do_action( 'woocommerce_variation_before_set_stock', $product );
|
||||
} else {
|
||||
/**
|
||||
* Action to signal that the value of 'stock_quantity' for a product is about to change.
|
||||
*
|
||||
* @param WC_Product $product The product whose stock is about to change.
|
||||
*
|
||||
* @since 4.9
|
||||
*/
|
||||
* Action to signal that the value of 'stock_quantity' for a product is about to change.
|
||||
*
|
||||
* @since 4.9
|
||||
*
|
||||
* @param int $product The product whose stock is about to change.
|
||||
*/
|
||||
do_action( 'woocommerce_product_before_set_stock', $product );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -242,10 +242,31 @@ function wc_trigger_stock_change_notifications( $order, $changes ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$order_notes = array();
|
||||
$order_notes = array();
|
||||
$no_stock_amount = absint( get_option( 'woocommerce_notify_no_stock_amount', 0 ) );
|
||||
|
||||
foreach ( $changes as $change ) {
|
||||
$order_notes[] = $change['product']->get_formatted_name() . ' ' . $change['from'] . '→' . $change['to'];
|
||||
$order_notes[] = $change['product']->get_formatted_name() . ' ' . $change['from'] . '→' . $change['to'];
|
||||
$low_stock_amount = absint( wc_get_low_stock_amount( wc_get_product( $change['product']->get_id() ) ) );
|
||||
if ( $change['to'] <= $no_stock_amount ) {
|
||||
/**
|
||||
* Action to signal that the value of 'stock_quantity' for a variation is about to change.
|
||||
*
|
||||
* @since 4.9
|
||||
*
|
||||
* @param int $product The variation whose stock is about to change.
|
||||
*/
|
||||
do_action( 'woocommerce_no_stock', wc_get_product( $change['product']->get_id() ) );
|
||||
} elseif ( $change['to'] <= $low_stock_amount ) {
|
||||
/**
|
||||
* Action to signal that the value of 'stock_quantity' for a product is about to change.
|
||||
*
|
||||
* @since 4.9
|
||||
*
|
||||
* @param int $product The product whose stock is about to change.
|
||||
*/
|
||||
do_action( 'woocommerce_low_stock', wc_get_product( $change['product']->get_id() ) );
|
||||
}
|
||||
|
||||
if ( $change['to'] < 0 ) {
|
||||
/**
|
||||
@@ -312,8 +333,6 @@ function wc_trigger_stock_change_actions( $product ) {
|
||||
do_action( 'woocommerce_low_stock', $product );
|
||||
}
|
||||
}
|
||||
add_action( 'woocommerce_variation_set_stock', 'wc_trigger_stock_change_actions' );
|
||||
add_action( 'woocommerce_product_set_stock', 'wc_trigger_stock_change_actions' );
|
||||
|
||||
/**
|
||||
* Increase stock levels for items within an order.
|
||||
@@ -485,11 +504,8 @@ function wc_get_low_stock_amount( WC_Product $product ) {
|
||||
$low_stock_amount = $product->get_low_stock_amount();
|
||||
|
||||
if ( '' === $low_stock_amount && $product->is_type( 'variation' ) ) {
|
||||
$parent_product = wc_get_product( $product->get_parent_id() );
|
||||
|
||||
if ( $parent_product instanceof WC_Product ) {
|
||||
$low_stock_amount = $parent_product->get_low_stock_amount();
|
||||
}
|
||||
$product = wc_get_product( $product->get_parent_id() );
|
||||
$low_stock_amount = $product->get_low_stock_amount();
|
||||
}
|
||||
|
||||
if ( '' === $low_stock_amount ) {
|
||||
|
||||
Reference in New Issue
Block a user