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