Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/bdthemes-element-pack/includes/modules-manager.php
Keine Baseline-Datei – Diff nur gegen leer.
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
+