PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.5.4
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.5.4
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/ThirdPartyCompatibility.php +40 -354 4.2.244.0.5.4 View file →
@@ -1,17 +1,17 @@
1 1 <?php
2 2
3 -namespace PXLBSAdminify\Inc\Classes;
3 +namespace WPAdminify\Inc\Classes;
4 4
5 -use PXLBSAdminify\Inc\Utils;
6 -use PXLBSAdminify\Inc\Admin\AdminSettings;
7 -use PXLBSAdminify\Inc\Modules\MenuEditor\MenuEditorOptions;
5 +use WPAdminify\Inc\Utils;
6 +use WPAdminify\Inc\Admin\AdminSettings;
7 +use WPAdminify\Inc\Modules\MenuEditor\MenuEditorOptions;
8 8 // no direct access allowed
9 9 if ( !defined( 'ABSPATH' ) ) {
10 10 exit;
11 11 }
12 12 /**
13 - * PXLBSAdminify
13 + * WPAdminify
14 14 * Third Party Plugins Compatibility
15 15 *
16 16 * @author Jewel Theme <support@jeweltheme.com>
17 17 */
@@ -22,77 +22,14 @@
22 22 $this->menu_settings = ( new MenuEditorOptions() )->get();
23 23 add_action( 'init', [$this, 'register_actions_on_init'], 0 );
24 24 add_action( 'admin_init', [$this, 'register_actions_on_admin_init'], 0 );
25 25 // 24-3-24
26 - add_action( 'admin_enqueue_scripts', [$this, 'reset_theme_conflicts'], 999999 );
26 + add_action( 'admin_enqueue_scripts', [$this, 'jltwp_adminify_reset_theme_conflicts'], 999999 );
27 27 // 28-6-24
28 - add_action( 'admin_head', [$this, 'plugin_conflicts'], 999999 );
29 - // Inject layout-tightening CSS INTO the block editor iframe (parent CSS
30 - // cannot reach inside). Closes the huge top gap between the editor toolbar
31 - // and the post title that's amplified inside the Adminify iframe wrapper.
32 - // add_filter('block_editor_settings_all', [$this, 'block_editor_iframe_layout_tweaks']); // TODO: comment because not product this issue. if we product this issue then think about why create this this and solve it all type of users
33 - if ( Utils::is_plugin_active( 'gravityforms/gravityforms.php' ) ) {
34 - add_filter(
35 - 'update_footer',
36 - [$this, 'change_admin_footer'],
37 - 9999,
38 - 3
39 - );
40 - }
41 - // All Fluent Plugin Assets Supports
42 - $this->whitelist_assets_in_fluent_plugins();
28 + add_action( 'admin_head', [$this, 'jltwp_adminify_plugin_conflicts'], 999999 );
43 29 }
44 30
45 - /**
46 - * Whitelist Adminify assets in Fluent ecosystem no-conflict mode.
47 - *
48 - * Fluent Boards, Fluent Booking, Fluent CRM, Fluent Community, Fluent Forms,
49 - * and Fluent Snippets (easy-code-manager) iterate $wp_scripts->queue on their
50 - * admin pages and dequeue every plugin script whose src isn't in their approved
51 - * slug list. Without this whitelist, Adminify's frame-adminify--admin script is
52 - * stripped, leaving an empty React mount (white screen).
53 - */
54 - public function whitelist_assets_in_fluent_plugins() {
55 - $add_regex = function ( $slugs ) {
56 - $slugs[] = '\\/adminify\\/';
57 - return $slugs;
58 - };
59 - if ( Utils::is_plugin_active( 'fluent-boards/fluent-boards.php' ) ) {
60 - add_filter( 'fluent_boards/asset_listed_slugs', $add_regex );
61 - }
62 - if ( Utils::is_plugin_active( 'fluent-booking/fluent-booking.php' ) ) {
63 - add_filter( 'fluent_booking/asset_listed_slugs', $add_regex );
64 - }
65 - if ( Utils::is_plugin_active( 'fluent-crm/fluent-crm.php' ) ) {
66 - add_filter( 'fluent_crm_asset_listed_slugs', $add_regex );
67 - }
68 - if ( Utils::is_plugin_active( 'fluent-community/fluent-community.php' ) ) {
69 - add_filter( 'fluent_community/asset_listed_slugs', $add_regex );
70 - add_filter( 'fluent_com_editor/asset_listed_slugs', $add_regex );
71 - }
72 - if ( Utils::is_plugin_active( 'easy-code-manager/easy-code-manager.php' ) ) {
73 - add_filter( 'fluent_snippets_asset_listed_slugs', $add_regex );
74 - }
75 - if ( Utils::is_plugin_active( 'fluentform/fluentform.php' ) ) {
76 - add_filter( 'fluentform/exclude_js_slugs_from_dequeue', function ( $slugs ) {
77 - $slugs[] = 'adminify';
78 - return $slugs;
79 - } );
80 - }
81 - }
82 -
83 - /**
84 - * Gravity Form Custom Footer missing div closing support
85 - */
86 - public function change_admin_footer( $footer_text ) {
87 - $current_screen = get_current_screen();
88 - if ( !empty( $current_screen ) && ($current_screen->id === 'toplevel_page_gf_edit_forms' || $current_screen->id === 'forms_page_gf_new_form') ) {
89 - return $footer_text . '</div>';
90 - }
91 - return $footer_text;
92 - }
93 -
94 - public function plugin_conflicts() {
31 + public function jltwp_adminify_plugin_conflicts() {
95 32 $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
96 33 if ( !empty( $adminify_ui ) ) {
97 34 // Motopress Hotel Booking Lite
98 35 if ( Utils::is_plugin_active( 'motopress-hotel-booking-lite/motopress-hotel-booking.php' ) ) {
@@ -106,80 +43,17 @@
106 43 border-left-color: inherit !important;
107 44 }
108 45 </style>';
109 46 }
110 - // Fluent Support
111 - if ( Utils::is_plugin_active( 'fluent-support/fluent-support.php' ) ) {
112 - echo '<style>
113 - body.adminify-ui .fs_main_navbar{width:100%;top:0;left:0;}
114 - </style>';
115 - }
116 - // Fluent Affiliate
117 - if ( Utils::is_plugin_active( 'fluent-affiliate/fluent-affiliate.php' ) ) {
118 - echo '<style>
119 - body.adminify-ui #fluent-affiliate-app #fa_aff_menu {top:0;}
120 - </style>';
121 - }
122 - // Fluent Cart
123 - if ( Utils::is_plugin_active( 'fluent-cart/fluent-cart.php' ) ) {
124 - echo '<style>
125 - body.adminify-ui #wpbody-content #fct_admin_menu_holder .fct_admin_menu_wrap {width:100%;top:0;left:0;}
126 - </style>';
127 - }
128 - // Fluent CRM
129 - if ( Utils::is_plugin_active( 'fluent-crm/fluent-crm.php' ) ) {
130 - echo '<style>
131 - .wp-adminify.adminify-ui .fcrm_topbar {top:0;}
132 - </style>';
133 - }
134 - // WP 7.0+ Command Palette: kill the focus border on the cmdk input
135 - // (Adminify UI input styles bleed in) and wire the Adminify topbar
136 - // item (#adminify-top-menu-command-palette) to open the palette.
47 + }
48 + if ( Utils::is_plugin_active( 'squirrly-seo/squirrly.php' ) ) {
137 49 echo '<style>
138 - .wp-adminify .commands-command-menu__container input[cmdk-input],
139 - .wp-adminify .commands-command-menu__container input[cmdk-input]:focus,
140 - .wp-adminify .commands-command-menu__container input[cmdk-input]:focus-visible {
141 - border: 0 !important;
142 - outline: 0 !important;
143 - box-shadow: none !important;
144 - }
145 - </style>';
146 - $pxlbsadminify_cmdk_js = "(function(){function openCmd(){try{if(window.wp&&wp.data&&wp.data.dispatch('core/commands')){wp.data.dispatch('core/commands').open();return;}}catch(e){}var isMac=/Mac|iPod|iPhone|iPad/.test(navigator.platform);document.dispatchEvent(new KeyboardEvent('keydown',{key:'k',code:'KeyK',keyCode:75,which:75,ctrlKey:!isMac,metaKey:isMac,bubbles:true,cancelable:true}));}document.addEventListener('click',function(e){var t=e.target&&e.target.closest&&e.target.closest('#adminify-top-menu-command-palette a, .adminify-top-menu-command-palette a');if(!t)return;e.preventDefault();openCmd();});}());";
147 - if ( function_exists( 'wp_print_inline_script_tag' ) ) {
148 - wp_print_inline_script_tag( $pxlbsadminify_cmdk_js );
149 - } else {
150 - echo '<script>' . $pxlbsadminify_cmdk_js . '</script>';
151 - // phpcs:ignore WordPress.WP.EnqueuedResources
50 + .wp-adminify.adminify-ui.block-editor-page .interface-interface-skeleton {
51 + top: 0 !important;
152 52 }
153 - // WP 7.0 block editor interface skeleton: pin to 0/0 inside Adminify UI.
154 - // WP's default left/top offsets are for the WP admin bar + sidebar which
155 - // Adminify hides — without this, the editor shifts off-origin.
156 - echo '<style>
157 - body.wp-adminify.adminify-ui .editor-editor-interface.edit-post-layout.interface-interface-skeleton,
158 - body.wp-adminify.adminify-ui .interface-interface-skeleton {
159 - left: 0 !important;
160 - top: 0 !important;
161 - }
162 - </style>';
163 - // WPML (sitepress-multilingual-cms) admin language switcher
164 - // (#WPML_ALS) is mirrored into the Adminify topbar. Its language
165 - // links otherwise switch inside the iframe, so the parent admin
166 - // chrome keeps the old language. Force a full top-window reload to
167 - // the chosen language URL so the whole admin re-renders.
168 - if ( Utils::is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) ) {
169 - $pxlbsadminify_wpml_js = "(function(){document.addEventListener('click',function(e){var li=e.target&&e.target.closest&&e.target.closest('[id^=\"adminify-top-menu-WPML_ALS_\"]');if(!li)return;var a=li.querySelector('a')||(e.target.closest('a'));if(!a)return;var href=a.getAttribute('href')||a.href;if(!href||href==='#')return;e.preventDefault();e.stopPropagation();window.top.location.href=href;},true);}());";
170 - if ( function_exists( 'wp_print_inline_script_tag' ) ) {
171 - wp_print_inline_script_tag( $pxlbsadminify_wpml_js );
172 - } else {
173 - echo '<script>' . $pxlbsadminify_wpml_js . '</script>';
174 - // phpcs:ignore WordPress.WP.EnqueuedResources
175 - }
176 - }
53 + </style>';
177 54 }
178 - if ( Utils::is_plugin_active( 'squirrly-seo/squirrly.php' ) ) {
179 - // kept as-is for squirrly compat; the generic adminify-ui rule below covers all editor pages
180 - }
181 - if ( Utils::is_plugin_active( 'surecart/surecart.php' ) || Utils::is_plugin_active( 'suremember/suremember.php' ) ) {
55 + if ( Utils::is_plugin_active( 'surecart / surecart.php' ) || Utils::is_plugin_active( 'suremember/suremember.php' ) ) {
182 56 if ( !empty( $adminify_ui ) ) {
183 57 echo '<style>
184 58 .css-wa3qun,.backdrop-blur-sm {
185 59 top: 0 !important;
@@ -209,9 +83,9 @@
209 83 </style>';
210 84 }
211 85 if ( Utils::is_plugin_active( 'advanced-access-manager/aam.php' ) ) {
212 86 add_filter(
213 - 'pxlbsadminify_menu_option_compatibility_filter',
87 + 'jltwp_adminify_menu_option_compatibility_filter',
214 88 array($this, 'apply_menu_restrictions_via_filter'),
215 89 10,
216 90 2
217 91 );
@@ -236,10 +110,9 @@
236 110 }
237 111 if ( Utils::is_plugin_active( 'shopengine/shopengine.php' ) ) {
238 112 global $pagenow;
239 113 // e.g. "edit.php"
240 - // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
241 - $post_type = ( isset( $_GET['post_type'] ) ? sanitize_key( wp_unslash( $_GET['post_type'] ) ) : '' );
114 + $post_type = ( isset( $_GET['post_type'] ) ? sanitize_key( $_GET['post_type'] ) : '' );
242 115 // Build the slug
243 116 $slug = ( $post_type ? "{$pagenow}?post_type={$post_type}" : $pagenow );
244 117 // Example usage:
245 118 if ( $slug === 'edit.php?post_type=shopengine-template' ) {
@@ -251,117 +124,8 @@
251 124 }
252 125 </style>';
253 126 }
254 127 }
255 - if ( Utils::is_plugin_active( 'breeze/breeze.php' ) ) {
256 - echo '<script>
257 - jQuery(document).ready(function($) {
258 -
259 - const iframe = document.getElementById("frame-adminify-app--iframe");
260 -
261 - const fileBtn = document.getElementById("adminify-top-menu-breeze-purge-file-group");
262 - const objectCacheBtn = document.getElementById("adminify-top-menu-breeze-purge-object-cache-group");
263 -
264 - if( fileBtn ) {
265 - fileBtn.addEventListener("click", function (e) {
266 - handleClickBreezeBtn("#wp-admin-bar-breeze-purge-file-group");
267 - });
268 - }
269 -
270 - if( objectCacheBtn ) {
271 - objectCacheBtn.addEventListener("click", function (e) {
272 - handleClickBreezeBtn("#wp-admin-bar-breeze-purge-object-cache-group");
273 - });
274 - }
275 -
276 - function handleClickBreezeBtn(selector) {
277 - try {
278 - const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
279 -
280 - // Find and click the button
281 - const button = iframeDoc.querySelector(selector);
282 - if (button) {
283 - button.click();
284 - }
285 - } catch (error) {
286 - console.error("Cannot access iframe content:", error);
287 - }
288 - }
289 - });
290 - </script>';
291 - }
292 - // Redis Object Cache plugin compatibility
293 - if ( Utils::is_plugin_active( 'redis-cache/redis-cache.php' ) ) {
294 - $nonce = wp_create_nonce();
295 - $ajaxurl = esc_url( admin_url( 'admin-ajax.php' ) );
296 - $flushingText = __( 'Flushing cache...', 'adminify' );
297 - echo '<script>
298 - jQuery(document).ready(function($) {
299 - const flushBtn = document.getElementById("adminify-top-menu-redis-cache-flush");
300 - const parentMenu = document.getElementById("adminify-top-menu-redis-cache");
301 -
302 - if (flushBtn) {
303 - const flushLink = flushBtn.querySelector("a");
304 -
305 - flushBtn.addEventListener("click", async function(e) {
306 - e.preventDefault();
307 - e.stopPropagation();
308 -
309 - if (!flushLink) return;
310 -
311 - // Store original text
312 - const originalText = flushLink.textContent || flushLink.innerText;
313 -
314 - // Close dropdown and show flushing text on parent menu
315 - const parentLink = parentMenu ? parentMenu.querySelector("a") : null;
316 - const parentOriginalHTML = parentLink ? parentLink.innerHTML : null;
317 -
318 - if (parentLink) {
319 - parentLink.innerHTML = "' . esc_js( $flushingText ) . '";
320 - }
321 -
322 - // Close dropdown
323 - const dropdown = flushBtn.closest(".adminify-dropdown");
324 - if (dropdown) {
325 - dropdown.classList.remove("show");
326 - }
327 -
328 - try {
329 - const data = new FormData();
330 - data.append("action", "roc_flush_cache");
331 - data.append("nonce", "' . esc_js( $nonce ) . '");
332 -
333 - const response = await fetch("' . esc_url( $ajaxurl ) . '", {
334 - method: "POST",
335 - body: data,
336 - });
337 -
338 - const resultText = await response.text();
339 -
340 - // Show result text
341 - if (parentLink) {
342 - parentLink.innerHTML = resultText;
343 - }
344 -
345 - // Reset to original after 3 seconds
346 - setTimeout(function() {
347 - if (parentLink && parentOriginalHTML) {
348 - parentLink.innerHTML = parentOriginalHTML;
349 - }
350 - }, 3000);
351 -
352 - } catch (error) {
353 - console.error("Object cache could not be flushed:", error);
354 - // Reset on error
355 - if (parentLink && parentOriginalHTML) {
356 - parentLink.innerHTML = parentOriginalHTML;
357 - }
358 - }
359 - });
360 - }
361 - });
362 - </script>';
363 - }
364 128 }
365 129
366 130 public function apply_menu_restrictions_via_filter( $menu_options, $menu ) {
367 131 $aam_options = get_option( 'aam_access_settings', [] );
@@ -409,9 +173,9 @@
409 173 }
410 174 return $menu_options;
411 175 }
412 176
413 - public function reset_theme_conflicts() {
177 + public function jltwp_adminify_reset_theme_conflicts() {
414 178 global $pagenow;
415 179 if ( $pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php' ) {
416 180 return;
417 181 }
@@ -420,11 +184,11 @@
420 184 // Neve WordPress Theme
421 185 if ( 'Neve' == $theme->name || 'Neve' == $theme->parent_theme ) {
422 186 wp_enqueue_style(
423 187 'wp-adminify_neve-theme',
424 - PXLBSADMINIFY_ASSETS . 'css/themes/neve.min.css',
188 + WP_ADMINIFY_ASSETS . 'css/themes/neve.min.css',
425 189 false,
426 - PXLBSADMINIFY_VER
190 + WP_ADMINIFY_VER
427 191 );
428 192 }
429 193 // Phlox WordPress Theme
430 194 if ( 'Phlox' == $theme->name || 'Phlox' == $theme->parent_theme ) {
@@ -491,20 +255,20 @@
491 255 });
492 256 </script>';
493 257 }
494 258 // Third Party Plugin CSS Conflict
495 - // $pxlbsadminify_plugin_conflict_css = '';
259 + // $jltwp_adminify_plugin_conflict_css = '';
496 260 // if (Utils::is_plugin_active('quillforms/quillforms.php')) {
497 - // $pxlbsadminify_plugin_conflict_css = '//css code here';
498 - // $pxlbsadminify_plugin_conflict_css = preg_replace('#/\*.*?\*/#s', '', $pxlbsadminify_plugin_conflict_css);
499 - // $pxlbsadminify_plugin_conflict_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $pxlbsadminify_plugin_conflict_css);
500 - // $pxlbsadminify_plugin_conflict_css = preg_replace('/\s\s+(.*)/', '$1', $pxlbsadminify_plugin_conflict_css);
261 + // $jltwp_adminify_plugin_conflict_css = '//css code here';
262 + // $jltwp_adminify_plugin_conflict_css = preg_replace('#/\*.*?\*/#s', '', $jltwp_adminify_plugin_conflict_css);
263 + // $jltwp_adminify_plugin_conflict_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $jltwp_adminify_plugin_conflict_css);
264 + // $jltwp_adminify_plugin_conflict_css = preg_replace('/\s\s+(.*)/', '$1', $jltwp_adminify_plugin_conflict_css);
501 265 // }
502 266 // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
503 267 // if (!empty($adminify_ui)) {
504 - // wp_add_inline_style('wp-adminify-admin', wp_strip_all_tags($pxlbsadminify_plugin_conflict_css));
268 + // wp_add_inline_style('wp-adminify-admin', wp_strip_all_tags($jltwp_adminify_plugin_conflict_css));
505 269 // } else {
506 - // wp_add_inline_style('wp-adminify-default-ui', wp_strip_all_tags($pxlbsadminify_plugin_conflict_css));
270 + // wp_add_inline_style('wp-adminify-default-ui', wp_strip_all_tags($jltwp_adminify_plugin_conflict_css));
507 271 // }
508 272 if ( Utils::is_plugin_active( 'stackable-ultimate-gutenberg-blocks-premium/plugin.php' ) ) {
509 273 echo '<style>
510 274 .wp-adminify.adminify-ui #wpcontent .wp-adminify.adminify-top_bar {
@@ -543,13 +307,8 @@
543 307 }
544 308 body.wp-adminify-admin-bar.admin-bar #e-admin-top-bar-root .e-admin-top-bar{
545 309 padding-left: 20px;
546 310 }
547 -
548 - body.adminify-ui.e-has-sidebar-navigation #wpwrap #wpcontent #editor-one-top-bar > header {
549 - top: 0!important;
550 - }
551 - body.adminify-ui #wpbody-content #elementor-home-app main header {top: 0!important}
552 311 </style>';
553 312 }
554 313 if ( Utils::is_plugin_active( 'one-click-demo-import/one-click-demo-import.php' ) ) {
555 314 echo '<style>
@@ -558,9 +317,9 @@
558 317 }
559 318 </style>';
560 319 }
561 320 if ( Utils::is_plugin_active( 'wpforms-lite/wpforms.php' ) ) {
562 - if ( Utils::currentpage_id( 'dashboard' ) ) {
321 + if ( Utils::jltwp_adminify_currentpage_id( 'dashboard' ) ) {
563 322 wp_enqueue_style(
564 323 'wpforms-full',
565 324 WPFORMS_PLUGIN_URL . 'assets/css/frontend/classic/wpforms-full.css',
566 325 [],
@@ -645,52 +404,8 @@
645 404 }
646 405 </style>';
647 406 }
648 407 }
649 - // Divi Theme - "Edit With Divi" link should reload parent page instead of iframe
650 - if ( 'Divi' == $theme->name || 'Divi' == $theme->parent_theme ) {
651 - echo '<script>
652 - document.addEventListener("DOMContentLoaded", function() {
653 - var iframe = document.getElementById("frame-adminify-app--iframe");
654 - if (!iframe) return;
655 -
656 - function handleDiviLinks(iframeDoc) {
657 - var diviLinks = iframeDoc.querySelectorAll("a[href*=\\"et_fb=1\\"], a.et_pb_toggle_builder_wrapper, a[href*=\\"page=et_divi_options\\"]");
658 - diviLinks.forEach(function(link) {
659 - link.addEventListener("click", function(e) {
660 - e.preventDefault();
661 - e.stopPropagation();
662 - window.top.location.href = link.href;
663 - });
664 - });
665 - }
666 -
667 - iframe.addEventListener("load", function() {
668 - try {
669 - var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
670 - handleDiviLinks(iframeDoc);
671 -
672 - var observer = new MutationObserver(function() {
673 - handleDiviLinks(iframeDoc);
674 - });
675 - observer.observe(iframeDoc.body, { childList: true, subtree: true });
676 - } catch(e) {
677 - console.log("Divi compatibility: Cannot access iframe content");
678 - }
679 - });
680 - });
681 - </script>';
682 - echo '<style>
683 - #adminify-top-menu-et-builder-shortcode-framework,
684 - #adminify-top-menu-et-builder-shortcode-framework-loaded,
685 - #adminify-top-menu-et-builder-shortcode-framework-option,
686 - #adminify-top-menu-et-builder-shortcode-framework-constant,
687 - #adminify-top-menu-et-builder-shortcode-framework-hook,
688 - #adminify-top-menu-et-builder-shortcode-framework-constant-value {
689 - display: none;
690 - }
691 - </style>';
692 - }
693 408 if ( Utils::is_plugin_active( 'js_composer/js_composer.php' ) ) {
694 409 echo '<style>
695 410 .adminify-ui .vc_dropdown-list-item p{
696 411 color: #fff;
@@ -697,9 +412,9 @@
697 412 }
698 413 </style>';
699 414 }
700 415 // Third Party localize script
701 - wp_localize_script( 'adminify-admin', 'PXLBSADMINIFY_THIRDPARTY', $this->thirdparty_create_js_object() );
416 + wp_localize_script( 'wp-adminify-admin', 'WPAdminify_ThirdParty', $this->thirdparty_create_js_object() );
702 417 }
703 418
704 419 public function thirdparty_create_js_object() {
705 420 // betterlinks menu settings
@@ -728,12 +443,11 @@
728 443 }
729 444
730 445 public function register_actions_on_init() {
731 446 // Brizy Builder
732 - // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
733 447 if ( isset( $_REQUEST['brizy-edit-iframe'] ) ) {
734 - add_filter( 'pxlbsadminify_defer_skip', '__return_true' );
735 - add_filter( 'pxlbsadminify_skip_removing_dashicons', '__return_true' );
448 + add_filter( 'wp_adminify_defer_skip', '__return_true' );
449 + add_filter( 'wp_adminify_skip_removing_dashicons', '__return_true' );
736 450 }
737 451 }
738 452
739 453 public function register_actions_on_admin_init() {
@@ -742,9 +456,9 @@
742 456 // Commented On: 24-3-24
743 457 add_action( 'admin_enqueue_scripts', [$this, 'enqueue_scripts'], 999 );
744 458 }
745 459 // Commented On: 10-6-24
746 - // add_filter('pxlbsadminify_third_party_styles', [$this, 'register_compatability_styles']);
460 + // add_filter('adminify_third_party_styles', [$this, 'register_compatability_styles']);
747 461 // Fluent CRM
748 462 add_action( 'fluentcrm_skip_no_conflict', '__return_true' );
749 463 // Fluent FORM
750 464 add_action( 'fluentform_skip_no_conflict', '__return_true' );
@@ -758,10 +472,10 @@
758 472 public function register_compatability_styles( $plugin_supports ) {
759 473 if ( !is_array( $plugin_supports ) ) {
760 474 $plugin_supports = [];
761 475 }
762 - $plugin_dir = PXLBSADMINIFY_ASSETS . 'css/plugins/';
763 - $plugin_files = list_files( PXLBSADMINIFY_PATH . 'assets/css/plugins/', 1 );
476 + $plugin_dir = WP_ADMINIFY_ASSETS . 'css/plugins/';
477 + $plugin_files = list_files( WP_ADMINIFY_PATH . 'assets/css/plugins/', 1 );
764 478 if ( !empty( $plugin_files ) ) {
765 479 foreach ( $plugin_files as $file ) {
766 480 $plugin_supports[wp_basename( $file, '.min.css' )] = $plugin_dir . wp_basename( $file );
767 481 }
@@ -775,9 +489,9 @@
775 489 * @return void
776 490 */
777 491 public function enqueue_scripts() {
778 492 $plugin_supports = [];
779 - $plugin_supports = apply_filters( 'pxlbsadminify_third_party_styles', $plugin_supports );
493 + $plugin_supports = apply_filters( 'adminify_third_party_styles', $plugin_supports );
780 494 // Check Plugin Activated for Site Wide
781 495 if ( is_multisite() ) {
782 496 $active_plugins = get_site_option( 'active_sitewide_plugins' );
783 497 foreach ( $active_plugins as $active_path => $active_plugin ) {
@@ -786,14 +500,14 @@
786 500 $pluginname = $string[0];
787 501 if ( isset( $plugin_supports[$pluginname] ) ) {
788 502 if ( $plugin_supports[$pluginname] != '' ) {
789 503 wp_register_style(
790 - 'adminify_site-wide_' . $pluginname . '_css',
504 + 'wp-adminify_site-wide_' . $pluginname . '_css',
791 505 $plugin_supports[$pluginname],
792 506 [],
793 - PXLBSADMINIFY_VER
507 + WP_ADMINIFY_VER
794 508 );
795 - wp_enqueue_style( 'adminify_site-wide_' . $pluginname . '_css' );
509 + wp_enqueue_style( 'wp-adminify_site-wide_' . $pluginname . '_css' );
796 510 }
797 511 }
798 512 }
799 513 }
@@ -806,45 +520,17 @@
806 520 $pluginname = $string[0];
807 521 if ( isset( $plugin_supports[$pluginname] ) ) {
808 522 if ( $plugin_supports[$pluginname] != '' ) {
809 523 wp_register_style(
810 - 'adminify_' . $pluginname . '_css',
524 + 'wp-adminify_' . $pluginname . '_css',
811 525 $plugin_supports[$pluginname],
812 526 [],
813 - PXLBSADMINIFY_VER
527 + WP_ADMINIFY_VER
814 528 );
815 - wp_enqueue_style( 'adminify_' . $pluginname . '_css' );
529 + wp_enqueue_style( 'wp-adminify_' . $pluginname . '_css' );
816 530 }
817 531 }
818 532 }
819 533 }
820 - }
821 -
822 - /**
823 - * Inject layout-tightening CSS INTO the WP 6.3+/7.0 block editor iframe canvas.
824 - *
825 - * The Gutenberg canvas runs inside an iframe; styles enqueued via
826 - * `enqueue_block_editor_assets` only reach the parent admin chrome. The
827 - * `block_editor_settings_all` `styles` array IS injected into the iframe.
828 - *
829 - * The default Gutenberg post-title wrapper carries large block padding which,
830 - * inside Adminify's iframe wrapper (already framed by topbar + sidebar),
831 - * reads as a huge dead area between the editor toolbar and "Add title".
832 - * Compress that wrapper + leading content padding so the title sits close
833 - * under the toolbar.
834 - */
835 - public function block_editor_iframe_layout_tweaks( $settings ) {
836 - // Iframe body padding (Gutenberg ~50-60px default) + root container's first-child
837 - // margin-block-start are the two real sources of the gap above "Add title".
838 - // Multiple selectors cover WP 6.x ("edit-post-*") and WP 7.0+ ("editor-*", new
839 - // "block-editor-iframe__body" body class on the iframe) class renames.
840 - $css = 'html body.block-editor-iframe__body,' . 'html body.editor-styles-wrapper,' . '.block-editor-iframe__body,' . '.editor-styles-wrapper{padding-top:12px !important;margin-top:0 !important;}' . '.is-root-container,' . '.editor-styles-wrapper>.is-root-container,' . '.block-editor-block-list__layout.is-root-container,' . '.is-root-container.is-layout-flow,' . '.is-root-container.is-layout-constrained{padding-top:0 !important;margin-top:0 !important;}' . '.is-root-container>*:first-child,' . '.is-root-container>[data-block]:first-child,' . '.editor-styles-wrapper>[data-block]:first-child,' . '.editor-styles-wrapper>.wp-block:first-child{margin-block-start:0 !important;margin-top:0 !important;padding-top:0 !important;}' . '.wp-block-post-title,' . 'h1.wp-block-post-title,' . '.editor-post-title,' . 'h1.editor-post-title,' . '.editor-post-title__input,' . 'h1.editor-post-title__input{margin:0 !important;margin-block-start:0 !important;padding-top:0 !important;}' . '.edit-post-visual-editor,' . '.editor-visual-editor,' . '.edit-post-visual-editor__post-title-wrapper,' . '.editor-visual-editor__post-title-wrapper,' . '.edit-post-visual-editor__content-area,' . '.editor-visual-editor__content-area{padding-top:0 !important;margin-top:0 !important;}';
841 - if ( !isset( $settings['styles'] ) || !is_array( $settings['styles'] ) ) {
842 - $settings['styles'] = array();
843 - }
844 - $settings['styles'][] = array(
845 - 'css' => $css,
846 - );
847 - return $settings;
848 534 }
849 535
850 536 }