Файловый менеджер - Редактировать - /home/adiggxhn/ics.gt/wp-content/plugins/ultimate-store-kit/loader.php
Ðазад
<?php namespace UltimateStoreKit; use Elementor\Plugin; use Elementor\Core\Kits\Documents\Kit; use UltimateStoreKit\Manager; use UltimateStoreKit\Admin\Dashboard; if (!defined('ABSPATH')) exit; // Exit if accessed directly /** * Main class for element pack */ class Ultimate_Store_Kit_Loader { /** * @var Ultimate_Store_Kit_Loader */ private static $_instance; /** * @var Manager */ private $_modules_manager; private $classes_aliases = [ 'UltimateStoreKit\Modules\PanelPostsControl\Module' => 'UltimateStoreKit\Modules\QueryControl\Module', 'UltimateStoreKit\Modules\PanelPostsControl\Controls\Group_Control_Posts' => 'UltimateStoreKit\Modules\QueryControl\Controls\Group_Control_Posts', 'UltimateStoreKit\Modules\PanelPostsControl\Controls\Query' => 'UltimateStoreKit\Modules\QueryControl\Controls\Query', ]; public $elements_data = [ 'sections' => [], 'columns' => [], 'widgets' => [], ]; /** * @return string * @deprecated * */ public function get_version() { return BDTUSK_VER; } /** * return active theme */ public function get_theme() { return wp_get_theme(); } /** * Throw error on object clone * * The whole idea of the singleton design pattern is that there is a single * object therefore, we don't want the object to be cloned. * * @return void * @since 1.0.0 */ public function __clone() { // Cloning instances of the class is forbidden _doing_it_wrong(__FUNCTION__, esc_html__('Cheatin’ huh?', 'ultimate-store-kit'), '1.6.0'); } /** * Disable unserializing of the class * * @return void * @since 1.0.0 */ public function __wakeup() { // Unserializing instances of the class is forbidden _doing_it_wrong(__FUNCTION__, esc_html__('Cheatin’ huh?', 'ultimate-store-kit'), '1.6.0'); } /** * @return Plugin */ public static function elementor() { return Plugin::$instance; } /** * @return Ultimate_Store_Kit_Loader */ public static function instance() { if (is_null(self::$_instance)) { self::$_instance = new self(); } do_action('bdthemes_ultimate_store_kit/init'); return self::$_instance; } /** * we loaded module manager + admin php from here * @return [type] [description] */ private function _includes() { // require_once BDTUSK_ADMIN_PATH . 'module-settings.php'; // ======================== // Helper for global usec //========================== require(BDTUSK_PATH . 'base/support/helpers.php'); //=========================== // WISHLIST //=========================== require(BDTUSK_INC_PATH . 'wishlist-compare.php'); //=========================== // WISHLIST //=========================== // all widgets control from here // require BDTUSK_INC_PATH . 'global-controls.php'; require BDTUSK_INC_PATH . 'modules-manager.php'; // Dynamic Select control // require BDTUSK_INC_PATH . 'controls/group-query/group-control-query.php'; require BDTUSK_INC_PATH . 'controls/select-input/dynamic-select-input-module.php'; require BDTUSK_INC_PATH . 'controls/select-input/dynamic-select.php'; require_once 'includes/modal/modal-settings.php'; //GLOBAL CONTROLS require_once BDTUSK_PATH . 'traits/global-widget-controls.php'; require_once BDTUSK_PATH . 'traits/global-widget-template.php'; // GRID TEMPLATES require_once BDTUSK_PATH . 'templates/shiny-grid.php'; require_once BDTUSK_PATH . 'templates/florence-grid.php'; require_once BDTUSK_PATH . 'templates/glossy-grid.php'; if (class_exists('woocommerce')) { require_once BDTUSK_PATH . 'includes/builder/loading-builder.php'; } } /** * Autoloader function for all classes files * @param [type] string * @return [type] [description] */ public function autoload($class) { if (0 !== strpos($class, __NAMESPACE__)) { return; } $has_class_alias = isset($this->classes_aliases[$class]); // Backward Compatibility: Save old class name for set an alias after the new class is loaded if ($has_class_alias) { $class_alias_name = $this->classes_aliases[$class]; $class_to_load = $class_alias_name; } else { $class_to_load = $class; } if (!class_exists($class_to_load)) { $filename = strtolower( preg_replace( ['/^' . __NAMESPACE__ . '\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/'], ['', '$1-$2', '-', DIRECTORY_SEPARATOR], $class_to_load ) ); $filename = BDTUSK_PATH . $filename . '.php'; if (is_readable($filename)) { include($filename); } } if ($has_class_alias) { class_alias($class_alias_name, $class); } } /** * Register all script that need for any specific widget on call basis. * @return [type] [description] */ public function register_site_scripts() { wp_register_script('datatables', BDTUSK_ASSETS_URL . 'vendor/js/datatables.js', [], '1.0.0', true); wp_register_script('micromodal', BDTUSK_ASSETS_URL . 'vendor/js/micromodal.js', [], '1.0.0', true); wp_register_script('usk-accordion', BDTUSK_ASSETS_URL . 'vendor/js/accordion.js', [], '1.0.0', true); if (ultimate_store_kit_is_widget_enabled('image-hotspot')) { wp_register_script('popper', BDTUSK_ASSETS_URL . 'vendor/js/popper.min.js', ['jquery'], null, true); wp_register_script('tippyjs', BDTUSK_ASSETS_URL . 'vendor/js/tippy.all.min.js', ['jquery'], null, true); } } public function register_site_styles() { $direction_suffix = is_rtl() ? '.rtl' : ''; wp_register_style('usk-all-styles', BDTUSK_URL . 'assets/css/all-styles' . $direction_suffix . '.css', [], BDTUSK_VER); wp_register_style('usk-font', BDTUSK_URL . 'assets/css/font' . $direction_suffix . '.css', [], BDTUSK_VER); if (ultimate_store_kit_is_widget_enabled('image-hotspot')) { wp_register_style('tippy', BDTUSK_URL . 'assets/css/tippy' . $direction_suffix . '.css', [], BDTUSK_VER); } } /** * Loading site related style from here. * @return [type] [description] */ public function enqueue_site_styles() { $direction_suffix = is_rtl() ? '.rtl' : ''; wp_register_style('usk-site', BDTUSK_ASSETS_URL . 'css/site' . $direction_suffix . '.css', [], BDTUSK_VER); wp_register_style('slick-modal', BDTUSK_ASSETS_URL . 'vendor/css/slickmodal.css', [], BDTUSK_VER); wp_register_style('toolslide-css', BDTUSK_ASSETS_URL . 'vendor/css/toolslide.css', [], BDTUSK_VER); wp_enqueue_style('usk-site'); wp_enqueue_style('slick-modal'); wp_enqueue_style('toolslide-css'); } /** * Loading site related script that needs all time such as uikit. * @return [type] [description] */ public function enqueue_site_scripts() { wp_register_script('usk-core', BDTUSK_ASSETS_URL . 'js/core.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate wp_register_script('usk-site', BDTUSK_ASSETS_URL . 'js/site.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate wp_register_script('slick-modal', BDTUSK_ASSETS_URL . 'vendor/js/jquery.slickmodal.js', ['jquery'], BDTUSK_VER, true); // tooltip file should be separate wp_register_script('toolslide-js', BDTUSK_ASSETS_URL . 'vendor/js/toolslide.js', [], BDTUSK_VER, true); // tooltip file should be separate wp_enqueue_script('usk-core'); // wp_enqueue_script('usk-site'); wp_enqueue_script('slick-modal'); wp_enqueue_script('toolslide-js'); wp_localize_script('usk-core', 'ultimate_store_kit_ajax_config', array( 'ajaxurl' => admin_url('admin-ajax.php'), )); } public function enqueue_editor_scripts() { wp_register_script('usk-editor', BDTUSK_ASSETS_URL . 'js/editor.js', ['backbone-marionette', 'elementor-common-modules', 'elementor-editor-modules',], BDTUSK_VER, true); wp_enqueue_script('usk-editor'); $_is_usk_pro_activated = false; if (function_exists('usk_license_validation') && true === usk_license_validation()) { $_is_usk_pro_activated = true; } $localize_data = [ 'pro_installed' => _is_usk_pro_activated(), 'pro_license_activated' => $_is_usk_pro_activated, 'promotional_widgets' => [], ]; if (!$_is_usk_pro_activated) { $pro_widget_map = new \UltimateStoreKit\Includes\Pro_Widget_Map(); $localize_data['promotional_widgets'] = $pro_widget_map->get_pro_widget_map(); } wp_localize_script('usk-editor', 'UltimateStoreKitConfigEditor', $localize_data); } public function enqueue_admin_scripts() { wp_register_script('usk-admin', BDTUSK_ASSETS_URL . 'js/admin.js', ['jquery'], BDTUSK_VER, true); wp_enqueue_script('usk-admin'); } public function enqueue_editor_styles() { $direction_suffix = is_rtl() ? '.rtl' : ''; wp_register_style('usk-editor', BDTUSK_ASSETS_URL . 'css/editor' . $direction_suffix . '.css', [], BDTUSK_VER); wp_register_style('usk-font', BDTUSK_ASSETS_URL . 'css/font' . $direction_suffix . '.css', [], BDTUSK_VER); wp_enqueue_style('usk-editor'); wp_enqueue_style('usk-font'); } public function ultimate_store_kit_init() { $this->_modules_manager = new Manager(); $this->ultimate_store_kit_modal_settings_init(); do_action('bdthemes_ultimate_store_kit/init'); } /** * initialize the category * @return [type] [description] */ public function ultimate_store_kit_category_register() { $elementor = Plugin::$instance; $new_category = [ 'ultimate-store-kit-single' => [ 'title' => 'Ultimate Store Kit (Single)', 'icon' => 'font', ], 'ultimate-store-kit-my-account' => [ 'title' => 'Ultimate Store Kit (Account)', 'icon' => 'font', ], 'ultimate-store-kit-checkout' => [ 'title' => 'Ultimate Store Kit (Checkout)', 'icon' => 'font', 'active' => false, ], 'ultimate-store-kit-order-thankyou' => [ 'title' => 'Ultimate Store Kit (ThankYou)', 'icon' => 'font', 'active' => false, ], ]; $existing_categories = $elementor->elements_manager->get_categories(); $merged_categories = $new_category + $existing_categories; /** * Override categories using reflection (since it's private) */ $reflection = new \ReflectionClass($elementor->elements_manager); $property = $reflection->getProperty('categories'); // $property->setAccessible(true); $property->setValue($elementor->elements_manager, $merged_categories); $elementor->elements_manager->add_category(BDTUSK_SLUG, ['title' => BDTUSK_TITLE, 'icon' => 'font']); } /** * Setup all hooks here * @return [type] [description] */ private function setup_hooks() { add_filter('body_class', [$this, 'add_body_classes']); add_action('elementor/elements/categories_registered', [$this, 'ultimate_store_kit_category_register'], 1, 1); add_action('elementor/init', [$this, 'ultimate_store_kit_init']); add_action('elementor/editor/after_enqueue_styles', [$this, 'enqueue_editor_styles']); add_action('wp_enqueue_scripts', [$this, 'register_site_styles'], 99999); add_action('wp_enqueue_scripts', [$this, 'register_site_scripts'], 99999); add_action('wp_enqueue_scripts', [$this, 'enqueue_site_styles'], 99999); add_action('wp_enqueue_scripts', [$this, 'enqueue_site_scripts'], 99999); add_action('elementor/editor/after_enqueue_scripts', [$this, 'enqueue_editor_scripts']); add_action('admin_enqueue_scripts', [$this, 'enqueue_admin_scripts']); } public function add_body_classes($classes) { $single_page_checkout_classes = ['ultimate-store-kit']; return is_array($classes) ? array_merge($classes, $single_page_checkout_classes) : $classes . ' ' . implode(' ', $single_page_checkout_classes); } public function ultimate_store_kit_modal_settings_init() { require 'includes/modal/modal-controls.php'; add_action('elementor/kit/register_tabs', function (Kit $kit) { $kit->register_tab('ultimate-store-kit-modal', Includes\Settings\Settings_Modal::class); }, 1, 40); } public function init() { if (!defined('BDTUSK_CH') && is_admin()) { Dashboard::get_instance(); } } /** * Ultimate_Store_Kit_Loader constructor. */ private function __construct() { // Register class automatically spl_autoload_register([$this, 'autoload']); // Include some backend files $this->_includes(); // Finally hooked up all things here $this->setup_hooks(); // Register REST API routes unconditionally (outside is_admin) \UltimateStoreKit\API\Settings::get_instance(); add_action('init', [$this, 'init']); } } if (!defined('BDTUSK_TESTS')) { // In tests we run the instance manually. Ultimate_Store_Kit_Loader::instance(); } // handy fundtion for push data function ultimate_store_kit_config() { return Ultimate_Store_Kit_Loader::instance(); }
| ver. 1.1 | |
.
| PHP 8.4.20 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка