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

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