PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.1
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.1
4.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 All 165 releases
← All changes | Inc/Admin/Admin.php +62 -168 4.1.173.2.4.1 View file →
@@ -2,21 +2,20 @@
2 2
3 3 namespace WPAdminify\Inc\Admin;
4 4
5 5 use WPAdminify\Inc\Utils;
6 -use \WPAdminify\Inc\Classes\CustomAdminColumns;
7 6 use \WPAdminify\Inc\Classes\Tweaks;
8 7 use \WPAdminify\Inc\Classes\MenuStyle;
8 +use \WPAdminify\Inc\Classes\CustomAdminColumns;
9 9 use \WPAdminify\Inc\Classes\AdminBar;
10 +use \WPAdminify\Inc\Classes\DashboardWidgets;
11 +use \WPAdminify\Inc\Classes\Sidebar_Widgets;
10 12 use \WPAdminify\Inc\Classes\OutputCSS;
11 13 use \WPAdminify\Inc\Classes\ThirdPartyCompatibility;
12 14 use \WPAdminify\Inc\Classes\AdminFooterText;
13 15 use \WPAdminify\Inc\Admin\Modules;
14 -use \WPAdminify\Inc\Classes\Sidebar_Widgets;
15 -use \WPAdminify\Inc\Classes\Remove_DashboardWidgets;
16 16 use WPAdminify\Inc\Classes\Adminify_Rollback;
17 17 use WPAdminify\Inc\Admin\AdminSettings;
18 -use WPAdminify\Inc\Admin\Frames\Init as FrameInit;
19 18
20 19 // no direct access allowed
21 20 if (!defined('ABSPATH')) {
22 21 exit;
@@ -30,28 +29,23 @@
30 29
31 30 if (!class_exists('Admin')) {
32 31 class Admin
33 32 {
34 - public $options = [];
33 + public $options;
35 34
36 35 public function __construct()
37 36 {
38 - $this->options = AdminSettings::get_instance()->get();
39 -
40 37 $this->jltwp_adminify_modules_manager();
41 38
42 39 // Remove Page Header like - Dashboard, Plugins, Users etc
43 - // add_action('admin_head', [$this, 'remove_page_headline'], 99);
40 + add_action('admin_head', [$this, 'remove_page_headline'], 99);
41 + add_action('admin_head', [$this, 'change_gutenberg_editor_logo'], 99);
44 42
45 -
46 43 // Freemius Hooks
44 + jltwp_adminify()->add_filter('freemius_pricing_js_path', array($this, 'jltwp_new_freemius_pricing_js'));
47 45 jltwp_adminify()->add_filter('plugin_icon', array($this, 'jltwp_adminify_logo_icon'));
48 46
49 - add_action('admin_menu', array($this, 'support_menu'), 1100);
50 - add_action('network_admin_menu', array($this, 'support_menu'), 1100);
51 - add_action('admin_menu', [$this, 'submenu_link_new_tab']);
52 - add_action('plugins_loaded', array($this, 'jltwp_adminify_ajax_data_save'), 999);
53 - // jltwp_adminify()->add_filter('support_forum_url', [$this, 'jltwp_adminify_support_forum_url']);
47 + jltwp_adminify()->add_filter('support_forum_url', [$this, 'jltwp_adminify_support_forum_url']);
54 48
55 49 // Disable deactivation feedback form
56 50 jltwp_adminify()->add_filter('show_deactivation_feedback_form', '__return_false');
57 51
@@ -56,131 +50,82 @@
56 50 jltwp_adminify()->add_filter('show_deactivation_feedback_form', '__return_false');
57 51
58 52 // Disable after deactivation subscription cancellation window
59 53 jltwp_adminify()->add_filter('show_deactivation_subscription_cancellation', '__return_false');
60 -
61 - $this->disable_gutenberg_editor();
62 -
63 - add_filter('show_admin_bar', [ $this, 'jltwp_adminify_removeAdminBar'], PHP_INT_MAX);
64 - add_action('wp_head', [ $this,'jltwp_adminify_remove_header_for_baknd'], PHP_INT_MAX);
65 -
66 54 }
67 55
68 - function jltwp_adminify_removeAdminBar($status)
69 - {
70 - if (!empty($_GET['bknd']) && sanitize_text_field(wp_unslash($_GET['bknd']))) {
71 - return false;
72 - }
73 - return $status;
74 - }
75 56
76 - function jltwp_adminify_remove_header_for_baknd() {
77 - if (isset($_GET['bknd']) && $_GET['bknd'] == '1') {
78 - echo '<script>
79 - jQuery(document).ready(function($){
80 - $("header").remove();
81 - $("footer").remove();
82 - })
83 - </script>';
84 - }
85 - }
86 -
87 -
88 - public function jltwp_adminify_ajax_data_save()
57 + /**
58 + * Adminify Logo
59 + *
60 + * @param [type] $logo
61 + *
62 + * @return void
63 + */
64 + public function jltwp_adminify_logo_icon($logo)
89 65 {
90 - $ajax_data_save = new \WPAdminify\Inc\Classes\Notifications\What_We_Collect();
91 - $ajax_data_save->jltwp_adminify_collect_ajax_data();
66 + $logo = WP_ADMINIFY_PATH . '/assets/images/adminify.svg';
67 + return $logo;
92 68 }
93 69
94 - public function disable_gutenberg_editor()
70 + public function jltwp_new_freemius_pricing_js($default_pricing_js_path)
95 71 {
96 - // Sidebar Widgets Remove
97 - if (!empty($this->options['remove_widgets']['disable_gutenberg_editor'])) {
98 - // Disable Gutenberg for Block Editor
99 - add_filter('gutenberg_use_widgets_block_editor', '__return_false');
100 - // Disable Gutenberg for widgets.
101 - add_filter('use_widgets_block_editor', '__return_false');
102 - }
103 -
104 - // Disable Block Editor Gutenberg
105 - if (!empty($this->options["disable_gutenberg"]['disable_for']) && in_array('block_editor', $this->options["disable_gutenberg"]['disable_for'])) {
106 - add_filter('use_block_editor_for_post', '__return_false');
107 - add_action('wp_enqueue_scripts', [$this, 'remove_backend_gutenberg_scripts'], 20);
108 - }
109 -
110 - // Remove all scripts and styles added by Gutenberg
111 - 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'])) {
112 - add_action('wp_enqueue_scripts', [$this, 'remove_gutenberg_scripts']);
113 - remove_action('enqueue_block_assets', 'wp_enqueue_registered_block_scripts_and_styles');
114 - }
72 + return WP_ADMINIFY_PATH . '/Libs/freemius-pricing/freemius-pricing.js';
115 73 }
116 74
117 75
118 - // Dequeue all Frontend scripts and styles added by Gutenberg
119 - public function remove_gutenberg_scripts()
76 + // Gutenberg Editor WordPress Logo Change
77 + public function change_gutenberg_editor_logo()
120 78 {
121 - wp_dequeue_style('wp-block-library');
122 - wp_dequeue_style('wc-block-style'); // Remove WooCommerce block CSS
123 79
124 - // Remove Inline CSS
125 - // wp_deregister_style('wp-block-library-inline');
126 - // wp_dequeue_style('wp-block-library-inline');
127 - }
80 + // it is not a necessary thing but it prevents this CSS to be added on every WordPress admin page
81 + $screen = get_current_screen();
82 + if (!$screen->is_block_editor) {
83 + return;
84 + }
128 85
129 - /**
130 - * Remove Gutenberg Scripts
131 - *
132 - * @return void
133 - */
134 - public function remove_backend_gutenberg_scripts()
135 - {
136 - if (is_admin()) {
137 - // Remove CSS on the front end.
138 - wp_dequeue_style('wp-block-library');
86 + $gutenberg_editor_logo = (array) AdminSettings::get_instance()->get('gutenberg_editor_logo');
139 87
140 - // Remove Gutenberg theme.
141 - wp_dequeue_style('wp-block-library-theme');
142 -
143 - // Remove inline global CSS on the front end.
144 - wp_dequeue_style('global-styles');
145 - }
88 + echo '<style>
89 + /* hides the logo */
90 + body.is-fullscreen-mode .edit-post-header a.components-button svg{
91 + display: none;
92 + }
93 + /* adds a custom image */
94 + body.is-fullscreen-mode .edit-post-header a.components-button:before{
95 + background-image: url( ' . esc_url($gutenberg_editor_logo['url']) . ' );
96 + background-size: cover;
97 + /* you can the image paddings with the parameters below*/
98 + top: 10px;
99 + right: 10px;
100 + bottom: 10px;
101 + left: 10px;
102 + }
103 + </style>';
146 104 }
147 105
148 - /**
149 - * Adminify Logo
150 - *
151 - * @param [type] $logo
152 - *
153 - * @return void
154 - */
155 - public function jltwp_adminify_logo_icon($logo)
156 - {
157 - $logo = WP_ADMINIFY_PATH . '/assets/images/adminify.svg';
158 - return $logo;
159 - }
160 106
161 -
162 107 /**
163 108 * WP Adminify: Modules
164 109 */
165 110 public function jltwp_adminify_modules_manager()
166 111 {
167 - // new MenuStyle();
112 + $this->options = (array) AdminSettings::get_instance()->get();
168 113 new Modules();
114 + new CustomAdminColumns();
115 + new MenuStyle($this->options);
169 116 new AdminBar();
170 117 new Tweaks();
118 + new Sidebar_Widgets();
171 119 new OutputCSS();
172 120 new ThirdPartyCompatibility();
173 121 new AdminFooterText();
174 - new Sidebar_Widgets();
175 - new Remove_DashboardWidgets();
176 122
177 - if (!empty($this->options['admin_ui']) && preg_match('/https:\/\//', site_url()) && is_ssl()) {
178 - FrameInit::instance();
179 - }
123 + // Register Default Dashboard Widgets
124 + new DashboardWidgets();
180 125
181 126 // Version Rollback
182 - // Adminify_Rollback::get_instance();
127 + Adminify_Rollback::get_instance();
183 128 }
184 129
185 130
186 131 /**
@@ -225,73 +170,22 @@
225 170 }
226 171 }
227 172
228 173
229 - public function support_menu()
230 - {
231 - // $this->submenu_link_new_tab();
232 - // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
233 - $support_url = 'adminify-support';
234 - // if($adminify_ui ) {
235 - // $support_urlsss = \WPAdminify\Inc\Admin\AdminSettings::support_url();
236 - // }
237 - add_submenu_page(
238 - 'wp-adminify-settings', // Ex. wp-adminify-settings
239 - __('Get Support', 'adminify'),
240 - __('Support', 'adminify'),
241 - 'manage_options',
242 - $support_url,
243 - [$this, 'support_menu_redirect'],
244 - 60
245 - );
246 -
247 - // Hook into admin_init to handle the redirect early, before any output
248 - add_action('admin_init', [$this, 'handle_support_redirect']);
249 - }
250 -
251 174 /**
252 - * Handle support menu redirect
253 - * This method is called when the support page would normally load
175 + * Support Contact URL
176 + *
177 + * @param [type] $support_url and Pro Support
178 + *
179 + * @return void
254 180 */
255 - public function support_menu_redirect()
181 + public function jltwp_adminify_support_forum_url($support_url)
256 182 {
257 - // This function body will never execute because we redirect in admin_init
258 - // But it needs to exist as the callback
259 - }
260 -
261 - /**
262 - * Handle the actual redirect in admin_init before any output
263 - */
264 - public function handle_support_redirect()
265 - {
266 - if (isset($_GET['page']) && $_GET['page'] === 'adminify-support') {
267 - $redirect_url = \WPAdminify\Inc\Admin\AdminSettings::support_url();
268 -
269 - // Add the URLs to the allowed redirect hosts filter
270 - add_filter('allowed_redirect_hosts', function($hosts) {
271 - $hosts[] = 'wpadminify.com';
272 - $hosts[] = 'wordpress.org';
273 - return $hosts;
274 - });
275 -
276 - // Use wp_redirect for external URLs instead of wp_safe_redirect
277 - wp_redirect($redirect_url, 301);
278 - exit;
183 + if (jltwp_adminify()->is_premium()) {
184 + $support_url = 'https://wpadminify.com/contact';
185 + } else {
186 + $support_url = 'https://wordpress.org/support/plugin/adminify/';
279 187 }
188 + return $support_url;
280 189 }
281 -
282 -
283 - public function submenu_link_new_tab()
284 - {
285 - add_action('admin_footer', function () {
286 -?>
287 - <script type="text/javascript">
288 - jQuery(document).ready(function($) {
289 - $('a[href="admin.php?page=adminify-support"]').attr('target', '_blank');
290 - });
291 - </script>
292 -<?php
293 - });
294 - }
295 -
296 190 }
297 191 }