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

223 lines 9.0 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( 'tinymce-templates/tinymce-templates.php' ) ) {
56 echo '<style>#tinymce-templates-wrap #tinymce-templates-preview { height: 500px !important; }</style>' ;
57 }
58 if ( Utils::is_plugin_active( 'classic-editor/classic-editor.php' ) ) {
59 echo '<style>
60 #ed_toolbar{
61 width: 100% !important;
62 }
63 #ed_toolbar #qt_content_dfw{
64 line-height: inherit;
65 padding: 0;
66 }
67 </style>' ;
68 }
69 if ( Utils::is_plugin_active( 'tinymce-advanced/tinymce-advanced.php' ) ) {
70 echo '<style>
71 .wp-editor-container .mce-container-body .mce-menubar.mce-toolbar{
72 position: initial !important;
73 }
74 .wp-editor-container .mce-container-body .mce-toolbar-grp .mce-container-body{
75 position: relative !important;
76 }
77 .wp-editor-container .mce-container-body .mce-toolbar-grp .mce-toolbar.mce-first {
78 padding-right: 0 !important;
79 }
80 #ed_toolbar{
81 width: 100% !important;
82 }
83 #ed_toolbar #qt_content_dfw{
84 line-height: inherit;
85 padding: 0;
86 }
87 </style>' ;
88 }
89 // Third Party localize script
90 wp_localize_script( 'wp-adminify-admin', 'WPAdminify_ThirdParty', $this->thirdparty_create_js_object() );
91 }
92
93 public function thirdparty_create_js_object()
94 {
95 // betterlinks menu settings
96 $betterlinks = [
97 'active' => false,
98 ];
99 if ( Utils::is_plugin_active( 'betterlinks/betterlinks.php' ) ) {
100
101 if ( is_array( $this->menu_settings ) && array_key_exists( 'betterlinks', $this->menu_settings ) ) {
102 $menu_name = ( !empty($this->menu_settings['betterlinks']['name']) ? $this->menu_settings['betterlinks']['name'] : '' );
103 $submenu_manage = ( !empty($this->menu_settings['betterlinks']['submenu']['betterlinks']['name']) ? $this->menu_settings['betterlinks']['submenu']['betterlinks']['name'] : '' );
104 $submenu_name = ( !empty($this->menu_settings['betterlinks']['submenu']['betterlinks-analytics']['name']) ? $this->menu_settings['betterlinks']['submenu']['betterlinks-analytics']['name'] : '' );
105 $submenu_settings = ( !empty($this->menu_settings['betterlinks']['submenu']['betterlinks-settings']['name']) ? $this->menu_settings['betterlinks']['submenu']['betterlinks-settings']['name'] : '' );
106 $betterlinks = [
107 'active' => true,
108 'menu_name' => $menu_name,
109 'submenu_manage' => $submenu_manage,
110 'submenu_name' => $submenu_name,
111 'submenu_settings' => $submenu_settings,
112 ];
113 }
114
115 }
116 return array(
117 'ajax_url' => admin_url( 'admin-ajax.php' ),
118 'better_links' => $betterlinks,
119 );
120 }
121
122 public function register_actions_on_init()
123 {
124 // Brizy Builder
125
126 if ( isset( $_REQUEST['brizy-edit-iframe'] ) ) {
127 add_filter( 'wp_adminify_defer_skip', '__return_true' );
128 add_filter( 'wp_adminify_skip_removing_dashicons', '__return_true' );
129 }
130
131 }
132
133 public function register_actions_on_admin_init()
134 {
135 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999 );
136 add_filter( 'adminify_third_party_styles', [ $this, 'register_compatability_styles' ] );
137 // Fluent CRM
138 add_action( 'fluentcrm_skip_no_conflict', '__return_true' );
139 // Fluent FORM
140 add_action( 'fluentform_skip_no_conflict', '__return_true' );
141 }
142
143 /**
144 * Register Third Party Styles
145 * @since 1.0.0
146 */
147 public function register_compatability_styles( $plugin_supports )
148 {
149 if ( !is_array( $plugin_supports ) ) {
150 $plugin_supports = array();
151 }
152 $plugin_dir = WP_ADMINIFY_ASSETS . 'css/plugins/';
153 $plugin_files = list_files( WP_ADMINIFY_PATH . 'assets/css/plugins/', 1 );
154 if ( !empty($plugin_files) ) {
155 foreach ( $plugin_files as $file ) {
156 $plugin_supports[wp_basename( $file, '.css' )] = $plugin_dir . wp_basename( $file );
157 }
158 }
159 return $plugin_supports;
160 }
161
162 /**
163 * Admin Enqueue Third Party Scripts/Styles
164 *
165 * @return void
166 */
167 public function enqueue_scripts()
168 {
169 $plugin_supports = array();
170 $plugin_supports = apply_filters( 'adminify_third_party_styles', $plugin_supports );
171 // Check Plugin Activated for Site Wide
172
173 if ( is_multisite() ) {
174 $active_plugins = get_site_option( 'active_sitewide_plugins' );
175 foreach ( $active_plugins as $active_path => $active_plugin ) {
176
177 if ( is_plugin_active_for_network( $active_path ) ) {
178 $string = explode( '/', $active_path );
179 $pluginname = $string[0];
180 if ( isset( $plugin_supports[$pluginname] ) ) {
181
182 if ( $plugin_supports[$pluginname] != "" ) {
183 wp_register_style(
184 'wp-adminify_site-wide_' . $pluginname . '_css',
185 $plugin_supports[$pluginname],
186 array(),
187 WP_ADMINIFY_VER
188 );
189 wp_enqueue_style( 'wp-adminify_site-wide_' . $pluginname . '_css' );
190 }
191
192 }
193 }
194
195 }
196 }
197
198 // Check Plugin Activated for Individual Sites
199 $activeplugins = get_option( 'active_plugins' );
200 foreach ( $activeplugins as $plugin ) {
201
202 if ( Utils::is_plugin_active( $plugin ) ) {
203 $string = explode( '/', $plugin );
204 $pluginname = $string[0];
205 if ( isset( $plugin_supports[$pluginname] ) ) {
206
207 if ( $plugin_supports[$pluginname] != "" ) {
208 wp_register_style(
209 'wp-adminify_' . $pluginname . '_css',
210 $plugin_supports[$pluginname],
211 array(),
212 WP_ADMINIFY_VER
213 );
214 wp_enqueue_style( 'wp-adminify_' . $pluginname . '_css' );
215 }
216
217 }
218 }
219
220 }
221 }
222
223 }