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

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