File: /var/www/html/maisonimmobiliare/wp-content/plugins/emb3d-model-viewer/emb3d-model-viewer.php
<?php
/**
* The plugin bootstrap file
*
* This file is read by WordPress to generate the plugin information in the plugin
* admin area. This file also includes all of the dependencies used by the plugin,
* registers the activation and deactivation functions, and defines a function
* that starts the plugin.
*
* @link https://www.emb3d.com/
* @since 1.0.0
* @package Emb3D_Model_Viewer
*
* @wordpress-plugin
* Plugin Name: Emb3D Model Viewer
* Plugin URI: https://www.emb3d.com/
* Description: 3D Model Viewer for Woocommerce and Elementor
* Version: 1.0.6
* Author: Netfarm S.r.l.
* Author URI: https://www.netfarm.it/
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain: emb3d-model-viewer
* Domain Path: /languages
*/
// If this file is called directly, abort.
if (!defined('WPINC')) {
die;
}
// load constants
require plugin_dir_path(__FILE__) . 'includes/constants.php';
/**
* The core plugin class that is used to define internationalization,
* admin-specific hooks, and public-facing site hooks.
*/
require plugin_dir_path(__FILE__) . 'includes/class-emb3d-model-viewer.php';
final class Emb3D_Model_Viewer_Bootstrap
{
/**
* Plugin Version
*
* @since 1.0.0
* @var string The plugin version.
*/
const VERSION = Emb3D::PLUGIN_VERSION;
/**
* Minimum Elementor Version
*
* @since 1.0.0
* @var string Minimum Elementor version required to run the plugin.
*/
const MINIMUM_ELEMENTOR_VERSION = '3.7.0';
/**
* Minimum PHP Version
*
* @since 1.0.0
* @var string Minimum PHP version required to run the plugin.
*/
const MINIMUM_PHP_VERSION = '7.2';
/**
* Constructor
*
* @since 1.0.0
* @access public
*/
public function __construct()
{
// Init Plugin
add_action('plugins_loaded', [$this, 'init']);
}
/**
* Initialize the plugin
*
* Validates that Elementor is already loaded.
* Checks for basic plugin requirements, if one check fail don't continue,
* if all check have passed include the plugin class.
*
* Fired by `plugins_loaded` action hook.
*
* @since 1.0.0
* @access public
*/
public function init()
{
// Check if Elementor installed and activated
if (did_action('elementor/loaded')) {
// Check for required Elementor version
if (!version_compare(ELEMENTOR_VERSION, self::MINIMUM_ELEMENTOR_VERSION, '>=')) {
add_action('admin_notices', [$this, 'admin_notice_minimum_elementor_version']);
return;
}
}
// Check for required PHP version
if (version_compare(PHP_VERSION, self::MINIMUM_PHP_VERSION, '<')) {
add_action('admin_notices', [$this, 'admin_notice_minimum_php_version']);
return;
}
// Once we get here, We have passed all validation checks so we can safely run our plugin
$plugin = new Emb3D_Model_Viewer();
$plugin->run();
}
/**
* Admin notice
*
* Warning when the site doesn't have Elementor installed or activated.
*
* @since 1.0.0
* @access public
*/
public function admin_notice_missing_main_plugin()
{
if (isset($_GET['activate'])) {
unset($_GET['activate']);
}
$message = sprintf(
/* translators: 1: Plugin name 2: Elementor */
esc_html__('"%1$s" requires "%2$s" to be installed and activated.', 'emb3d-model-viewer'),
'<strong>' . esc_html__(Emb3D::PLUGIN_TITLE, 'emb3d-model-viewer') . '</strong>',
'<strong>' . esc_html__('Elementor', 'emb3d-model-viewer') . '</strong>'
);
printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
}
/**
* Admin notice
*
* Warning when the site doesn't have a minimum required Elementor version.
*
* @since 1.0.0
* @access public
*/
public function admin_notice_minimum_elementor_version()
{
if (isset($_GET['activate'])) {
unset($_GET['activate']);
}
$message = sprintf(
/* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'emb3d-model-viewer'),
'<strong>' . esc_html__(Emb3D::PLUGIN_TITLE, 'emb3d-model-viewer') . '</strong>',
'<strong>' . esc_html__('Elementor', 'emb3d-model-viewer') . '</strong>',
self::MINIMUM_ELEMENTOR_VERSION
);
printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
}
/**
* Admin notice
*
* Warning when the site doesn't have a minimum required PHP version.
*
* @since 1.0.0
* @access public
*/
public function admin_notice_minimum_php_version()
{
if (isset($_GET['activate'])) {
unset($_GET['activate']);
}
$message = sprintf(
/* translators: 1: Plugin name 2: PHP 3: Required PHP version */
esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'emb3d-model-viewer'),
'<strong>' . esc_html__(Emb3D::PLUGIN_TITLE, 'emb3d-model-viewer') . '</strong>',
'<strong>' . esc_html__('PHP', 'emb3d-model-viewer') . '</strong>',
self::MINIMUM_PHP_VERSION
);
printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
}
}
new Emb3D_Model_Viewer_Bootstrap();