You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
cosmopet.ae/wp-content/plugins copy/woocommerce-multilingual/inc/class-wcml-compatibility.php

84 lines
5.2 KiB

<?php
use WPML\FP\Lst;
use WPML\FP\Logic;
use WPML\FP\Relation;
use function WCML\functions\getWooCommerceWpml;
class WCML_Compatibility {
/**
* Initialize compatibility classes that need to run before multi-currency.
*/
public function init_before_multicurrency() {
$loaders = wpml_collect( [
\WCML\Compatibility\WpSuperCache\Factory::class => function_exists( 'wp_cache_is_enabled' ) && wp_cache_is_enabled(),
] )->filter( Logic::isTruthy() )
->keys()
->toArray();
// This one needs to run after all caching classes.
$loaders = Lst::append( \WCML\AdminNotices\CachePlugins::class, $loaders );
( new \WCML\StandAlone\ActionFilterLoader() )->load( $loaders );
}
/**
* Initialize class
*/
public function init() {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
$woocommerce_wpml = getWooCommerceWpml();
// $isActiveTheme :: string -> bool
$isActiveTheme = Relation::equals( wp_get_theme()->get( 'Name' ) );
$loaders = wpml_collect( [
\WCML\Compatibility\WcTabManager\Factory::class => class_exists( 'WC_Tab_Manager' ),
\WCML\Compatibility\TableRateShipping\Factory::class => defined( 'TABLE_RATE_SHIPPING_VERSION' ),
\WCML\Compatibility\WcSubscriptions\Factory::class => class_exists( 'WC_Subscriptions' ),
\WCML\Compatibility\WcNameYourPrice\Factory::class => class_exists( 'WC_Name_Your_Price' ),
\WCML\Compatibility\WcProductBundles\Factory::class => class_exists( 'WC_Product_Bundle' ) && function_exists( 'WC_PB' ),
\WCML\Compatibility\WcSwatches\Factory::class => class_exists( 'WC_SwatchesPlugin' ),
\WCML\Compatibility\WcProductAddons\Factory::class => defined( 'WC_PRODUCT_ADDONS_VERSION' ) || class_exists( 'Product_Addon_Display' ),
\WCML\Compatibility\PerProductShipping\Factory::class => defined( 'PER_PRODUCT_SHIPPING_VERSION' ),
\WCML\Compatibility\WcExporter\Factory::class => defined( 'WOO_CE_PATH' ),
\WCML\Compatibility\GravityForms\Factory::class => class_exists( 'GFForms' ),
\WCML\Compatibility\Sensei\Factory::class => class_exists( 'WooThemes_Sensei' ),
\WCML\Compatibility\TmExtraProductOptions\Factory::class => class_exists( 'TM_Extra_Product_Options' ),
\WCML\Compatibility\WcDynamicPricing\Factory::class => class_exists( 'WC_Dynamic_Pricing' ),
\WCML\Compatibility\WcBookings\Factory::class => defined( 'WC_BOOKINGS_VERSION' ) && version_compare( WC_BOOKINGS_VERSION, '1.7.8', '>=' ),
\WCML\Compatibility\WoobeBulkEditor\Factory::class => defined( 'WOOBE_PATH' ),
\WCML\Compatibility\WcCheckoutFieldEditor\Factory::class => function_exists( 'woocommerce_init_checkout_field_editor' ),
\WCML\Compatibility\WcBulkStockManagement\Factory::class => class_exists( 'WC_Bulk_Stock_Management' ),
\WCML\Compatibility\WcAjaxLayeredNav\Factory::class => is_plugin_active( 'woocommerce-ajax-layered-nav/ajax_layered_nav-widget.php' ),
\WCML\Compatibility\WcCompositeProducts\Factory::class => isset( $GLOBALS['woocommerce_composite_products'] ),
\WCML\Compatibility\WcCheckoutAddons\Factory::class => class_exists( 'WC_Checkout_Add_Ons_Loader' ),
\WCML\Compatibility\WcMixAndMatch\Factory::class => class_exists( 'WC_Mix_and_Match' ),
\WCML\Compatibility\WpSeo\Factory::class => defined( 'WPSEO_VERSION' ),
\WCML\Compatibility\AdventureTours\Factory::class => function_exists( 'adventure_tours_check' ),
\WCML\Compatibility\Flatsome\Factory::class => $isActiveTheme( 'Flatsome' ),
\WCML\Compatibility\Aurum\Factory::class => $isActiveTheme( 'Aurum' ),
\WCML\Compatibility\WcShowSingleVariations\Factory::class => defined( 'JCK_WSSV_PATH' ),
\WCML\Compatibility\WcPip\Factory::class => class_exists( 'WC_PIP' ),
\WCML\Compatibility\TheEventsCalendar\Factory::class => class_exists( 'Tribe__Events__Main' ),
\WCML\Compatibility\KlarnaPayments\Factory::class => class_exists( 'WC_Gateway_Klarna' ),
\WCML\Compatibility\YithWcQuickView\Factory::class => class_exists( 'YITH_WCQV' ),
\WCML\Compatibility\WcMemberships\Factory::class => class_exists( 'WC_Memberships' ),
\WCML\Compatibility\MaxStorePro\Factory::class => function_exists( 'maxstore_pro_setup' ),
\WCML\Compatibility\WpBakery\Factory::class => defined( 'WPB_VC_VERSION' ),
\WCML\Compatibility\WoofWcProductFilter\Factory::class => defined( 'WOOF_PLUGIN_NAME' ),
\WCML\Compatibility\Relevanssi\Factory::class => function_exists( 'relevanssi_insert_edit' ),
\WCML\Compatibility\WooVariationsTable\Factory::class => defined( 'WOO_VARIATIONS_TABLE_VERSION' ),
\WCML\Compatibility\WpFastestCache\Factory::class => class_exists( 'WpFastestCache' ),
\WCML\Compatibility\WcProductTypeColumn\Factory::class => class_exists( 'WC_Product_Type_Column' ),
\WCML\Compatibility\YikesCustomProductTabs\Factory::class => class_exists( 'YIKES_Custom_Product_Tabs' ),
\WCML\Compatibility\WcOrderStatusManager\Factory::class => class_exists( 'WC_Order_Status_Manager' ),
] )->filter( Logic::isTruthy() )
->keys()
->toArray();
( new \WCML\StandAlone\ActionFilterLoader() )->load( $loaders );
}
}