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

295 lines 12.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 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( 'classic-editor/classic-editor.php' ) ) {
105 echo '<style>
106 #ed_toolbar{
107 width: 100% !important;
108 }
109 #ed_toolbar #qt_content_dfw{
110 line-height: inherit;
111 padding: 0;
112 }
113 </style>' ;
114 }
115 if ( Utils::is_plugin_active( 'updraftplus/updraftplus.php' ) ) {
116 echo '<style>
117 .wp-adminify.settings_page_updraftplus input{
118 border-radius: 4px !important;
119 border: 1px solid #CCC !important;
120 }
121 .wp-adminify.adminify-dark-mode .updraft_feat_table,
122 .wp-adminify.adminify-dark-mode .updraft_feat_table td,
123 .wp-adminify.adminify-dark-mode .updraft_next_scheduled_backups_wrapper > div,
124 .wp-adminify.adminify-dark-mode .updraft_migrate_widget_module_content{
125 background: inherit;
126 }
127 .wp-adminify.adminify-dark-mode .updraft_premium_cta,
128 .wp-adminify.adminify-dark-mode .updraft_premium_cta__bottom,
129 .wp-adminify.adminify-dark-mode .udp-box,
130 .wp-adminify.adminify-dark-mode .updraftcentral_cloud_connect,
131 .wp-adminify.adminify-dark-mode .updraft_advert_bottom,
132 .wp-adminify.adminify-dark-mode #remote-storage-container label{
133 background: #020407;
134 }
135 .wp-adminify.adminify-dark-mode .expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{
136 color: inherit;
137 }
138 </style>' ;
139 }
140 if ( Utils::is_plugin_active( 'tinymce-advanced/tinymce-advanced.php' ) ) {
141 echo '<style>
142 .wp-editor-container .mce-container-body .mce-menubar.mce-toolbar{
143 position: initial !important;
144 }
145 .wp-editor-container .mce-container-body .mce-toolbar-grp .mce-container-body{
146 position: relative !important;
147 }
148 .wp-editor-container .mce-container-body .mce-toolbar-grp .mce-toolbar.mce-first {
149 padding-right: 0 !important;
150 }
151 #ed_toolbar{
152 width: 100% !important;
153 }
154 #ed_toolbar #qt_content_dfw{
155 line-height: inherit;
156 padding: 0;
157 }
158 </style>' ;
159 }
160 // Third Party localize script
161 wp_localize_script( 'wp-adminify-admin', 'WPAdminify_ThirdParty', $this->thirdparty_create_js_object() );
162 }
163
164 public function thirdparty_create_js_object()
165 {
166 // betterlinks menu settings
167 $betterlinks = [
168 'active' => false,
169 ];
170 if ( Utils::is_plugin_active( 'betterlinks/betterlinks.php' ) ) {
171
172 if ( is_array( $this->menu_settings ) && array_key_exists( 'betterlinks', $this->menu_settings ) ) {
173 $menu_name = ( !empty($this->menu_settings['betterlinks']['name']) ? esc_html( $this->menu_settings['betterlinks']['name'] ) : '' );
174 $submenu_manage = ( !empty($this->menu_settings['betterlinks']['submenu']['betterlinks']['name']) ? esc_html( $this->menu_settings['betterlinks']['submenu']['betterlinks']['name'] ) : '' );
175 $submenu_name = ( !empty($this->menu_settings['betterlinks']['submenu']['betterlinks-analytics']['name']) ? esc_html( $this->menu_settings['betterlinks']['submenu']['betterlinks-analytics']['name'] ) : '' );
176 $submenu_settings = ( !empty($this->menu_settings['betterlinks']['submenu']['betterlinks-settings']['name']) ? esc_html( $this->menu_settings['betterlinks']['submenu']['betterlinks-settings']['name'] ) : '' );
177 $betterlinks = [
178 'active' => true,
179 'menu_name' => esc_html( $menu_name ),
180 'submenu_manage' => esc_html( $submenu_manage ),
181 'submenu_name' => esc_html( $submenu_name ),
182 'submenu_settings' => esc_html( $submenu_settings ),
183 ];
184 }
185
186 }
187 return [
188 'ajax_url' => admin_url( 'admin-ajax.php' ),
189 'better_links' => wp_kses_post_deep( $betterlinks ),
190 ];
191 }
192
193 public function register_actions_on_init()
194 {
195 // Brizy Builder
196
197 if ( isset( $_REQUEST['brizy-edit-iframe'] ) ) {
198 add_filter( 'wp_adminify_defer_skip', '__return_true' );
199 add_filter( 'wp_adminify_skip_removing_dashicons', '__return_true' );
200 }
201
202 }
203
204 public function register_actions_on_admin_init()
205 {
206 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999 );
207 add_filter( 'adminify_third_party_styles', [ $this, 'register_compatability_styles' ] );
208 // Fluent CRM
209 add_action( 'fluentcrm_skip_no_conflict', '__return_true' );
210 // Fluent FORM
211 add_action( 'fluentform_skip_no_conflict', '__return_true' );
212 }
213
214 /**
215 * Register Third Party Styles
216 *
217 * @since 1.0.0
218 */
219 public function register_compatability_styles( $plugin_supports )
220 {
221 if ( !is_array( $plugin_supports ) ) {
222 $plugin_supports = [];
223 }
224 $plugin_dir = WP_ADMINIFY_ASSETS . 'css/plugins/';
225 $plugin_files = list_files( WP_ADMINIFY_PATH . 'assets/css/plugins/', 1 );
226 if ( !empty($plugin_files) ) {
227 foreach ( $plugin_files as $file ) {
228 $plugin_supports[wp_basename( $file, '.min.css' )] = $plugin_dir . wp_basename( $file );
229 }
230 }
231 return $plugin_supports;
232 }
233
234 /**
235 * Admin Enqueue Third Party Scripts/Styles
236 *
237 * @return void
238 */
239 public function enqueue_scripts()
240 {
241 $plugin_supports = [];
242 $plugin_supports = apply_filters( 'adminify_third_party_styles', $plugin_supports );
243 // Check Plugin Activated for Site Wide
244
245 if ( is_multisite() ) {
246 $active_plugins = get_site_option( 'active_sitewide_plugins' );
247 foreach ( $active_plugins as $active_path => $active_plugin ) {
248
249 if ( is_plugin_active_for_network( $active_path ) ) {
250 $string = explode( '/', $active_path );
251 $pluginname = $string[0];
252 if ( isset( $plugin_supports[$pluginname] ) ) {
253
254 if ( $plugin_supports[$pluginname] != '' ) {
255 wp_register_style(
256 'wp-adminify_site-wide_' . $pluginname . '_css',
257 $plugin_supports[$pluginname],
258 [],
259 WP_ADMINIFY_VER
260 );
261 wp_enqueue_style( 'wp-adminify_site-wide_' . $pluginname . '_css' );
262 }
263
264 }
265 }
266
267 }
268 }
269
270 // Check Plugin Activated for Individual Sites
271 $activeplugins = get_option( 'active_plugins' );
272 foreach ( $activeplugins as $plugin ) {
273
274 if ( Utils::is_plugin_active( $plugin ) ) {
275 $string = explode( '/', $plugin );
276 $pluginname = $string[0];
277 if ( isset( $plugin_supports[$pluginname] ) ) {
278
279 if ( $plugin_supports[$pluginname] != '' ) {
280 wp_register_style(
281 'wp-adminify_' . $pluginname . '_css',
282 $plugin_supports[$pluginname],
283 [],
284 WP_ADMINIFY_VER
285 );
286 wp_enqueue_style( 'wp-adminify_' . $pluginname . '_css' );
287 }
288
289 }
290 }
291
292 }
293 }
294
295 }