PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.2.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.2.2
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 / Admin / Admin.php

Admin.php in Adminify – White Label, Admin Menu Editor, Login Customizer 4.0.2.2, at Inc/Admin/Admin.php

239 lines 6.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\Admin;
4
5 use WPAdminify\Inc\Utils;
6 use \WPAdminify\Inc\Classes\CustomAdminColumns;
7 use \WPAdminify\Inc\Classes\Tweaks;
8 use \WPAdminify\Inc\Classes\MenuStyle;
9 use \WPAdminify\Inc\Classes\AdminBar;
10 use \WPAdminify\Inc\Classes\OutputCSS;
11 use \WPAdminify\Inc\Classes\ThirdPartyCompatibility;
12 use \WPAdminify\Inc\Classes\AdminFooterText;
13 use \WPAdminify\Inc\Admin\Modules;
14 use \WPAdminify\Inc\Classes\Sidebar_Widgets;
15 use \WPAdminify\Inc\Classes\Remove_DashboardWidgets;
16 use WPAdminify\Inc\Classes\Adminify_Rollback;
17 use WPAdminify\Inc\Admin\AdminSettings;
18 use WPAdminify\Inc\Admin\Frames\Init as FrameInit;
19
20 // no direct access allowed
21 if (!defined('ABSPATH')) {
22 exit;
23 }
24 /**
25 * WP Adminify
26 * Admin Class
27 *
28 * @author Jewel Theme <support@jeweltheme.com>
29 */
30
31 if (!class_exists('Admin')) {
32 class Admin
33 {
34 public $options = [];
35
36 public function __construct()
37 {
38 $this->options = AdminSettings::get_instance()->get();
39
40 $this->jltwp_adminify_modules_manager();
41
42 // Remove Page Header like - Dashboard, Plugins, Users etc
43 // add_action('admin_head', [$this, 'remove_page_headline'], 99);
44
45
46 // Freemius Hooks
47 jltwp_adminify()->add_filter('freemius_pricing_js_path', array($this, 'jltwp_new_freemius_pricing_js'));
48 jltwp_adminify()->add_filter('plugin_icon', array($this, 'jltwp_adminify_logo_icon'));
49
50 add_action('admin_menu', array($this, 'support_menu'), 1100);
51 add_action('admin_menu', [$this, 'submenu_link_new_tab']);
52 // jltwp_adminify()->add_filter('support_forum_url', [$this, 'jltwp_adminify_support_forum_url']);
53
54 // Disable deactivation feedback form
55 jltwp_adminify()->add_filter('show_deactivation_feedback_form', '__return_false');
56
57 // Disable after deactivation subscription cancellation window
58 jltwp_adminify()->add_filter('show_deactivation_subscription_cancellation', '__return_false');
59
60 $this->disable_gutenberg_editor();
61 }
62
63
64 function submenu_link_new_tab()
65 {
66 add_action('admin_footer', function () {
67 ?>
68 <script type="text/javascript">
69 jQuery(document).ready(function($) {
70 // Replace 'your-parent-menu-slug' and 'your-submenu-slug' with actual menu slugs
71 $('a.toplevel_page_wp-adminify-settings, a[href="admin.php?page=adminify-support"]').attr('target', '_blank');
72 });
73 </script>
74 <?php
75 });
76 }
77
78
79 public function disable_gutenberg_editor()
80 {
81 // Sidebar Widgets Remove
82 if (!empty($this->options['remove_widgets']['disable_gutenberg_editor'])) {
83 // Disable Gutenberg for Block Editor
84 add_filter('gutenberg_use_widgets_block_editor', '__return_false');
85 // Disable Gutenberg for widgets.
86 add_filter('use_widgets_block_editor', '__return_false');
87 }
88
89 // Disable Block Editor Gutenberg
90 if (!empty($this->options["disable_gutenberg"]['disable_for']) && in_array('block_editor', $this->options["disable_gutenberg"]['disable_for'])) {
91 add_filter('use_block_editor_for_post', '__return_false');
92 add_action('wp_enqueue_scripts', [$this, 'remove_backend_gutenberg_scripts'], 20);
93 }
94
95
96
97 // Remove all scripts and styles added by Gutenberg
98 if (!in_array('remove_gutenberg_scripts', $this->options["disable_gutenberg"]['disable_for'])) {
99 add_action('wp_enqueue_scripts', [$this, 'remove_gutenberg_scripts']);
100 remove_action('enqueue_block_assets', 'wp_enqueue_registered_block_scripts_and_styles');
101 }
102 }
103
104
105 // Dequeue all Frontend scripts and styles added by Gutenberg
106 public function remove_gutenberg_scripts()
107 {
108 wp_dequeue_style('wp-block-library');
109 wp_dequeue_style('wc-block-style'); // Remove WooCommerce block CSS
110
111 // Remove Inline CSS
112 // wp_deregister_style('wp-block-library-inline');
113 // wp_dequeue_style('wp-block-library-inline');
114 }
115
116 /**
117 * Remove Gutenberg Scripts
118 *
119 * @return void
120 */
121 public function remove_backend_gutenberg_scripts()
122 {
123 if (is_admin()) {
124 // Remove CSS on the front end.
125 wp_dequeue_style('wp-block-library');
126
127 // Remove Gutenberg theme.
128 wp_dequeue_style('wp-block-library-theme');
129
130 // Remove inline global CSS on the front end.
131 wp_dequeue_style('global-styles');
132 }
133 }
134
135 /**
136 * Adminify Logo
137 *
138 * @param [type] $logo
139 *
140 * @return void
141 */
142 public function jltwp_adminify_logo_icon($logo)
143 {
144 $logo = WP_ADMINIFY_PATH . '/assets/images/adminify.svg';
145 return $logo;
146 }
147
148 public function jltwp_new_freemius_pricing_js($default_pricing_js_path)
149 {
150 return WP_ADMINIFY_PATH . '/Libs/freemius-pricing/freemius-pricing.js';
151 }
152
153 /**
154 * WP Adminify: Modules
155 */
156 public function jltwp_adminify_modules_manager()
157 {
158 // new MenuStyle();
159 new Modules();
160 new AdminBar();
161 new Tweaks();
162 new OutputCSS();
163 new ThirdPartyCompatibility();
164 new AdminFooterText();
165 new Sidebar_Widgets();
166 new Remove_DashboardWidgets();
167
168 if (!empty($this->options['admin_ui']) && preg_match('/https:\/\//', site_url()) && is_ssl()) {
169 FrameInit::instance();
170 }
171
172 // Version Rollback
173 // Adminify_Rollback::get_instance();
174 }
175
176
177 /**
178 * Remove Page Headlines: Dashboard, Plugins, Users
179 *
180 * @return void
181 */
182 public function remove_page_headline()
183 {
184 $screen = get_current_screen();
185 if (empty($screen->id)) {
186 return;
187 }
188
189 if (in_array(
190 $screen->id,
191 [
192 'dashboard',
193 'nav-menus',
194 'edit-tags',
195 'themes',
196 'widgets',
197 'plugins',
198 'plugin-install',
199 'users',
200 'user',
201 'profile',
202 'tools',
203 'import',
204 'export',
205 'export-personal-data',
206 'erase-personal-data',
207 'options-general',
208 'options-writing',
209 'options-reading',
210 'options-discussion',
211 'options-media',
212 'options-permalink',
213 ]
214 )) {
215 echo '<style>#wpbody-content .wrap > h1,#wpbody-content .wrap > h1.wp-heading-inline{display:none;}</style>';
216 }
217 }
218
219
220 public function support_menu()
221 {
222 $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
223 $support_url = 'adminify-support';
224 if($adminify_ui ) $support_url = \WPAdminify\Inc\Admin\AdminSettings::support_url();
225 add_submenu_page(
226 'wp-adminify-settings', // Ex. wp-adminify-settings
227 __('Get Support', 'adminify'),
228 __('Support', 'adminify'),
229 'manage_options',
230 $support_url,
231 function() {
232 wp_redirect(\WPAdminify\Inc\Admin\AdminSettings::support_url(), 301, 'adminify'); exit;
233 }, // Redirect to external URL
234 60
235 );
236 }
237 }
238 }
239