Compatibility for WooCommerce Deposits by WooCommerce

Compatibility adjustments for WooCommerce Deposits by WooCommerce.

// Compatibility for WooCommerce Deposits by WooCommerce
add_filter('woocommerce_before_calculate_totals', function($cart_object) {
    if (class_exists('\Wdr\App\Router')) {
        $manage_discount = \Wdr\App\Router::$manage_discount;
        $cart_discounts = $manage_discount::$calculated_cart_item_discount;
        if (!empty($cart_discounts)) {
            if (isset($cart_object->cart_contents) && !empty($cart_object->cart_contents)) {
                foreach ($cart_object->cart_contents as $key => &$cart_item) {
                    if(isset($cart_item['is_deposit']) && !empty($cart_item['is_deposit']) && isset($cart_item['full_amount'])) {
                        if (isset($cart_discounts[$key]) && isset($cart_discounts[$key]['discounted_price'])) {
                            $cart_item['full_amount'] = $cart_discounts[$key]['discounted_price'];
                        }
                    }
                }
            }
        }
    }
}, 9999);