PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.2.5
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.2.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
adminify / Inc / Classes / ThirdPartyCompatibility.php

ThirdPartyCompatibility.php in Adminify – White Label, Admin Menu Editor, Login Customizer 4.0.2.5, at Inc/Classes/ThirdPartyCompatibility.php

349 lines 14.8 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\Classes;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Admin\AdminSettings;
7 use WPAdminify\Inc\Modules\MenuEditor\MenuEditorOptions;
8 // no direct access allowed
9 if ( !defined( 'ABSPATH' ) ) {
10 exit;
11 }
12 /**
13 * WPAdminify
14 * Third Party Plugins Compatibility
15 *
16 * @author Jewel Theme <support@jeweltheme.com>
17 */
18 class ThirdPartyCompatibility {
19 public $menu_settings;
20
21 public function __construct() {
22 $this->menu_settings = ( new MenuEditorOptions() )->get();
23 add_action( 'init', [$this, 'register_actions_on_init'], 0 );
24 add_action( 'admin_init', [$this, 'register_actions_on_admin_init'], 0 );
25 // 24-3-24
26 add_action( 'admin_enqueue_scripts', [$this, 'jltwp_adminify_reset_theme_conflicts'], 999999 );
27 // 28-6-24
28 add_action( 'admin_head', [$this, 'jltwp_adminify_plugin_conflicts'], 999999 );
29 }
30
31 public function jltwp_adminify_plugin_conflicts() {
32 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
33 if ( !empty( $adminify_ui ) ) {
34 // Motopress Hotel Booking Lite
35 if ( Utils::is_plugin_active( 'motopress-hotel-booking-lite/motopress-hotel-booking.php' ) ) {
36 echo '<style>
37 .wp-adminify.bookings_page_mphb_calendar .widefat thead th,
38 .wp-adminify.bookings_page_mphb_calendar .widefat tfoot th,
39 .wp-adminify.bookings_page_mphb_calendar .widefat tbody td {
40 padding: 0 !important;
41 }
42 .adminify-ui .widefat tbody tr td:first-child {
43 border-left-color: inherit !important;
44 }
45 </style>';
46 }
47 }
48 if ( Utils::is_plugin_active( 'squirrly-seo/squirrly.php' ) ) {
49 echo '<style>
50 .wp-adminify.adminify-ui.block-editor-page .interface-interface-skeleton {
51 top: 0 !important;
52 }
53 </style>';
54 }
55 if ( Utils::is_plugin_active( 'advanced-database-cleaner-pro/advanced-db-cleaner.php' ) ) {
56 echo '<style>
57 .wp-adminify.toplevel_page_advanced_db_cleaner #wpbody-content .wp-list-table.widefat td{
58 padding: 10px 10px;
59 }
60 .wp-adminify.toplevel_page_advanced_db_cleaner #wpbody-content input#aDBc_keep_button_revision {
61 padding: 0px 3px !important;
62 line-height: inherit !important;
63 }
64 </style>';
65 }
66 }
67
68 public function jltwp_adminify_reset_theme_conflicts() {
69 global $pagenow;
70 if ( $pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php' ) {
71 return;
72 }
73 $theme = wp_get_theme();
74 // Neve WordPress Theme
75 if ( 'Neve' == $theme->name || 'Neve' == $theme->parent_theme ) {
76 wp_enqueue_style(
77 'wp-adminify_neve-theme',
78 WP_ADMINIFY_ASSETS . 'css/themes/neve.min.css',
79 false,
80 WP_ADMINIFY_VER
81 );
82 }
83 // Phlox WordPress Theme
84 if ( 'Phlox' == $theme->name || 'Phlox' == $theme->parent_theme ) {
85 echo '<style>
86 .wp-adminify.adminify-ui #wpcontent .wp-adminify.adminify-top_bar {
87 opacity: 1 !important;
88 }
89 </style>';
90 }
91 // Enfold WordPress Theme
92 if ( 'Enfold' == $theme->name || 'Enfold' == $theme->parent_theme ) {
93 echo '<style>
94 .wp-adminify.avia-advanced-editor-enabled #wpadminbar{
95 display: none !important;
96 }
97 </style>';
98 }
99 // Third Party Plugin CSS Conflict
100 // $jltwp_adminify_plugin_conflict_css = '';
101 // if (Utils::is_plugin_active('quillforms/quillforms.php')) {
102 // $jltwp_adminify_plugin_conflict_css = '//css code here';
103 // $jltwp_adminify_plugin_conflict_css = preg_replace('#/\*.*?\*/#s', '', $jltwp_adminify_plugin_conflict_css);
104 // $jltwp_adminify_plugin_conflict_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $jltwp_adminify_plugin_conflict_css);
105 // $jltwp_adminify_plugin_conflict_css = preg_replace('/\s\s+(.*)/', '$1', $jltwp_adminify_plugin_conflict_css);
106 // }
107 // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
108 // if (!empty($adminify_ui)) {
109 // wp_add_inline_style('wp-adminify-admin', wp_strip_all_tags($jltwp_adminify_plugin_conflict_css));
110 // } else {
111 // wp_add_inline_style('wp-adminify-default-ui', wp_strip_all_tags($jltwp_adminify_plugin_conflict_css));
112 // }
113 if ( Utils::is_plugin_active( 'stackable-ultimate-gutenberg-blocks-premium/plugin.php' ) ) {
114 echo '<style>
115 .wp-adminify.adminify-ui #wpcontent .wp-adminify.adminify-top_bar {
116 opacity: 1 !important;
117 }
118 </style>';
119 }
120 if ( Utils::is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
121 echo '<style>
122 .adminify-ui #woocommerce-embedded-root .woocommerce-layout__header {
123 width: 100%;
124 top: 0;
125 }
126 .adminify-ui #woocommerce-embedded-root .woocommerce-layout__header .woocommerce-layout__header-wrapper {
127 margin-right: 1rem;
128 }
129 body.woocommerce-page #wpwrap #wpcontent,
130 body.woocommerce-page.woocommerce_page_wc-admin #wpwrap #wpbody-content {
131 overflow-x: unset !important;
132 position: unset !important;
133 }
134 </style>';
135 }
136 if ( Utils::is_plugin_active( 'tinymce-templates/tinymce-templates.php' ) ) {
137 echo '<style>#tinymce-templates-wrap #tinymce-templates-preview { height: 500px !important; }</style>';
138 }
139 if ( Utils::is_plugin_active( 'elementor/elementor.php' ) ) {
140 echo '<style>
141 body.wp-adminify-admin-bar.admin-bar .dialog-lightbox-widget {
142 height: calc(100vh - 0px) !important;
143 }
144 body.wp-adminify-admin-bar.admin-bar #e-admin-top-bar-root{
145 padding-top: 70px !important;
146 width: calc(100% + 20px) !important;
147 margin-left: -20px;
148 }
149 body.wp-adminify-admin-bar.admin-bar #e-admin-top-bar-root .e-admin-top-bar{
150 padding-left: 20px;
151 }
152 </style>';
153 }
154 if ( Utils::is_plugin_active( 'one-click-demo-import/one-click-demo-import.php' ) ) {
155 echo '<style>
156 .wp-adminify.appearance_page_one-click-demo-import .button-hero {
157 min-height: auto !important;
158 }
159 </style>';
160 }
161 if ( Utils::is_plugin_active( 'wpforms-lite/wpforms.php' ) ) {
162 if ( Utils::jltwp_adminify_currentpage_id( 'dashboard' ) ) {
163 wp_enqueue_style(
164 'wpforms-full',
165 WPFORMS_PLUGIN_URL . 'assets/css/frontend/classic/wpforms-full.css',
166 [],
167 WPFORMS_VERSION
168 );
169 }
170 }
171 if ( Utils::is_plugin_active( 'classic-editor/classic-editor.php' ) ) {
172 echo '<style>
173 #ed_toolbar{
174 width: 100% !important;
175 }
176 #ed_toolbar #qt_content_dfw{
177 line-height: inherit;
178 padding: 0;
179 }
180 </style>';
181 }
182 if ( Utils::is_plugin_active( 'updraftplus/updraftplus.php' ) ) {
183 echo '<style>
184 .wp-adminify.settings_page_updraftplus input{
185 border-radius: 4px !important;
186 border: 1px solid #CCC !important;
187 }
188 .wp-adminify.adminify-dark-mode .updraft_feat_table,
189 .wp-adminify.adminify-dark-mode .updraft_feat_table td,
190 .wp-adminify.adminify-dark-mode .updraft_next_scheduled_backups_wrapper > div,
191 .wp-adminify.adminify-dark-mode .updraft_migrate_widget_module_content{
192 background: inherit;
193 }
194 .wp-adminify.adminify-dark-mode .updraft_premium_cta,
195 .wp-adminify.adminify-dark-mode .updraft_premium_cta__bottom,
196 .wp-adminify.adminify-dark-mode .udp-box,
197 .wp-adminify.adminify-dark-mode .updraftcentral_cloud_connect,
198 .wp-adminify.adminify-dark-mode .updraft_advert_bottom,
199 .wp-adminify.adminify-dark-mode #remote-storage-container label{
200 background: #020407;
201 }
202 .wp-adminify.adminify-dark-mode .expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{
203 color: inherit;
204 }
205 </style>';
206 }
207 if ( Utils::is_plugin_active( 'tinymce-advanced/tinymce-advanced.php' ) ) {
208 echo '<style>
209 .wp-editor-container .mce-container-body .mce-menubar.mce-toolbar{
210 position: initial !important;
211 }
212 .wp-editor-container .mce-container-body .mce-toolbar-grp .mce-container-body{
213 position: relative !important;
214 }
215 .wp-editor-container .mce-container-body .mce-toolbar-grp .mce-toolbar.mce-first {
216 padding-right: 0 !important;
217 }
218 #ed_toolbar{
219 width: 100% !important;
220 }
221 #ed_toolbar #qt_content_dfw{
222 line-height: inherit;
223 padding: 0;
224 }
225 </style>';
226 }
227 // Third Party localize script
228 wp_localize_script( 'wp-adminify-admin', 'WPAdminify_ThirdParty', $this->thirdparty_create_js_object() );
229 }
230
231 public function thirdparty_create_js_object() {
232 // betterlinks menu settings
233 $betterlinks = [
234 'active' => false,
235 ];
236 if ( Utils::is_plugin_active( 'betterlinks/betterlinks.php' ) ) {
237 if ( is_array( $this->menu_settings ) && array_key_exists( 'betterlinks', $this->menu_settings ) ) {
238 $menu_name = ( !empty( $this->menu_settings['betterlinks']['name'] ) ? esc_html( $this->menu_settings['betterlinks']['name'] ) : '' );
239 $submenu_manage = ( !empty( $this->menu_settings['betterlinks']['submenu']['betterlinks']['name'] ) ? esc_html( $this->menu_settings['betterlinks']['submenu']['betterlinks']['name'] ) : '' );
240 $submenu_name = ( !empty( $this->menu_settings['betterlinks']['submenu']['betterlinks-analytics']['name'] ) ? esc_html( $this->menu_settings['betterlinks']['submenu']['betterlinks-analytics']['name'] ) : '' );
241 $submenu_settings = ( !empty( $this->menu_settings['betterlinks']['submenu']['betterlinks-settings']['name'] ) ? esc_html( $this->menu_settings['betterlinks']['submenu']['betterlinks-settings']['name'] ) : '' );
242 $betterlinks = [
243 'active' => true,
244 'menu_name' => esc_html( $menu_name ),
245 'submenu_manage' => esc_html( $submenu_manage ),
246 'submenu_name' => esc_html( $submenu_name ),
247 'submenu_settings' => esc_html( $submenu_settings ),
248 ];
249 }
250 }
251 return [
252 'ajax_url' => admin_url( 'admin-ajax.php' ),
253 'better_links' => wp_kses_post_deep( $betterlinks ),
254 ];
255 }
256
257 public function register_actions_on_init() {
258 // Brizy Builder
259 if ( isset( $_REQUEST['brizy-edit-iframe'] ) ) {
260 add_filter( 'wp_adminify_defer_skip', '__return_true' );
261 add_filter( 'wp_adminify_skip_removing_dashicons', '__return_true' );
262 }
263 }
264
265 public function register_actions_on_admin_init() {
266 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
267 if ( !empty( $adminify_ui ) ) {
268 // Commented On: 24-3-24
269 add_action( 'admin_enqueue_scripts', [$this, 'enqueue_scripts'], 999 );
270 }
271 // Commented On: 10-6-24
272 // add_filter('adminify_third_party_styles', [$this, 'register_compatability_styles']);
273 // Fluent CRM
274 add_action( 'fluentcrm_skip_no_conflict', '__return_true' );
275 // Fluent FORM
276 add_action( 'fluentform_skip_no_conflict', '__return_true' );
277 }
278
279 /**
280 * Register Third Party Styles
281 *
282 * @since 1.0.0
283 */
284 public function register_compatability_styles( $plugin_supports ) {
285 if ( !is_array( $plugin_supports ) ) {
286 $plugin_supports = [];
287 }
288 $plugin_dir = WP_ADMINIFY_ASSETS . 'css/plugins/';
289 $plugin_files = list_files( WP_ADMINIFY_PATH . 'assets/css/plugins/', 1 );
290 if ( !empty( $plugin_files ) ) {
291 foreach ( $plugin_files as $file ) {
292 $plugin_supports[wp_basename( $file, '.min.css' )] = $plugin_dir . wp_basename( $file );
293 }
294 }
295 return $plugin_supports;
296 }
297
298 /**
299 * Admin Enqueue Third Party Scripts/Styles
300 *
301 * @return void
302 */
303 public function enqueue_scripts() {
304 $plugin_supports = [];
305 $plugin_supports = apply_filters( 'adminify_third_party_styles', $plugin_supports );
306 // Check Plugin Activated for Site Wide
307 if ( is_multisite() ) {
308 $active_plugins = get_site_option( 'active_sitewide_plugins' );
309 foreach ( $active_plugins as $active_path => $active_plugin ) {
310 if ( is_plugin_active_for_network( $active_path ) ) {
311 $string = explode( '/', $active_path );
312 $pluginname = $string[0];
313 if ( isset( $plugin_supports[$pluginname] ) ) {
314 if ( $plugin_supports[$pluginname] != '' ) {
315 wp_register_style(
316 'wp-adminify_site-wide_' . $pluginname . '_css',
317 $plugin_supports[$pluginname],
318 [],
319 WP_ADMINIFY_VER
320 );
321 wp_enqueue_style( 'wp-adminify_site-wide_' . $pluginname . '_css' );
322 }
323 }
324 }
325 }
326 }
327 // Check Plugin Activated for Individual Sites
328 $activeplugins = get_option( 'active_plugins' );
329 foreach ( $activeplugins as $plugin ) {
330 if ( Utils::is_plugin_active( $plugin ) ) {
331 $string = explode( '/', $plugin );
332 $pluginname = $string[0];
333 if ( isset( $plugin_supports[$pluginname] ) ) {
334 if ( $plugin_supports[$pluginname] != '' ) {
335 wp_register_style(
336 'wp-adminify_' . $pluginname . '_css',
337 $plugin_supports[$pluginname],
338 [],
339 WP_ADMINIFY_VER
340 );
341 wp_enqueue_style( 'wp-adminify_' . $pluginname . '_css' );
342 }
343 }
344 }
345 }
346 }
347
348 }
349