PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.3.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.3.2
4.3.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 All 165 releases
← All changes | Inc/Classes/Notifications/Module_Conflicts.php +44 -57 4.2.64.0.3.2 View file →
@@ -1,14 +1,10 @@
1 1 <?php
2 -namespace PXLBSAdminify\Inc\Classes\Notifications;
2 +namespace WPAdminify\Inc\Classes\Notifications;
3 3
4 -use PXLBSAdminify\Inc\Classes\Notifications\Model\Notice;
4 +use WPAdminify\Inc\Classes\Notifications\Base\User_Data;
5 +use WPAdminify\Inc\Classes\Notifications\Model\Notice;
5 6
6 -// no direct access allowed
7 -if (!defined('ABSPATH')) {
8 - exit;
9 -}
10 -
11 7 if ( ! class_exists( 'Module_Conflicts' ) ) {
12 8 /**
13 9 * Module_Conflicts Class
14 10 *
@@ -17,31 +13,15 @@
17 13 class Module_Conflicts extends Notice {
18 14
19 15 public $color = 'warning';
20 16
21 - public function __construct() {
17 + public function __construct()
18 + {
19 + // parent::__construct();
22 20 add_action('admin_notices', [$this, 'maybe_show_folder_module_notice'], -9999999);
23 - add_action('admin_footer', array($this, 'enqueue_conflict_plugin_admin_scripts'), 99999);
24 - add_action('wp_ajax_pxlbsadminify_module_conflicts', [$this, 'pxlbsadminify_module_conflicts']);
25 21 }
26 22
27 - public function check_folder_module_conflict(){
28 - $plugins = [
29 - 'folders/folders.php',
30 - 'filebird/filebird.php',
31 - 'real-media-library-lite/index.php',
32 - 'wicked-folders/wicked-folders.php',
33 - 'real-category-library-lite/index.php',
34 - 'wp-media-folders/wp-media-folders.php',
35 - 'media-library-plus/maxgalleria-media-library.php',
36 - ];
37 - $result = $this->maybe_conflicted_plugins_active( $plugins );
38 23
39 - if (!$result) {
40 - return false;
41 - }
42 - return $result;
43 - }
44 24
45 25 /**
46 26 * Dismiss module conflict notice via AJAX.
47 27 *
@@ -50,9 +30,9 @@
50 30 * Handle AJAX request to dismiss the admin notice.
51 31 *
52 32 * @since 1.0.0
53 33 */
54 - public function pxlbsadminify_module_conflicts() {
34 + public function jltwp_adminify_module_conflicts() {
55 35
56 36 if (!current_user_can('install_plugins')) {
57 37 return;
58 38 }
@@ -57,21 +37,18 @@
57 37 return;
58 38 }
59 39
60 40 // Verify nonce for security.
61 - check_ajax_referer( 'pxlbsadminify_dismiss_notice_nonce', 'nonce' );
62 - $plugin_name = isset($_POST['plugin_name']) ? sanitize_text_field(wp_unslash($_POST['plugin_name'])) : '';
63 - if ('' === $plugin_name) {
64 - wp_send_json_error( array( 'message' => __( 'Missing plugin name.', 'adminify' ) ), 400 );
65 - }
66 - $plugin_exists = get_option('pxlbsadminify_plugin_conflict');
41 + check_ajax_referer( 'dismiss_notice_nonce', 'nonce' );
42 + $conflicted_plugins = [];
43 + $plugin_exists = get_option('_wpadminify_plugin_conflict');
67 44 $plugin_exists = is_array($plugin_exists) ? $plugin_exists : [];
68 - $conflicted_plugins = array_merge( $plugin_exists, [ $plugin_name ] );
45 + $conflicted_plugins = array_merge( $plugin_exists, [$_POST['plugin_name']] );
69 46
70 47 // Update user meta to store dismissal state.
71 - update_option('pxlbsadminify_plugin_conflict', $conflicted_plugins );
48 + update_option('_wpadminify_plugin_conflict', $conflicted_plugins );
72 49
73 - $this->force_disable_module('folders');
50 + $this->jltwp_force_disable_module('folders');
74 51 wp_send_json_success( array( 'message' => 'Notice dismissed.' ) );
75 52 }
76 53
77 54 /**
@@ -78,15 +55,15 @@
78 55 * Disable WP Adminify Module.
79 56 *
80 57 * @param string $module_name Module name to disable.
81 58 */
82 - public function force_disable_module( $module_name) {
59 + public function jltwp_force_disable_module( $module_name) {
83 60 // Disable WP Adminify Folder Module
84 - $adminSettings = \PXLBSAdminify\Inc\Admin\AdminSettings::get_instance();
61 + $adminSettings = \WPAdminify\Inc\Admin\AdminSettings::get_instance();
85 62 $options = get_option($adminSettings->get_prefix());
86 63
87 64 $options[$module_name] = false; // force disable
88 - update_option('pxlbsadminify_settings', $options);
65 + update_option('_wpadminify', $options);
89 66 }
90 67
91 68
92 69 /**
@@ -140,18 +117,30 @@
140 117 * @since 1.0.0
141 118 */
142 119 public function maybe_show_folder_module_notice()
143 120 {
144 - $result = $this->check_folder_module_conflict();
145 - if(! $result){
121 + $plugins = [
122 + 'folders/folders.php',
123 + 'filebird/filebird.php',
124 + 'real-media-library-lite/index.php',
125 + 'wicked-folders/wicked-folders.php',
126 + 'real-category-library-lite/index.php',
127 + 'wp-media-folders/wp-media-folders.php',
128 + 'media-library-plus/maxgalleria-media-library.php',
129 + ];
130 +
131 + $result = $this->maybe_conflicted_plugins_active( $plugins );
132 +
133 + if (!$result) {
146 134 return;
147 135 }
148 - $this->force_disable_module('folders');
136 +
137 + $this->jltwp_force_disable_module('folders');
149 138 // Check if the notice has already been dismissed.
150 - $plugin_exists = get_option('pxlbsadminify_plugin_conflict');
139 + $plugin_exists = get_option('_wpadminify_plugin_conflict');
151 140 if(!empty($plugin_exists)){
152 141 if(in_array( $result['Name'], $plugin_exists)){
153 - // $this->force_disable_module('folders');
142 + // $this->jltwp_force_disable_module('folders');
154 143 return;
155 144 }
156 145 }
157 146
@@ -162,12 +151,12 @@
162 151 </div>
163 152 <?php
164 153
165 154
166 - // if (is_admin()) {
167 - // add_action('admin_footer', array($this, 'enqueue_conflict_plugin_admin_scripts'), 99999);
168 - // add_action('wp_ajax_pxlbsadminify_module_conflicts', array($this, 'pxlbsadminify_module_conflicts'));
169 - // }
155 + if (is_admin()) {
156 + add_action('admin_footer', array($this, 'enqueue_conflict_plugin_admin_scripts'), 99999);
157 + add_action('wp_ajax_jltwp_adminify_module_conflicts', array($this, 'jltwp_adminify_module_conflicts'));
158 + }
170 159 }
171 160
172 161 /**
173 162 * Enqueue JavaScript for conflict plugins notice.
@@ -173,21 +162,19 @@
173 162 * Enqueue JavaScript for conflict plugins notice.
174 163 *
175 164 * Enqueue JavaScript that handles the conflict notice dismissal.
176 165 */
177 - public function enqueue_conflict_plugin_admin_scripts() {
178 - if( ! $this->check_folder_module_conflict()) return;
179 -
180 - ?>
166 + public function enqueue_conflict_plugin_admin_scripts() { ?>
167 +
181 168 <script>
182 169
183 - function pxlbsadminify_notice_action(evt, $this, action_type) {
170 + function jltwp_adminify_notice_action(evt, $this, action_type) {
184 171 if (evt) evt.preventDefault();
185 172 $this.closest('.conflict-notice-wp-adminify').slideUp(200);
186 173
187 174 jQuery.post('<?php echo esc_url( admin_url( 'admin-ajax.php' ) ); ?>', {
188 - action: 'pxlbsadminify_module_conflicts',
189 - _wpnonce: '<?php echo esc_js( wp_create_nonce( 'pxlbsadminify_dismiss_notice_nonce' ) ); ?>',
175 + action: 'jltwp_adminify_module_conflicts',
176 + _wpnonce: '<?php echo esc_js( wp_create_nonce( 'dismiss_notice_nonce' ) ); ?>',
190 177 action_type: action_type,
191 178 plugin_name: $this.data('pluginName')
192 179 });
193 180 }
@@ -193,9 +180,9 @@
193 180 }
194 181
195 182 // Notice Dismiss
196 183 jQuery('body').on('click', '.conflict-notice-wp-adminify .wp-adminify-notice-dismiss', function(evt) {
197 - pxlbsadminify_notice_action(evt, jQuery(this), 'dismiss');
184 + jltwp_adminify_notice_action(evt, jQuery(this), 'dismiss');
198 185 });
199 186 </script>
200 187
201 188 <?php
@@ -215,5 +202,5 @@
215 202 return array(0);
216 203 }
217 204
218 205 }
219 -}
206 +}