PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 1.0.8
Adminify – White Label, Admin Menu Editor, Login Customizer v1.0.8
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 1.0.8, at Inc/Admin/Modules.php

203 lines 6.0 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\Classes\QuickCircleMenu;
9 use \WPAdminify\Inc\Modules\MenuEditor\MenuEditor;
10 use \WPAdminify\Inc\Modules\AdminColumns\AdminColumns;
11 use \WPAdminify\Inc\Modules\Folders\Folders;
12 use \WPAdminify\Inc\Modules\GooglePageSpeed\GooglePageSpeed;
13 use \WPAdminify\Inc\Modules\LoginCustomizer\LoginCustomizer;
14 use \WPAdminify\Inc\Modules\NotificationBar\NotificationBar;
15 use \WPAdminify\Inc\Modules\SidebarGenerator\Sidebar_Generator;
16 use \WPAdminify\Inc\Modules\DismissNotices\Dismiss_Admin_Notices;
17 use \WPAdminify\Inc\Modules\ActivityLogs\ActivityLogs;
18 use \WPAdminify\Inc\Modules\AdminPages\AdminPages;
19 use \WPAdminify\Inc\Modules\CustomHeaderFooter\CustomHeaderFooter;
20 use \WPAdminify\Inc\Modules\DashboardWidget\DashboardWidget;
21 use \WPAdminify\Inc\Modules\PostDuplicator\PostDuplicator;
22 use \WPAdminify\Inc\Modules\MenuDuplicator\MenuDuplicator;
23 use \WPAdminify\Inc\Modules\PostTypesOrder\PostTypesOrder;
24 use \WPAdminify\Inc\Modules\DisableComments\DisableComments;
25 use \WPAdminify\Inc\Modules\ServerInformation\ServerInformation;
26 use WPAdminify\Inc\Admin\Options\RollbackVersion;
27
28 // no direct access allowed
29 if (!defined('ABSPATH')) exit;
30 /**
31 * WP Adminify
32 * @package Modules
33 *
34 * @author Jewel Theme <support@jeweltheme.com>
35 */
36
37 class Modules extends AdminSettingsModel
38 {
39 public function __construct()
40 {
41 $this->modules_init();
42 add_action( 'admin_notices', [ $this, 'module_conflict_notice' ], -1 );
43 }
44
45 /**
46 * Include Moduels
47 *
48 * @return void
49 */
50 public function modules_init()
51 {
52 $this->options = AdminSettings::get_instance()->get();
53
54 if (Utils::check_modules($this->options['folders'])) {
55 new Folders();
56 }
57
58 if (Utils::check_modules($this->options['quick_menu'])) {
59 new QuickCircleMenu();
60 }
61
62 if (Utils::check_modules($this->options['login_customizer'])) {
63 new LoginCustomizer();
64 }
65
66 if (Utils::check_modules($this->options['admin_notices'])) {
67 new Dismiss_Admin_Notices();
68 }
69
70 if (Utils::check_modules($this->options['admin_columns'])) {
71 new AdminColumns();
72 }
73
74 if (Utils::check_modules($this->options['menu_editor'])) {
75 new MenuEditor();
76 }
77
78 if (Utils::check_modules($this->options['dashboard_widgets'])) {
79 new DashboardWidget();
80 }
81
82 if (Utils::check_modules($this->options['pagespeed_insights'])) {
83 new GooglePageSpeed();
84 }
85
86 if (Utils::check_modules($this->options['custom_css_js'])) {
87 new CustomHeaderFooter();
88 }
89
90 if (Utils::check_modules($this->options['menu_duplicator'])) {
91 new MenuDuplicator();
92 }
93
94 if (Utils::check_modules($this->options['activity_logs'])) {
95 new ActivityLogs();
96 }
97
98 if (Utils::check_modules($this->options['notification_bar'])) {
99 new NotificationBar();
100 }
101
102 if (Utils::check_modules($this->options['admin_pages'])) {
103 new AdminPages();
104 }
105
106 if (Utils::check_modules($this->options['post_duplicator'])) {
107 new PostDuplicator();
108 }
109
110 if (Utils::check_modules($this->options['post_types_order'])) {
111 new PostTypesOrder();
112 }
113
114 if (Utils::check_modules($this->options['disable_comments'])) {
115 new DisableComments();
116 }
117
118 if (Utils::check_modules($this->options['sidebar_generator'])) {
119 new Sidebar_Generator();
120 }
121
122 if (Utils::check_modules($this->options['server_info'])) {
123 new ServerInformation();
124 }
125
126 if (Utils::check_modules($this->options['server_info'])) {
127 new RollbackVersion();
128 }
129 }
130
131 public function maybe_conflicted_plugins_active( $plugins, $module_name )
132 {
133
134 $options = (array) AdminSettings::get_instance()->get();
135
136 if ( ! Utils::check_modules($options[$module_name]) ) return false;
137
138 $active_plugins = get_option( 'active_plugins', [] );
139
140 $is_found = false;
141
142 $_plugin = null;
143
144 foreach ( $active_plugins as $plugin ) {
145 if ( in_array( $plugin, $plugins ) ) {
146 $is_found = true;
147 $_plugin = $plugin;
148 }
149 }
150
151 if ( ! $is_found ) return false;
152
153 require_once ABSPATH . 'wp-admin/includes/plugin.php';
154
155 $all_plugins = get_plugins();
156
157 return $all_plugins[ $_plugin ];
158
159 }
160
161 public function module_conflict_notice() {
162
163 $this->maybe_show_folder_module_notice();
164
165 }
166
167 public function maybe_show_folder_module_notice() {
168
169 $plugins = [
170 'folders/folders.php',
171 'filebird/filebird.php',
172 'real-media-library-lite/index.php',
173 'wicked-folders/wicked-folders.php',
174 'real-category-library-lite/index.php',
175 'wp-media-folders/wp-media-folders.php',
176 'media-library-plus/maxgalleria-media-library.php'
177 ];
178
179 $result = $this->maybe_conflicted_plugins_active( $plugins, 'folders' );
180
181 if ( ! $result ) return;
182
183 ?>
184
185 <div class="notice notice-warning is-dismissible">
186 <p class="notice-brand-identifier"><img width="100" src="<?php echo WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg'; ?>" alt=""></p>
187 <br/>
188 <p>You are using <strong><?php echo $result['Name'] ?></strong> plugin, which serve the same purpose as our folder module.</p>
189 <p>We have Disabled our <strong>Folder</strong> module, to avoid conflicts.</p>
190 </div>
191
192 <?php
193
194 $adminSettings = AdminSettings::get_instance();
195
196 $options = get_option( $adminSettings->prefix );
197 $options['folders'] = false; // force disable
198
199 update_option( $adminSettings->prefix, $options );
200
201 }
202
203 }