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

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