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

176 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\Inc\Modules\ServerInformation\ServerInformation ;
26 use WPAdminify\Inc\Admin\Options\RollbackVersion ;
27 // no direct access allowed
28 if ( !defined( 'ABSPATH' ) ) {
29 exit;
30 }
31 /**
32 * WP Adminify
33 * @package Modules
34 *
35 * @author Jewel Theme <support@jeweltheme.com>
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' ], -9999999 );
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 if ( Utils::check_modules( $this->options['folders'] ) ) {
54 new Folders();
55 }
56 if ( Utils::check_modules( $this->options['quick_menu'] ) ) {
57 new QuickCircleMenu();
58 }
59 if ( Utils::check_modules( $this->options['login_customizer'] ) ) {
60 new LoginCustomizer();
61 }
62 if ( Utils::check_modules( $this->options['admin_notices'] ) ) {
63 new Dismiss_Admin_Notices();
64 }
65 if ( Utils::check_modules( $this->options['admin_columns'] ) ) {
66 new AdminColumns();
67 }
68 if ( Utils::check_modules( $this->options['menu_editor'] ) ) {
69 new MenuEditor();
70 }
71 if ( Utils::check_modules( $this->options['dashboard_widgets'] ) ) {
72 new DashboardWidget();
73 }
74 if ( Utils::check_modules( $this->options['pagespeed_insights'] ) ) {
75 new GooglePageSpeed();
76 }
77 if ( Utils::check_modules( $this->options['custom_css_js'] ) ) {
78 new CustomHeaderFooter();
79 }
80 if ( Utils::check_modules( $this->options['menu_duplicator'] ) ) {
81 new MenuDuplicator();
82 }
83 if ( Utils::check_modules( $this->options['activity_logs'] ) ) {
84 ActivityLogs::get_instance();
85 }
86 if ( Utils::check_modules( $this->options['notification_bar'] ) ) {
87 new NotificationBar();
88 }
89 if ( Utils::check_modules( $this->options['post_duplicator'] ) ) {
90 new PostDuplicator();
91 }
92 if ( Utils::check_modules( $this->options['post_types_order'] ) ) {
93 new PostTypesOrder();
94 }
95 if ( Utils::check_modules( $this->options['disable_comments'] ) ) {
96 new DisableComments();
97 }
98 if ( Utils::check_modules( $this->options['sidebar_generator'] ) ) {
99 new Sidebar_Generator();
100 }
101 if ( Utils::check_modules( $this->options['server_info'] ) ) {
102 new ServerInformation();
103 }
104 // TO DO: Turned Off for future release, after making Network Options stable
105 // if (Utils::check_modules($this->options['server_info'])) {
106 // new RollbackVersion();
107 // }
108 }
109
110 public function maybe_conflicted_plugins_active( $plugins, $module_name )
111 {
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
121 if ( in_array( $plugin, $plugins ) ) {
122 $is_found = true;
123 $_plugin = $plugin;
124 }
125
126 }
127 if ( !$is_found ) {
128 return false;
129 }
130 require_once ABSPATH . 'wp-admin/includes/plugin.php';
131 $all_plugins = get_plugins();
132 return $all_plugins[$_plugin];
133 }
134
135 public function module_conflict_notice()
136 {
137 $this->maybe_show_folder_module_notice();
138 }
139
140 public function maybe_show_folder_module_notice()
141 {
142 $plugins = [
143 'folders/folders.php',
144 'filebird/filebird.php',
145 'real-media-library-lite/index.php',
146 'wicked-folders/wicked-folders.php',
147 'real-category-library-lite/index.php',
148 'wp-media-folders/wp-media-folders.php',
149 'media-library-plus/maxgalleria-media-library.php'
150 ];
151 $result = $this->maybe_conflicted_plugins_active( $plugins, 'folders' );
152 if ( !$result ) {
153 return;
154 }
155 ?>
156
157 <div class="notice notice-warning is-dismissible">
158 <p class="notice-brand-identifier"><img width="100" src="<?php
159 echo WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg' ;
160 ?>" alt=""></p>
161 <br />
162 <p>You are using <strong><?php
163 echo $result['Name'] ;
164 ?></strong> plugin, which serve the same purpose as our folder module.</p>
165 <p>We have Disabled our <strong>Folder</strong> module, to avoid conflicts.</p>
166 </div>
167
168 <?php
169 $adminSettings = AdminSettings::get_instance();
170 $options = get_option( $adminSettings->prefix );
171 $options['folders'] = false;
172 // force disable
173 update_option( $adminSettings->prefix, $options );
174 }
175
176 }