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.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
← All changes | Inc/Admin/Admin.php +77 -177 4.2.153.2.4.1 View file →
@@ -1,22 +1,21 @@
1 1 <?php
2 2
3 -namespace PXLBSAdminify\Inc\Admin;
3 +namespace WPAdminify\Inc\Admin;
4 4
5 -use PXLBSAdminify\Inc\Utils;
6 -use \PXLBSAdminify\Inc\Classes\CustomAdminColumns;
7 -use \PXLBSAdminify\Inc\Classes\Tweaks;
8 -use \PXLBSAdminify\Inc\Classes\MenuStyle;
9 -use \PXLBSAdminify\Inc\Classes\AdminBar;
10 -use \PXLBSAdminify\Inc\Classes\OutputCSS;
11 -use \PXLBSAdminify\Inc\Classes\ThirdPartyCompatibility;
12 -use \PXLBSAdminify\Inc\Classes\AdminFooterText;
13 -use \PXLBSAdminify\Inc\Admin\Modules;
14 -use \PXLBSAdminify\Inc\Classes\Sidebar_Widgets;
15 -use \PXLBSAdminify\Inc\Classes\Remove_DashboardWidgets;
16 -use PXLBSAdminify\Inc\Classes\Adminify_Rollback;
17 -use PXLBSAdminify\Inc\Admin\AdminSettings;
18 -use PXLBSAdminify\Inc\Admin\Frames\Init as FrameInit;
5 +use WPAdminify\Inc\Utils;
6 +use \WPAdminify\Inc\Classes\Tweaks;
7 +use \WPAdminify\Inc\Classes\MenuStyle;
8 +use \WPAdminify\Inc\Classes\CustomAdminColumns;
9 +use \WPAdminify\Inc\Classes\AdminBar;
10 +use \WPAdminify\Inc\Classes\DashboardWidgets;
11 +use \WPAdminify\Inc\Classes\Sidebar_Widgets;
12 +use \WPAdminify\Inc\Classes\OutputCSS;
13 +use \WPAdminify\Inc\Classes\ThirdPartyCompatibility;
14 +use \WPAdminify\Inc\Classes\AdminFooterText;
15 +use \WPAdminify\Inc\Admin\Modules;
16 +use WPAdminify\Inc\Classes\Adminify_Rollback;
17 +use WPAdminify\Inc\Admin\AdminSettings;
19 18
20 19 // no direct access allowed
21 20 if (!defined('ABSPATH')) {
22 21 exit;
@@ -30,27 +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();
37 + $this->jltwp_adminify_modules_manager();
39 38
40 - $this->pxlbsadminify_modules_manager();
41 -
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
47 - jltwp_adminify()->add_filter('plugin_icon', array($this, 'pxlbsadminify_logo_icon'));
44 + jltwp_adminify()->add_filter('freemius_pricing_js_path', array($this, 'jltwp_new_freemius_pricing_js'));
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 - // jltwp_adminify()->add_filter('support_forum_url', [$this, 'pxlbsadminify_support_forum_url']);
47 + jltwp_adminify()->add_filter('support_forum_url', [$this, 'jltwp_adminify_support_forum_url']);
53 48
54 49 // Disable deactivation feedback form
55 50 jltwp_adminify()->add_filter('show_deactivation_feedback_form', '__return_false');
56 51
@@ -55,126 +50,82 @@
55 50 jltwp_adminify()->add_filter('show_deactivation_feedback_form', '__return_false');
56 51
57 52 // Disable after deactivation subscription cancellation window
58 53 jltwp_adminify()->add_filter('show_deactivation_subscription_cancellation', '__return_false');
54 + }
59 55
60 - $this->disable_gutenberg_editor();
61 56
62 - add_filter('show_admin_bar', [ $this, 'pxlbsadminify_removeAdminBar'], PHP_INT_MAX);
63 - add_action('wp_head', [ $this,'pxlbsadminify_remove_header_for_baknd'], PHP_INT_MAX);
64 -
57 + /**
58 + * Adminify Logo
59 + *
60 + * @param [type] $logo
61 + *
62 + * @return void
63 + */
64 + public function jltwp_adminify_logo_icon($logo)
65 + {
66 + $logo = WP_ADMINIFY_PATH . '/assets/images/adminify.svg';
67 + return $logo;
65 68 }
66 69
67 - function pxlbsadminify_removeAdminBar($status)
70 + public function jltwp_new_freemius_pricing_js($default_pricing_js_path)
68 71 {
69 - // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
70 - if (!empty($_GET['bknd']) && sanitize_text_field(wp_unslash($_GET['bknd']))) {
71 - return false;
72 - }
73 - return $status;
72 + return WP_ADMINIFY_PATH . '/Libs/freemius-pricing/freemius-pricing.js';
74 73 }
75 74
76 - function pxlbsadminify_remove_header_for_baknd() {
77 - // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
78 - if (isset($_GET['bknd']) && sanitize_text_field(wp_unslash($_GET['bknd'])) == '1') {
79 - echo '<script>
80 - jQuery(document).ready(function($){
81 - $("header").remove();
82 - $("footer").remove();
83 - })
84 - </script>';
85 - }
86 - }
87 75
88 - public function disable_gutenberg_editor()
76 + // Gutenberg Editor WordPress Logo Change
77 + public function change_gutenberg_editor_logo()
89 78 {
90 - // Sidebar Widgets Remove
91 - if (!empty($this->options['remove_widgets']['disable_gutenberg_editor'])) {
92 - // Disable Gutenberg for Block Editor
93 - add_filter('gutenberg_use_widgets_block_editor', '__return_false');
94 - // Disable Gutenberg for widgets.
95 - add_filter('use_widgets_block_editor', '__return_false');
96 - }
97 79
98 - // Disable Block Editor Gutenberg
99 - if (!empty($this->options["disable_gutenberg"]['disable_for']) && in_array('block_editor', $this->options["disable_gutenberg"]['disable_for'])) {
100 - add_filter('use_block_editor_for_post', '__return_false');
101 - add_action('wp_enqueue_scripts', [$this, 'remove_backend_gutenberg_scripts'], 20);
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;
102 84 }
103 85
104 - // Remove all scripts and styles added by Gutenberg
105 - 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'])) {
106 - add_action('wp_enqueue_scripts', [$this, 'remove_gutenberg_scripts']);
107 - remove_action('enqueue_block_assets', 'wp_enqueue_registered_block_scripts_and_styles');
108 - }
109 - }
86 + $gutenberg_editor_logo = (array) AdminSettings::get_instance()->get('gutenberg_editor_logo');
110 87
111 -
112 - // Dequeue all Frontend scripts and styles added by Gutenberg
113 - public function remove_gutenberg_scripts()
114 - {
115 - wp_dequeue_style('wp-block-library');
116 - wp_dequeue_style('wc-block-style'); // Remove WooCommerce block CSS
117 -
118 - // Remove Inline CSS
119 - // wp_deregister_style('wp-block-library-inline');
120 - // wp_dequeue_style('wp-block-library-inline');
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>';
121 104 }
122 105
123 - /**
124 - * Remove Gutenberg Scripts
125 - *
126 - * @return void
127 - */
128 - public function remove_backend_gutenberg_scripts()
129 - {
130 - if (is_admin()) {
131 - // Remove CSS on the front end.
132 - wp_dequeue_style('wp-block-library');
133 106
134 - // Remove Gutenberg theme.
135 - wp_dequeue_style('wp-block-library-theme');
136 -
137 - // Remove inline global CSS on the front end.
138 - wp_dequeue_style('global-styles');
139 - }
140 - }
141 -
142 107 /**
143 - * Adminify Logo
144 - *
145 - * @param [type] $logo
146 - *
147 - * @return void
148 - */
149 - public function pxlbsadminify_logo_icon($logo)
150 - {
151 - $logo = PXLBSADMINIFY_PATH . '/assets/images/adminify.svg';
152 - return $logo;
153 - }
154 -
155 -
156 - /**
157 108 * WP Adminify: Modules
158 109 */
159 - public function pxlbsadminify_modules_manager()
110 + public function jltwp_adminify_modules_manager()
160 111 {
161 - // new MenuStyle();
112 + $this->options = (array) AdminSettings::get_instance()->get();
162 113 new Modules();
114 + new CustomAdminColumns();
115 + new MenuStyle($this->options);
163 116 new AdminBar();
164 117 new Tweaks();
118 + new Sidebar_Widgets();
165 119 new OutputCSS();
166 120 new ThirdPartyCompatibility();
167 121 new AdminFooterText();
168 - new Sidebar_Widgets();
169 - new Remove_DashboardWidgets();
170 122
171 - if (!empty($this->options['admin_ui']) && preg_match('/https:\/\//', site_url()) && is_ssl()) {
172 - FrameInit::instance();
173 - }
123 + // Register Default Dashboard Widgets
124 + new DashboardWidgets();
174 125
175 126 // Version Rollback
176 - // Adminify_Rollback::get_instance();
127 + Adminify_Rollback::get_instance();
177 128 }
178 129
179 130
180 131 /**
@@ -219,73 +170,22 @@
219 170 }
220 171 }
221 172
222 173
223 - public function support_menu()
224 - {
225 - // $this->submenu_link_new_tab();
226 - // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
227 - $support_url = 'adminify-support';
228 - // if($adminify_ui ) {
229 - // $support_urlsss = \PXLBSAdminify\Inc\Admin\AdminSettings::support_url();
230 - // }
231 - add_submenu_page(
232 - 'wp-adminify-settings', // Ex. wp-adminify-settings
233 - __('Get Support', 'adminify'),
234 - __('Support', 'adminify'),
235 - 'manage_options',
236 - $support_url,
237 - [$this, 'support_menu_redirect'],
238 - 60
239 - );
240 -
241 - // Hook into admin_init to handle the redirect early, before any output
242 - add_action('admin_init', [$this, 'handle_support_redirect']);
243 - }
244 -
245 174 /**
246 - * Handle support menu redirect
247 - * 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
248 180 */
249 - public function support_menu_redirect()
181 + public function jltwp_adminify_support_forum_url($support_url)
250 182 {
251 - // This function body will never execute because we redirect in admin_init
252 - // But it needs to exist as the callback
253 - }
254 -
255 - /**
256 - * Handle the actual redirect in admin_init before any output
257 - */
258 - public function handle_support_redirect()
259 - {
260 - // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
261 - if (isset($_GET['page']) && sanitize_key(wp_unslash($_GET['page'])) === 'adminify-support') {
262 - $redirect_url = \PXLBSAdminify\Inc\Admin\AdminSettings::support_url();
263 -
264 - // Add the URLs to the allowed redirect hosts filter
265 - add_filter('allowed_redirect_hosts', function($hosts) {
266 - $hosts[] = 'wpadminify.com';
267 - $hosts[] = 'wordpress.org';
268 - return $hosts;
269 - });
270 -
271 - wp_safe_redirect($redirect_url, 301);
272 - 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/';
273 187 }
188 + return $support_url;
274 189 }
275 -
276 -
277 - public function submenu_link_new_tab()
278 - {
279 - add_action('admin_footer', function () {
280 -?>
281 - <script type="text/javascript">
282 - jQuery(document).ready(function($) {
283 - $('a[href="admin.php?page=adminify-support"]').attr('target', '_blank');
284 - });
285 - </script>
286 -<?php
287 - });
288 - }
289 -
290 190 }
291 191 }