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

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

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