File: /home/royaltuning/public_html/public/wp-content/plugins/easysales/easysales.php
<?php
/**
* Plugin Name: easySales
* Plugin URI: https://easysales.ro
* Description: Connector for easySales platform
* Version: 1.1.89
* Author: easySales
* Author URI: https://easysales.ro/
* Developer: Valentin Sirbu
* Developer URI: https://easy-sales.com/
*
* WC requires at least: 3.0.0
* WC tested up to: 8.2.0
*
* @author easySales
* @copyright Copyright (c) SMARTIT GLOBAL S.R.L
*/
/** Exit if accessed directly **/
if ( !defined( 'ABSPATH' ) ) exit;
/**
* Check if WooCommerce is activated for MultiSite
*/
if ( ! function_exists( 'es_is_woocommerce_activated' ) ) {
function es_is_woocommerce_activated() {
if ( class_exists( 'woocommerce' ) ) { return true; } else { return false; }
}
}
/**
* Check if WooCommerce is activated for MultiSite - Version 2
*/
if ( ! function_exists( 'es_is_woocommerce_activated_v2' ) ) {
function es_is_woocommerce_activated_v2() {
$active_plugins = ( is_multisite() ) ?
array_keys( get_site_option( 'active_sitewide_plugins', array() ) ) :
apply_filters( 'active_plugins', get_option( 'active_plugins', array() ) );
foreach ( $active_plugins as $active_plugin ) {
$active_plugin = explode( '/', $active_plugin );
if ( isset( $active_plugin[1] ) && 'woocommerce.php' === $active_plugin[1] ) {
return true;
}
}
return false;
}
}
// Declare compatibility with WooCommerce High Performance Order Storage (HPOS)
add_action( 'before_woocommerce_init', function() {
if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
}
});
/**
* Check if WooCommerce is active
**/
if ( es_check_woocommerce() ) {
/**
* Define Constants
**/
define( 'EASYSALES_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'EASYSALES_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
define( 'EASYSALES_PLUGIN_VERSION', '1.1.89' );
define( 'EASYSALES_API_URL', 'https://woocommerce3-microservice.easysales.ro/api/v1/website');
/**
* Plugin Class
**/
require_once EASYSALES_PLUGIN_DIR . 'includes/EasySales.php';
/**
* Api Controller
**/
require_once EASYSALES_PLUGIN_DIR . 'includes/ApiController.php';
/**
* Transformers
**/
require_once EASYSALES_PLUGIN_DIR . 'includes/Transformers/ProductTransformer.php';
require_once EASYSALES_PLUGIN_DIR . 'includes/Transformers/OrderTransformer.php';
/**
* Models
**/
require_once EASYSALES_PLUGIN_DIR . 'includes/Models/ProductModel.php';
require_once EASYSALES_PLUGIN_DIR . 'includes/Models/OrderModel.php';
/**
* Request Class| wp_remote_post wrapper
**/
require_once EASYSALES_PLUGIN_DIR . 'includes/Request.php';
/**
* Init Transformers
**/
$product_transformer = new ProductTransformer();
$order_transformer = new OrderTransformer();
/**
* Create controller instance
* @var ApiController $apiController
*/
$apiController = new ApiController($product_transformer, $order_transformer);
/**
* Create plugin instance
* @var EasySales $pluginInstance
*/
$pluginInstance = new EasySales($apiController, $product_transformer, $order_transformer);
}
/**
* Check if woocommerce exists in either multisite setup or normal setup
*/
function es_check_woocommerce() {
if (is_multisite()) {
$isActive = es_is_woocommerce_activated();
if(!$isActive){
$isActive = es_is_woocommerce_activated_v2();
}
/** Check also if woocommerce is activated on existing site **/
if(!$isActive){
$isActive = in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) );
}
return $isActive;
} else {
return in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) );
}
}