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