Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/bdthemes-element-pack/includes/modules-manager.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 +
3 + namespace ElementPack;
4 +
5 + use ElementPack\Admin\ModuleService;
6 +
7 + if (!defined('ABSPATH')) {
8 + exit;
9 + } // Exit if accessed directly
10 +
11 + final class Manager {
12 +
13 +
14 + public function register_module_and_assets() {
15 +
16 + ModuleService::get_widget_settings(function ($settings) {
17 + $core_widgets = $settings['settings_fields']['element_pack_active_modules'];
18 + $extensions = $settings['settings_fields']['element_pack_elementor_extend'];
19 + $third_party_widgets = $settings['settings_fields']['element_pack_third_party_widget'];
20 +
21 + /**
22 + * Our Widget
23 + */
24 + foreach ($core_widgets as $widget) {
25 + if (element_pack_is_widget_enabled($widget['name'])) {
26 + $this->load_module_instance($widget);
27 + }
28 + }
29 +
30 + /**
31 + * Extension
32 + */
33 + foreach ($extensions as $extension) {
34 + if (element_pack_is_extend_enabled($extension['name'])) {
35 + $this->load_module_instance($extension);
36 + }
37 + }
38 +
39 + /**
40 + * Third Party Widget
41 + */
42 + foreach ($third_party_widgets as $widget) {
43 + if (element_pack_is_third_party_enabled($widget['name'])) {
44 + if (isset($widget['plugin_path']) && ModuleService::is_plugin_active($widget['plugin_path'])) {
45 + $this->load_module_instance($widget);
46 + }
47 + }
48 + }
49 + // Static module if need
50 + $this->load_module_instance(['name' => 'elementor']);
51 + });
52 + }
53 +
54 + public function load_module_instance($module) {
55 +
56 + if(isset($_GET['page']) && 'element_pack_options' == $_GET['page']){
57 + return;
58 + }
59 +
60 + $direction = is_rtl() ? '.rtl' : '';
61 + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
62 +
63 + $module_id = $module['name'];
64 + $class_name = str_replace('-', ' ', $module_id);
65 + $class_name = str_replace(' ', '', ucwords($class_name));
66 + $class_name = __NAMESPACE__ . '\\Modules\\' . $class_name . '\\Module';
67 +
68 + if (!element_pack_is_asset_optimization_enabled()) {
69 + if (!element_pack_is_preview()) {
70 + // register widgets css
71 + if (ModuleService::has_module_style($module_id)) {
72 + wp_register_style('ep-' . $module_id, BDTEP_URL . 'assets/css/ep-' . $module_id . $direction . '.css', ['bdt-uikit', 'ep-helper'], BDTEP_VER);
73 + }
74 + // register widget JS
75 + if (ModuleService::has_module_script($module_id)) {
76 + wp_register_script('ep-' . $module_id, BDTEP_URL . 'assets/js/modules/ep-' . $module_id . $suffix . '.js', ['jquery', 'bdt-uikit'], BDTEP_VER, true);
77 + }
78 + }
79 + }
80 +
81 + if (class_exists($class_name)) {
82 + $class_name::instance();
83 + }
84 + }
85 +
86 + public function __construct() {
87 +
88 + $this->register_module_and_assets();
89 + }
90 + }
91 +