PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.3.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.3.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.3.2, at Inc/Admin/Admin.php

241 lines 6.6 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 public function disable_gutenberg_editor()
64 {
65 // Sidebar Widgets Remove
66 if (!empty($this->options['remove_widgets']['disable_gutenberg_editor'])) {
67 // Disable Gutenberg for Block Editor
68 add_filter('gutenberg_use_widgets_block_editor', '__return_false');
69 // Disable Gutenberg for widgets.
70 add_filter('use_widgets_block_editor', '__return_false');
71 }
72
73 // Disable Block Editor Gutenberg
74 if (!empty($this->options["disable_gutenberg"]['disable_for']) && in_array('block_editor', $this->options["disable_gutenberg"]['disable_for'])) {
75 add_filter('use_block_editor_for_post', '__return_false');
76 add_action('wp_enqueue_scripts', [$this, 'remove_backend_gutenberg_scripts'], 20);
77 }
78
79 // Remove all scripts and styles added by Gutenberg
80 if (isset($this->options["disable_gutenberg"]['disable_gutenberg_enable']) && $this->options["disable_gutenberg"]['disable_gutenberg_enable'] && in_array('remove_gutenberg_scripts', $this->options["disable_gutenberg"]['disable_for'])) {
81 add_action('wp_enqueue_scripts', [$this, 'remove_gutenberg_scripts']);
82 remove_action('enqueue_block_assets', 'wp_enqueue_registered_block_scripts_and_styles');
83 }
84 }
85
86
87 // Dequeue all Frontend scripts and styles added by Gutenberg
88 public function remove_gutenberg_scripts()
89 {
90 wp_dequeue_style('wp-block-library');
91 wp_dequeue_style('wc-block-style'); // Remove WooCommerce block CSS
92
93 // Remove Inline CSS
94 // wp_deregister_style('wp-block-library-inline');
95 // wp_dequeue_style('wp-block-library-inline');
96 }
97
98 /**
99 * Remove Gutenberg Scripts
100 *
101 * @return void
102 */
103 public function remove_backend_gutenberg_scripts()
104 {
105 if (is_admin()) {
106 // Remove CSS on the front end.
107 wp_dequeue_style('wp-block-library');
108
109 // Remove Gutenberg theme.
110 wp_dequeue_style('wp-block-library-theme');
111
112 // Remove inline global CSS on the front end.
113 wp_dequeue_style('global-styles');
114 }
115 }
116
117 /**
118 * Adminify Logo
119 *
120 * @param [type] $logo
121 *
122 * @return void
123 */
124 public function jltwp_adminify_logo_icon($logo)
125 {
126 $logo = WP_ADMINIFY_PATH . '/assets/images/adminify.svg';
127 return $logo;
128 }
129
130 public function jltwp_new_freemius_pricing_js($default_pricing_js_path)
131 {
132 return WP_ADMINIFY_PATH . '/Libs/freemius-pricing/freemius-pricing.js';
133 }
134
135 /**
136 * WP Adminify: Modules
137 */
138 public function jltwp_adminify_modules_manager()
139 {
140 // new MenuStyle();
141 new Modules();
142 new AdminBar();
143 new Tweaks();
144 new OutputCSS();
145 new ThirdPartyCompatibility();
146 new AdminFooterText();
147 new Sidebar_Widgets();
148 new Remove_DashboardWidgets();
149
150 if (!empty($this->options['admin_ui']) && preg_match('/https:\/\//', site_url()) && is_ssl()) {
151 FrameInit::instance();
152 }
153
154 // Version Rollback
155 // Adminify_Rollback::get_instance();
156 }
157
158
159 /**
160 * Remove Page Headlines: Dashboard, Plugins, Users
161 *
162 * @return void
163 */
164 public function remove_page_headline()
165 {
166 $screen = get_current_screen();
167 if (empty($screen->id)) {
168 return;
169 }
170
171 if (in_array(
172 $screen->id,
173 [
174 'dashboard',
175 'nav-menus',
176 'edit-tags',
177 'themes',
178 'widgets',
179 'plugins',
180 'plugin-install',
181 'users',
182 'user',
183 'profile',
184 'tools',
185 'import',
186 'export',
187 'export-personal-data',
188 'erase-personal-data',
189 'options-general',
190 'options-writing',
191 'options-reading',
192 'options-discussion',
193 'options-media',
194 'options-permalink',
195 ]
196 )) {
197 echo '<style>#wpbody-content .wrap > h1,#wpbody-content .wrap > h1.wp-heading-inline{display:none;}</style>';
198 }
199 }
200
201
202 public function support_menu()
203 {
204 // $this->submenu_link_new_tab();
205 // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
206 $support_url = 'adminify-support';
207 // if($adminify_ui ) {
208 // $support_urlsss = \WPAdminify\Inc\Admin\AdminSettings::support_url();
209 // }
210 add_submenu_page(
211 'wp-adminify-settings', // Ex. wp-adminify-settings
212 __('Get Support', 'adminify'),
213 __('Support', 'adminify'),
214 'manage_options',
215 $support_url,
216 function() {
217 wp_safe_redirect(\WPAdminify\Inc\Admin\AdminSettings::support_url(), 301, 'adminify'); exit;
218 }, // Redirect to external URL
219 60
220 );
221 }
222
223
224 public function submenu_link_new_tab()
225 {
226 add_action('admin_footer', function () {
227 ?>
228 <script type="text/javascript">
229 jQuery(document).ready(function($) {
230 // Replace 'your-parent-menu-slug' and 'your-submenu-slug' with actual menu slugs
231 // $('a.toplevel_page_wp-adminify-settings a[href="admin.php?page=adminify-support"]').attr('target', '_blank');
232 $('a[href="admin.php?page=adminify-support"]').attr('target', '_blank');
233 });
234 </script>
235 <?php
236 });
237 }
238
239 }
240 }
241