PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.1
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.1
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 3.2.4.1, at Inc/Classes/ThirdPartyCompatibility.php

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