PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / compatibility / WcBookings / SharedHooks.php
woocommerce-multilingual / compatibility / WcBookings Last commit date
Templates 3 weeks ago TranslationEditor 3 weeks ago Calendar.php 1 year ago Emails.php 3 weeks ago Factory.php 3 weeks ago MulticurrencyHooks.php 3 weeks ago Prices.php 3 weeks ago SharedHooks.php 3 weeks ago Slots.php 3 weeks ago class-wcml-accommodation-bookings.php 3 weeks ago class-wcml-bookings.php 3 weeks ago
SharedHooks.php
68 lines
1 <?php
2
3 namespace WCML\Compatibility\WcBookings;
4
5 use WC_Product;
6 use WCML_Bookings;
7
8 class SharedHooks implements \IWPML_Action {
9
10 private $wpdb;
11
12 public function __construct( \wpdb $wpdb ) {
13 $this->wpdb = $wpdb;
14 }
15
16 public function add_hooks() {
17 add_action( 'init', [ __CLASS__, 'load_assets' ] );
18 add_filter( 'wcml_multi_currency_ajax_actions', [ __CLASS__, 'wcml_multi_currency_is_ajax' ] );
19
20 $this->clear_transient_fields();
21 }
22
23 public static function load_assets( $externalProductType = false ) {
24 global $pagenow;
25
26 $productId = $pagenow == 'post.php' && isset( $_GET['post'] ) ? (int) $_GET['post'] : false;
27
28 if ( $productId && get_post_type( $productId ) === 'product' ) {
29 $product = wc_get_product( $productId );
30 $productType = $product->get_type();
31
32 if ( ( self::isBooking( $product ) || $productType === $externalProductType ) || $pagenow == 'post-new.php' ) {
33 wp_register_style( 'wcml-bookings-css', WCML_PLUGIN_URL . '/compatibility/res/css/wcml-bookings.css', [], WCML_VERSION );
34 wp_enqueue_style( 'wcml-bookings-css' );
35
36 wp_register_script( 'wcml-bookings-js', WCML_PLUGIN_URL . '/compatibility/res/js/wcml-bookings.js', [ 'jquery' ], WCML_VERSION, true );
37 wp_enqueue_script( 'wcml-bookings-js' );
38 }
39 }
40 }
41
42 public static function wcml_multi_currency_is_ajax( $actions ) {
43 $actions[] = 'wc_bookings_calculate_costs';
44
45 return $actions;
46 }
47
48 public function clear_transient_fields() {
49 if ( isset( $_GET['post_type'] ) && $_GET['post_type'] == WCML_Bookings::POST_TYPE && isset( $_GET['page'] ) && $_GET['page'] == 'booking_calendar' ) {
50
51 $this->wpdb->query(
52 "
53 DELETE FROM {$this->wpdb->options}
54 WHERE option_name LIKE '%book_dr_%'
55 "
56 );
57 }
58 }
59
60 public static function isBooking( $product ) {
61 if ( ! $product instanceof WC_Product ) {
62 $product = wc_get_product( $product );
63 }
64
65 return $product && $product->get_type() === 'booking';
66 }
67 }
68