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

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