PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.5
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.5
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 +88 -172 4.2.163.2.4.5 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,98 @@
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');
87 + if( !empty( $gutenberg_editor_logo['url'] )){
88 + $gutenberg_editor_logo_url = $gutenberg_editor_logo['url'];
110 89
90 + /* hides the logo */
91 + // body.js.is-fullscreen-mode .edit-post-header a.components-button svg{
92 + // display: none;
93 + // }
94 + /* adds a custom image */
111 95
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
96 + echo '<style>
97 + body.js.is-fullscreen-mode .edit-post-header a.components-button:before{
98 + background-image: url( ' . esc_url($gutenberg_editor_logo_url) . ' );
99 + background-size: cover;
100 + /* you can the image paddings with the parameters below*/
101 + top: 10px;
102 + right: 10px;
103 + bottom: 10px;
104 + left: 10px;
105 + }
117 106
118 - // Remove Inline CSS
119 - // wp_deregister_style('wp-block-library-inline');
120 - // wp_dequeue_style('wp-block-library-inline');
121 - }
107 + body.js.is-fullscreen-mode .edit-post-header a.components-button svg {
108 + display: block !important;
109 + }
122 110
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');
111 + .components-tab-panel__tabs-item:before {
112 + top: 32px;
113 + }
114 + .wp-adminify.is-fullscreen-mode #wpadminbar{
115 + display: none !important;
116 + }
133 117
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');
118 + </style>';
139 119 }
140 120 }
141 121
142 - /**
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 122
155 -
156 123 /**
157 124 * WP Adminify: Modules
158 125 */
159 - public function pxlbsadminify_modules_manager()
126 + public function jltwp_adminify_modules_manager()
160 127 {
161 - // new MenuStyle();
128 + $this->options = (array) AdminSettings::get_instance()->get();
162 129 new Modules();
130 + new CustomAdminColumns();
131 + new MenuStyle($this->options);
163 132 new AdminBar();
164 133 new Tweaks();
134 + new Sidebar_Widgets();
165 135 new OutputCSS();
166 136 new ThirdPartyCompatibility();
167 137 new AdminFooterText();
168 - new Sidebar_Widgets();
169 - new Remove_DashboardWidgets();
170 138
171 - if (!empty($this->options['admin_ui']) && preg_match('/https:\/\//', site_url()) && is_ssl()) {
172 - FrameInit::instance();
173 - }
139 + // Register Default Dashboard Widgets
140 + new DashboardWidgets();
174 141
175 142 // Version Rollback
176 - // Adminify_Rollback::get_instance();
143 + Adminify_Rollback::get_instance();
177 144 }
178 145
179 146
180 147 /**
@@ -219,73 +186,22 @@
219 186 }
220 187 }
221 188
222 189
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 190 /**
246 - * Handle support menu redirect
247 - * This method is called when the support page would normally load
191 + * Support Contact URL
192 + *
193 + * @param [type] $support_url and Pro Support
194 + *
195 + * @return void
248 196 */
249 - public function support_menu_redirect()
197 + public function jltwp_adminify_support_forum_url($support_url)
250 198 {
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;
199 + if (jltwp_adminify()->is_premium()) {
200 + $support_url = 'https://wpadminify.com/contact';
201 + } else {
202 + $support_url = 'https://wordpress.org/support/plugin/adminify/';
273 203 }
204 + return $support_url;
274 205 }
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 206 }
291 207 }