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