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.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 / Classes / AdminFooterText.php

AdminFooterText.php in Adminify – White Label, Admin Menu Editor, Login Customizer 3.2.4.5, at Inc/Classes/AdminFooterText.php

323 lines 8.8 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\Classes;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Classes\ServerInfo;
7 use WPAdminify\Inc\Admin\AdminSettings;
8 use WPAdminify\Inc\Admin\AdminSettingsModel;
9
10
11 // no direct access allowed.
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit;
14 }
15
16 /**
17 * Admin footer text
18 *
19 * @package WP Adminify
20 * @author: Jewel Theme<support@jeweltheme.com>
21 */
22 class AdminFooterText extends AdminSettingsModel {
23
24 /**
25 * Server Info
26 *
27 * @var $server_info
28 */
29 public $server_info;
30
31 /**
32 * Constructor
33 */
34 public function __construct() {
35 $this->options = (array) AdminSettings::get_instance()->get();
36
37 $restrict_for = ! empty( $this->options['admin_footer_user_roles'] ) ? $this->options['admin_footer_user_roles'] : '';
38 if ( $restrict_for ) {
39 add_filter( 'admin_footer_text', [ $this, 'jltwp_adminify_change_admin_footer_text' ] );
40 return;
41 }
42
43 add_action( 'admin_menu', [ $this, 'jltwp_adminify_footer_version_remove' ] );
44 add_action( 'network_admin_menu', [ $this, 'jltwp_adminify_footer_version_remove' ] );
45
46 $this->adminify_footer_text_init();
47
48 $this->server_info = new ServerInfo();
49 }
50
51 public function jltwp_adminify_footer_version_remove() {
52 remove_filter( 'update_footer', 'core_update_footer' );
53 }
54
55 public function adminify_footer_text_init() {
56 /** Admin Footer Credits Text */
57 add_filter( 'update_footer', [ $this, 'jltwp_adminify_change_admin_footer' ], 10, 3 );
58
59 // Footer Right Info
60 add_filter( 'admin_footer_text', [ $this, 'jltwp_adminify_change_admin_footer_text' ] );
61 }
62
63 /** Footer Credits */
64 public function jltwp_adminify_footer_credits() { ?>
65 <div class="wp-adminify adminify-first-child">
66 <div class="wp-adminify--copyright">
67 <?php
68 echo sprintf( __('Developed by <a href="%1$s" target="_blank" title="WP Adminify by Jewel Theme" target="_blank">%2$s</a> <br>
69 Powered by <a target="_blank" href="%3$s">WordPress</a>', 'adminify'),
70 esc_url('https://wpadminify.com/'),
71 __('WP Adminify', 'adminify'),
72 esc_url( 'https://wordpress.org/' )
73 );
74 ?>
75 </div>
76 </div>
77 <?php
78 }
79
80
81 public function jltwp_adminify_change_admin_footer_text() {
82 $this->options = (array) AdminSettings::get_instance()->get();
83 if ( ! empty( $this->options['footer_text'] ) ) {
84 echo wp_kses_post( $this->options['footer_text'] );
85 return;
86 }
87 // Change the content of the left admin footer text.
88 apply_filters( 'jltwp_adminify_footer_credits', $this->jltwp_adminify_footer_credits() );
89 }
90
91
92 /**
93 * IP Address
94 */
95 public function adminify_ip_address() {
96 if ( ! empty( $this->options['admin_footer_ip_address'] ) ) {
97 ?>
98 <div class="column has-text-right">
99 <?php
100 if ( is_rtl() ) {
101 echo sprintf(
102 wp_kses_post( '<span class="info-details">%2$s</span><span class="info-id is-uppercase">%1$s</span>' ),
103 esc_html__( 'IP: ', 'adminify' ),
104 esc_html( $this->server_info->get_ip_address() )
105 );
106 } else {
107 echo sprintf(
108 wp_kses_post( '<span class="info-id is-uppercase">%1$s</span><span class="info-details">%2$s</span>' ),
109 esc_html__( 'IP: ', 'adminify' ),
110 esc_html( $this->server_info->get_ip_address() )
111 );
112 }
113 ?>
114 </div>
115 <?php
116 }
117 }
118
119
120 /**
121 * PHP Version
122 */
123 public function adminify_php_version() {
124 if ( ! empty( $this->options['admin_footer_php_version'] ) ) {
125 ?>
126 <div class="column has-text-right">
127 <?php
128 if ( is_rtl() ) {
129 echo sprintf(
130 '<span class="info-details">%2$s</span><span class="info-id">%1$s</span>',
131 esc_html__( 'PHP: ', 'adminify' ),
132 esc_html( $this->server_info->get_php_version_lite() )
133 );
134 } else {
135 echo sprintf(
136 '<span class="info-id">%1$s</span><span class="info-details">%2$s</span>',
137 esc_html__( 'PHP: ', 'adminify' ),
138 esc_html( $this->server_info->get_php_version_lite() )
139 );
140 }
141 ?>
142 </div>
143 <?php
144 }
145 }
146
147 /**
148 * WordPress Version
149 */
150 public function adminify_wp_version() {
151 if ( ! empty( $this->options['admin_footer_wp_version'] ) ) {
152 ?>
153 <div class="column has-text-right">
154 <?php
155 if ( is_rtl() ) {
156 echo sprintf(
157 '<span class="info-details">%2$s</span><span class="info-id">%1$s</span>',
158 esc_html__( 'WordPress: v', 'adminify' ),
159 esc_html( $this->server_info->get_wp_version() )
160 );
161 } else {
162 echo sprintf(
163 '<span class="info-id">%1$s</span><span class="info-details">%2$s</span>',
164 esc_html__( 'WordPress: v', 'adminify' ),
165 esc_html( $this->server_info->get_wp_version() )
166 );
167 }
168 ?>
169 </div>
170 <?php
171 }
172 }
173
174 /**
175 * Memory Usage
176 */
177 public function adminify_memory_usage() {
178 if ( ! empty( $this->options['admin_footer_memory_usage'] ) ) {
179 $memory_usage = $this->server_info->get_wp_memory_usage();
180 $memory_limit = $memory_usage['MemLimitFormat'];
181 $memory_usage_format = $memory_usage['MemUsageFormat'];
182 // $memory_usage_percentage = $memory_usage['MemUsageCalc'];
183 $memory_usage_percentage = ServerInfo::wp_memory_usage_percentage();
184
185 if ( $memory_usage_percentage <= 65 ) {
186 $memory_status = '#00BA88';
187 } elseif ( $memory_usage_percentage > 65 && $memory_usage_percentage < 85 ) {
188 $memory_status = '#ffe08a';
189 } elseif ( $memory_usage_percentage > 85 ) {
190 $memory_status = '#f14668';
191 }
192 ?>
193 <div class="column has-text-right">
194
195 <?php
196 if ( is_rtl() ) {
197 echo sprintf(
198 wp_kses_post( '<span class="info-details">%2$s of %3$s <span class="percentage tag has-text-white is-rounded" style="background:%4$s">%5$s</span></span><span class="info-id">%1$s</span>' ),
199 esc_html__( 'WP Memory Usage: ', 'adminify' ),
200 esc_html( $memory_usage_format ),
201 esc_html( $memory_limit ),
202 esc_html( $memory_status ),
203 esc_html( $memory_usage_percentage ) . '%'
204 );
205 } else {
206 echo sprintf(
207 wp_kses_post( '<span class="info-id">%1$s</span><span class="info-details">%2$s of %3$s <span class="percentage tag has-text-white is-rounded" style="background:%4$s">%5$s</span></span>' ),
208 esc_html__( 'WP Memory Usage: ', 'adminify' ),
209 esc_html( $memory_usage_format ),
210 esc_html( $memory_limit ),
211 esc_html( $memory_status ),
212 esc_html( $memory_usage_percentage ) . '%'
213 );
214 }
215 ?>
216 </span>
217 </div>
218 <?php
219 }
220 }
221
222 /**
223 * Memory Limit
224 */
225 public function adminify_memory_limit() {
226 if ( ! empty( $this->options['admin_footer_memory_limit'] ) ) {
227 $memory_limit = $this->server_info->get_wp_memory_usage();
228 $memory_limit = $memory_limit['MemLimitFormat'];
229 ?>
230 <div class="column has-text-right">
231 <?php
232 if ( is_rtl() ) {
233 echo sprintf(
234 '<span class="info-details">%2$s</span><span class="info-id">%1$s</span>',
235 esc_html__( 'WP Memory Limit: ', 'adminify' ),
236 esc_html( $memory_limit )
237 );
238 } else {
239 echo sprintf(
240 '<span class="info-id">%1$s</span><span class="info-details">%2$s</span>',
241 esc_html__( 'WP Memory Limit: ', 'adminify' ),
242 esc_html( $memory_limit )
243 );
244 }
245 ?>
246 </div>
247 <?php
248 }
249 }
250
251
252 /**
253 * Memory Limit
254 */
255 public function adminify_memory_available() {
256 if ( ! empty( $this->options['admin_footer_memory_available'] ) ) {
257 $memory_available = $this->server_info->get_wp_memory_usage();
258 $memory_available = $memory_available['MemLimitGet'];
259 ?>
260 <div class="column has-text-right">
261 <?php
262 if ( is_rtl() ) {
263 echo sprintf(
264 '<span class="info-details is-uppercase">%2$s</span><span class="info-id">%1$s</span>',
265 esc_html__( 'WP Memory Available: ', 'adminify' ),
266 esc_html( $memory_available )
267 );
268 } else {
269 echo sprintf(
270 '<span class="info-id">%1$s</span><span class="info-details is-uppercase">%2$s</span>',
271 esc_html__( 'WP Memory Available: ', 'adminify' ),
272 esc_html( $memory_available )
273 );
274 }
275 ?>
276 </div>
277 <?php
278 }
279 }
280
281 /** Admin Footer Text **/
282 public function jltwp_adminify_change_admin_footer( $footer_text ) {
283 if (
284 ! empty( $this->options['admin_footer_memory_usage'] ) ||
285 ! empty( $this->options['admin_footer_memory_limit'] ) ||
286 ! empty( $this->options['admin_footer_memory_available'] ) ||
287 ! empty( $this->options['admin_footer_ip_address'] ) ||
288 ! empty( $this->options['admin_footer_php_version'] ) ||
289 ! empty( $this->options['admin_footer_wp_version'] )
290 ) {
291 ?>
292 <div class="wp-adminify adminify-last-child">
293
294 <div class="system-info has-text-right">
295 <div class="info-line-1">
296
297 <?php
298 $this->adminify_ip_address();
299 $this->adminify_php_version();
300 $this->adminify_wp_version();
301 ?>
302 </div>
303
304 <div class="info-line-2">
305 <?php
306 $this->adminify_memory_usage();
307 $this->adminify_memory_limit();
308 $this->adminify_memory_available();
309 ?>
310
311 </div>
312 </div>
313
314 </div>
315 <?php
316 return $footer_text;
317 }
318
319 // Nothing, return blank
320 return '';
321 }
322 }
323