HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/html/ielts-store/wp-content/plugins/woo-multi-currency/plugins/woocommerce_bookings.php
<?php

/**
 * Class WOOMULTI_CURRENCY_F_Plugin_WooCommerce_Bookings
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

class WOOMULTI_CURRENCY_F_Plugin_WooCommerce_Bookings {
	protected $settings;

	public function __construct() {
		$this->settings = WOOMULTI_CURRENCY_F_Data::get_ins();
		if ( $this->settings->get_enable() ) {
			add_filter( 'woocommerce_bookings_calculated_booking_cost_success_output', array(
				$this,
				'woocommerce_bookings_calculated_booking_cost_success_output'
			), 9, 3 );
			add_filter( 'booking_form_params', array(
				$this,
				'booking_form_params'
			) );
			add_filter( 'booking_form_fields', array(
				$this,
				'booking_form_fields'
			) );
		}
	}

	/**
	 * @param $params
	 *
	 * @return mixed
	 */
	public function booking_form_params( $params ) {
		add_filter( 'woocommerce_product_get_resource_block_costs', array(
			$this,
			'woocommerce_product_get_resource_block_costs'
		) );
		add_filter( 'woocommerce_product_get_resource_base_costs', array(
			$this,
			'woocommerce_product_get_resource_base_costs'
		) );

		return $params;
	}

	/**
	 * @param $fields
	 *
	 * @return mixed
	 */
	public function booking_form_fields( $fields ) {
		remove_filter( 'woocommerce_product_get_resource_block_costs', array(
			$this,
			'woocommerce_product_get_resource_block_costs'
		) );
		remove_filter( 'woocommerce_product_get_resource_base_costs', array(
			$this,
			'woocommerce_product_get_resource_base_costs'
		) );

		return $fields;
	}

	/**
	 * @param $resource_data
	 *
	 * @return array
	 */
	public function woocommerce_product_get_resource_block_costs( $resource_data ) {
		return $this->convert_resource_data( $resource_data );
	}

	/**
	 * @param $resource_data
	 *
	 * @return array
	 */
	public function woocommerce_product_get_resource_base_costs( $resource_data ) {
		return $this->convert_resource_data( $resource_data );
	}

	/**
	 * @param $resource_data
	 *
	 * @return array
	 */
	private function convert_resource_data( $resource_data ) {
		if ( $this->settings->get_current_currency() !== $this->settings->get_default_currency() ) {
			if ( is_array( $resource_data ) && count( $resource_data ) ) {
				$resource_data = array_map( 'wmc_get_price', $resource_data );
			}
		}

		return $resource_data;
	}

	/**
	 * @param $output
	 * @param $display_price
	 * @param $product
	 *
	 * @return mixed
	 */
	public function woocommerce_bookings_calculated_booking_cost_success_output( $output, $display_price, $product ) {
		$display_price = wmc_get_price( $display_price );
		if ( version_compare( WC_VERSION, '2.4.0', '>=' ) ) {
			$price_suffix = $product->get_price_suffix( $display_price, 1 );
		} else {
			$price_suffix = $product->get_price_suffix();
		}
		$output        = apply_filters( 'woocommerce_bookings_booking_cost_string', __( 'Booking cost', 'woocommerce-bookings' ), $product ) . ': <strong>' . wc_price( $display_price, array(
				'currency' => $this->settings->get_current_currency(),
			) ) . $price_suffix . '</strong>';

		return $output;
	}
}