PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.2.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.2.2
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
adminify / Inc / Admin / Modules.php

Modules.php in Adminify – White Label, Admin Menu Editor, Login Customizer 4.0.2.2, at Inc/Admin/Modules.php

157 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPAdminify\Inc\Admin;
4
5 use WPAdminify\Inc\Utils;
6 use \WPAdminify\Inc\Admin\AdminSettings;
7 use \WPAdminify\Inc\Admin\AdminSettingsModel;
8 use \WPAdminify\Inc\Modules\MenuEditor\MenuEditor;
9 use \WPAdminify\Inc\Modules\MenuDuplicator\MenuDuplicator;
10 use \WPAdminify\Inc\Modules\PostDuplicator\PostDuplicator;
11 use \WPAdminify\Inc\Modules\PostTypesOrder\PostTypesOrder;
12 use \WPAdminify\Inc\Modules\Folders\Folders;
13 use \WPAdminify\Inc\Modules\DisableComments\DisableComments;
14 use \WPAdminify\Inc\Modules\ServerInformation\ServerInformation;
15 use \WPAdminify\Inc\Modules\DismissNotices\Dismiss_Admin_Notices;
16 use \WPAdminify\Inc\Modules\DashboardWidget\DashboardWidget;
17 use WPAdminify\Inc\Admin\Options\RollbackVersion;
18
19 // no direct access allowed
20 if (!defined('ABSPATH')) {
21 exit;
22 }
23 /**
24 * WP Adminify
25 *
26 * @package Modules
27 *
28 * @author Jewel Theme <support@jeweltheme.com>
29 */
30
31 class Modules extends AdminSettingsModel
32 {
33
34 public function __construct()
35 {
36 $this->modules_init();
37 add_action('admin_notices', [$this, 'module_conflict_notice'], -9999999);
38 }
39
40 /**
41 * Include Moduels
42 *
43 * @return void
44 */
45 public function modules_init()
46 {
47 $this->options = AdminSettings::get_instance()->get();
48
49 new Dismiss_Admin_Notices();
50
51 if (!empty($this->options['folders']['enable_folders'])) {
52 new Folders();
53 }
54
55 if (!empty($this->options['post_duplicator']['enable_post_duplicator'])) {
56 new PostDuplicator();
57 }
58
59 if (!empty($this->options['menu_duplicator'])) {
60 new MenuDuplicator();
61 }
62
63 if (!empty($this->options['post_types_order']['enable_pto'])) {
64 new PostTypesOrder();
65 }
66
67 if (!empty($this->options['disable_comments']['enable_disable_comments'] ) ) {
68 new DisableComments();
69 }
70
71 if (!empty($this->options['dashboard_widgets'])) {
72 new DashboardWidget();
73 }
74
75 // new ServerInformation();
76 MenuEditor::get_instance();
77
78 // TO DO: Turned Off for future release, after making Network Options stable
79 // if (Utils::check_modules($this->options['server_info'])) {
80 // new RollbackVersion();
81 // }
82 }
83
84 public function maybe_conflicted_plugins_active( $plugins )
85 {
86 // $options = (array) AdminSettings::get_instance()->get();
87 // if (!Utils::check_modules($options[$module_name])) {
88 // return false;
89 // }
90
91 $active_plugins = get_option('active_plugins', []);
92
93 $is_found = false;
94
95 $_plugin = null;
96
97 foreach ($active_plugins as $plugin) {
98 if (in_array($plugin, $plugins)) {
99 $is_found = true;
100 $_plugin = $plugin;
101 }
102 }
103
104 if (!$is_found) {
105 return false;
106 }
107
108 require_once ABSPATH . 'wp-admin/includes/plugin.php';
109
110 $all_plugins = get_plugins();
111
112 return $all_plugins[$_plugin];
113 }
114
115 public function module_conflict_notice()
116 {
117 $this->maybe_show_folder_module_notice();
118 }
119
120 public function maybe_show_folder_module_notice()
121 {
122 $plugins = [
123 'folders/folders.php',
124 'filebird/filebird.php',
125 'real-media-library-lite/index.php',
126 'wicked-folders/wicked-folders.php',
127 'real-category-library-lite/index.php',
128 'wp-media-folders/wp-media-folders.php',
129 'media-library-plus/maxgalleria-media-library.php',
130 ];
131
132 $result = $this->maybe_conflicted_plugins_active( $plugins );
133
134 if (!$result) {
135 return;
136 }
137
138 ?>
139
140 <div class="notice notice-warning is-dismissible">
141 <p class="notice-brand-identifier"><img width="100" src="<?php echo esc_url(WP_ADMINIFY_ASSETS_IMAGE) . 'logos/logo-text-light.svg'; ?>" alt=""></p>
142 <br />
143 <?php echo sprintf(wp_kses_post('<p>You are using <strong>%s</strong> plugin, which serve the same purpose as our folder module.</p><p>We have Disabled our <strong>Folder</strong> module, to avoid conflicts.</p>'), esc_html($result['Name'])); ?>
144
145 </div>
146
147 <?php
148
149 $adminSettings = AdminSettings::get_instance();
150
151 $options = get_option($adminSettings->prefix);
152 $options['folders'] = false; // force disable
153
154 update_option($adminSettings->prefix, $options);
155 }
156 }
157