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

177 lines 6.2 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\Pro\RedirectUrls\RedirectUrls ;
26 use WPAdminify\Inc\Modules\ServerInformation\ServerInformation ;
27 use WPAdminify\Inc\Admin\Options\RollbackVersion ;
28 // no direct access allowed
29 if ( !defined( 'ABSPATH' ) ) {
30 exit;
31 }
32 /**
33 * WP Adminify
34 * @package Modules
35 *
36 * @author Jewel Theme <support@jeweltheme.com>
37 */
38 class Modules extends AdminSettingsModel
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['admin_notices'] ) ) {
61 new Dismiss_Admin_Notices();
62 }
63 if ( Utils::check_modules( $this->options['menu_duplicator'] ) ) {
64 new MenuDuplicator();
65 }
66 if ( Utils::check_modules( $this->options['post_duplicator'] ) ) {
67 new PostDuplicator();
68 }
69 if ( Utils::check_modules( $this->options['post_types_order'] ) ) {
70 new PostTypesOrder();
71 }
72 if ( Utils::check_modules( $this->options['disable_comments'] ) ) {
73 new DisableComments();
74 }
75 if ( Utils::check_modules( $this->options['dashboard_widgets'] ) ) {
76 new DashboardWidget();
77 }
78 if ( Utils::check_modules( $this->options['custom_css_js'] ) ) {
79 new CustomHeaderFooter();
80 }
81 if ( Utils::check_modules( $this->options['sidebar_generator'] ) ) {
82 new Sidebar_Generator();
83 }
84 if ( Utils::check_modules( $this->options['server_info'] ) ) {
85 new ServerInformation();
86 }
87 if ( Utils::check_modules( $this->options['notification_bar'] ) ) {
88 new NotificationBar();
89 }
90 if ( Utils::check_modules( $this->options['pagespeed_insights'] ) ) {
91 new GooglePageSpeed();
92 }
93 if ( Utils::check_modules( $this->options['login_customizer'] ) ) {
94 new LoginCustomizer();
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 }
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 ?>
157
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>
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 }
176
177 }