PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 1.0.4
Adminify – White Label, Admin Menu Editor, Login Customizer v1.0.4
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 / ServerInfo.php

ServerInfo.php in Adminify – White Label, Admin Menu Editor, Login Customizer 1.0.4, at Inc/classes/ServerInfo.php

802 lines 22.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\Classes;
4
5 use WPAdminify\Inc\Utils;
6
7 // no direct access allowed
8 if (!defined('ABSPATH')) exit;
9 /**
10 * WPAdminify
11 * Admin Menu: Server Info
12 *
13 * @author Jewel Theme <support@jeweltheme.com>
14 */
15
16 class ServerInfo
17 {
18
19 /**
20 * SERVER CPU LOAD
21 * Get the server CPU load in percentage.
22 */
23
24 public function get_server_cpu_load_percentage()
25 {
26
27 $result = -1;
28 $lines = null;
29
30 $os = '';
31 if (defined('PHP_OS')) {
32 $os = PHP_OS;
33 }
34
35 // Linux server
36 if ($os == 'Linux') {
37
38 $checks = array();
39 foreach (array(0, 1) as $i) {
40 $cmd = '/proc/stat';
41 $lines = array();
42 $fh = fopen($cmd, 'r');
43 while ($line = fgets($fh)) {
44 $lines[] = $line;
45 }
46 fclose($fh);
47 foreach ($lines as $line) {
48 $ma = array();
49 if (!preg_match('/^cpu (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+)$/', $line, $ma)) {
50 continue;
51 }
52 $total = $ma[1] + $ma[2] + $ma[3] + $ma[4] + $ma[5] + $ma[6] + $ma[7] + $ma[8] + $ma[9];
53 //$totalCpu = $ma[1] + $ma[2] + $ma[3];
54 //$result = (100 / $total) * $totalCpu;
55 $ma['total'] = $total;
56 $checks[] = $ma;
57 break;
58 }
59 if ($i == 0) {
60 // Wait before checking again.
61 sleep(1);
62 }
63 }
64 // Idle - prev idle
65 $diffIdle = $checks[1][4] - $checks[0][4];
66 // Total - prev total
67 $diffTotal = $checks[1]['total'] - $checks[0]['total'];
68 // Usage in %
69 $diffUsage = round((1000 * ($diffTotal - $diffIdle) / $diffTotal + 5) / 10, 2);
70 $result = $diffUsage;
71
72 return (float) $result;
73 }
74
75 return 'N/A';
76 }
77
78
79
80
81 /**
82 *******************
83 * SERVER CPU CORE COUNT
84 *******************
85 *
86 * Get the count of available server CPU cores.
87 */
88
89 function check_core_count()
90 {
91
92 $cmd = "uname";
93
94 $OS = strtolower(trim(shell_exec($cmd)));
95
96 switch ($OS) {
97 case ('linux'):
98 $cmd = "cat /proc/cpuinfo | grep processor | wc -l";
99 break;
100 case ('freebsd'):
101 $cmd = "sysctl -a | grep 'hw.ncpu' | cut -d ':' -f2";
102 break;
103 default:
104 unset($cmd);
105 }
106
107 if (isset($cmd) && $cmd != '') {
108 $cpuCoreNo = intval(trim(shell_exec($cmd)));
109 }
110
111 return empty($cpuCoreNo) ? 1 : $cpuCoreNo;
112 }
113
114
115 /**
116 * Convert Memory Size
117 *
118 * @param [type] $size
119 *
120 * @return void
121 */
122 public function convert_memory_size($size)
123 {
124
125 $l = substr($size, -1);
126 $ret = substr($size, 0, -1);
127
128 switch (strtoupper($l)) {
129 case 'P':
130 $ret *= 1024;
131 case 'T':
132 $ret *= 1024;
133 case 'G':
134 $ret *= 1024;
135 case 'M':
136 $ret *= 1024;
137 case 'K':
138 $ret *= 1024;
139 }
140
141 return $ret;
142 }
143
144 /**
145 * Get Server/WP Memory Limit
146 */
147
148 public function get_wp_memory_limit()
149 {
150
151 $memory_limit = (int)@ini_get('memory_limit') . ' MB' . ' (' . (int)WP_MEMORY_LIMIT . ' MB)';
152 if (@ini_get('memory_limit') == '-1') {
153 $memory_limit = '-1 / ' . esc_html__('Unlimited', WP_ADMINIFY_TD) . ' (' . (int)WP_MEMORY_LIMIT . ' MB)';
154 }
155
156 if ((int)WP_MEMORY_LIMIT < (int)@ini_get('memory_limit') && WP_MEMORY_LIMIT != '-1' || (int)WP_MEMORY_LIMIT < (int)@ini_get('memory_limit') && @ini_get('memory_limit') != '-1') {
157 $memory_limit .= ' <span class="warning"><span class="dashicons dashicons-warning"></span> ' . sprintf(__('The WP PHP Memory Limit is less than the %s Server PHP Memory Limit', WP_ADMINIFY_TD), (int)@ini_get('memory_limit') . ' MB') . '!</span>';
158 }
159
160 return $memory_limit;
161 }
162
163 /**
164 * Get PHP Version
165 */
166 public function get_php_version()
167 {
168
169 $php_version = 'N/A';
170
171 if (function_exists('phpversion')) {
172 $php_version = phpversion();
173 }
174
175 if (defined('PHP_VERSION')) {
176 $php_version = PHP_VERSION;
177 }
178
179 if ($php_version != 'N/A' && version_compare($php_version, '7.3', '<')) {
180 $php_version = '<span class="warning"><span class="dashicons dashicons-warning"></span> ' . sprintf(__('%s - Recommend PHP version of 7.3. See: %s', WP_ADMINIFY_TD), esc_html($php_version), '<a href="https://wordpress.org/about/requirements/" target="_blank" rel="noopener">' . __('WordPress Requirements', WP_ADMINIFY_TD) . '</a>') . '</span>';
181 }
182
183 return $php_version;
184 }
185
186 /**
187 * Get PHP Version Only
188 * */
189 public function get_php_version_lite()
190 {
191
192 $php_version = 'N/A';
193
194 if (function_exists('phpversion')) {
195 $php_version = phpversion();
196 }
197
198 if (defined('PHP_VERSION')) {
199 $php_version = PHP_VERSION;
200 }
201
202 return $php_version;
203 }
204
205 /**
206 * Get Curl Version
207 *
208 * @return void
209 */
210 public function get_cURL_version()
211 {
212
213 $curl_version = 'N/A';
214
215 if (function_exists('curl_version')) {
216 $curl_version = curl_version();
217 $curl_version = $curl_version['version'] . ', ' . $curl_version['ssl_version'];
218 }
219
220 return $curl_version;
221 }
222
223 /**
224 * Get MySQL Version
225 *
226 * @return void
227 */
228 public function get_mysql_version()
229 {
230 global $wpdb;
231
232 // Short Version
233 // $db_version = $wpdb->db_server_info();
234
235 $db_version_dump = $wpdb->get_var("SELECT VERSION() AS version from DUAL");
236 if (preg_match('/\d+(?:\.\d+)+/', $db_version_dump, $matches)) {
237 $db_version = $matches[0]; //returning the first match
238 } else {
239 $db_version = __('N/A', WP_ADMINIFY_TD);
240 }
241 return $db_version;
242 }
243
244
245 /**
246 * Get Get Database Software Name
247 *
248 * @return void
249 */
250 public function get_db_software()
251 {
252
253 global $wpdb;
254 $db_software_query = $wpdb->get_row("SHOW VARIABLES LIKE 'version_comment'");
255 $db_software_dump = $db_software_query->Value;
256 if (!empty($db_software_dump)) {
257 $db_soft_array = explode(" ", trim($db_software_dump));
258 $db_software = $db_soft_array[0];
259 } else {
260 $db_software = __('N/A', WP_ADMINIFY_TD);
261 }
262
263 return $db_software;
264 }
265
266 /**
267 * Get WP Table Prefix
268 */
269 public function get_table_prefix()
270 {
271
272 global $wpdb;
273
274 $prefix = array(
275 'tablePrefix' => $wpdb->prefix,
276 'tableBasePrefix' => $wpdb->base_prefix,
277 );
278
279 return $prefix;
280 }
281
282 /**
283 * Shell Enable/Disable
284 */
285 public function is_shell_enable()
286 {
287
288 if (function_exists('shell_exec') && !in_array('shell_exec', array_map('trim', explode(', ', ini_get('disable_functions'))))) {
289 // If enabled, check if shell_exec() actually have execution power
290 $returnVal = shell_exec('cat /proc/cpuinfo');
291 if (!empty($returnVal)) {
292 return true;
293 } else {
294 return false;
295 }
296 } else {
297 return false;
298 }
299 }
300
301 /**
302 * Get Server Uptime
303 */
304 public function get_server_uptime()
305 {
306
307 $file = '/proc/uptime';
308
309 if (file_exists($file)) {
310 $str = file_get_contents($file);
311
312 $num = floatval($str);
313 $secs = fmod($num, 60);
314 $num = (int)($num / 60);
315 $mins = $num % 60;
316 $num = (int)($num / 60);
317 $hours = $num % 24;
318 $num = (int)($num / 24);
319 $days = $num;
320
321 $uptime = $days . ' ' . esc_html__('Days', WP_ADMINIFY_TD) . ' ' . $hours . ' ' . esc_html__('Hours', WP_ADMINIFY_TD) . ' ' . $mins . ' ' . esc_html__('Minutes', WP_ADMINIFY_TD);
322
323 return $uptime;
324 }
325
326 return 'N/A';
327 }
328
329
330 /**
331 * Get WP Timezone
332 */
333
334 public function get_wp_timezone()
335 {
336
337 $timezone = get_option('timezone_string'); // Direct value
338
339 // Create a UTC+- zone if no timezone string exists
340 if (empty($timezone)) {
341 // Current offset
342 $current_offset = get_option('gmt_offset');
343
344 // Plus offset
345 $timezone = 'UTC+' . $current_offset;
346
347 // No offset
348 if (0 == $current_offset) {
349 $timezone = 'UTC+0';
350 // Negative offset
351 } elseif ($current_offset < 0) {
352 $timezone = 'UTC' . $current_offset;
353 }
354
355 // Normalize
356 $timezone = str_replace(array('.25', '.5', '.75'), array(':15', ':30', ':45'), $timezone);
357 }
358
359 return $timezone;
360 }
361
362 /**
363 * Get Server/WP Total RAM
364 *
365 * @return void
366 */
367 public function get_server_total_ram()
368 {
369
370 $os = '';
371 if (defined('PHP_OS')) {
372 $os = PHP_OS;
373 }
374
375 $result = 0;
376
377 // Linux server
378 if ($os == 'Linux') {
379
380 $fh = fopen('/proc/meminfo', 'r');
381 while ($line = fgets($fh)) {
382 $pieces = array();
383 if (preg_match('/^MemTotal:\s+(\d+)\skB$/', $line, $pieces)) {
384 $result = $pieces[1];
385 // KB to Bytes
386 $result = round($result / 1024 / 1024, 2);
387 break;
388 }
389 }
390 fclose($fh);
391
392 return $result;
393 }
394
395 return 'N/A';
396 }
397
398
399 /**
400 * Get Server/WP Free RAM
401 */
402 public function get_server_free_ram()
403 {
404
405 $os = '';
406 if (defined('PHP_OS')) {
407 $os = PHP_OS;
408 }
409
410 $result = 0;
411
412 // Linux server
413 if ($os == 'Linux') {
414
415 $fh = fopen('/proc/meminfo', 'r');
416 while ($line = fgets($fh)) {
417 $pieces = array();
418 if (preg_match('/^MemFree:\s+(\d+)\skB$/', $line, $pieces)) {
419 // KB to Bytes
420 $result = round($pieces[1] / 1024 / 1024, 2);
421 break;
422 }
423 }
424 fclose($fh);
425
426 return $result;
427 }
428
429 return 'N/A';
430 }
431
432 /**
433 * Get Server/WP RAM Details
434 *
435 * @return void
436 */
437 public function get_server_ram_details()
438 {
439
440 $os = '';
441 if (defined('PHP_OS')) {
442 $os = PHP_OS;
443 }
444
445 $ram_data = '';
446 if ($os == 'Linux') {
447
448 foreach (file('/proc/meminfo') as $ri) {
449 $m[strtok($ri, ':')] = strtok('');
450 }
451
452 $ram_total = round((int)$m['MemTotal'] / 1024 / 1024, 2);
453 $ram_available = round((int)$m['MemAvailable'] / 1024 / 1024, 2);
454 $ram_free = round((int)$m['MemFree'] / 1024 / 1024, 2);
455 $ram_buffers = round((int)$m['Buffers'] / 1024 / 1024, 2);
456 $ram_cached = round((int)$m['Cached'] / 1024 / 1024, 2);
457
458 $mem_kernel_app = round((100 - ($ram_buffers + $ram_cached + $ram_free) / $ram_total * 100), 2);
459 $mem_cached = round($ram_cached / $ram_total * 100, 2);
460 $mem_buffers = round($ram_buffers / $ram_total * 100, 2);
461
462 $ram_data = array(
463 'MemTotal' => $ram_total,
464 'MemAvailable' => $ram_available,
465 'MemFree' => $ram_free,
466 'Buffers' => $ram_buffers,
467 'Cached' => $ram_cached,
468 'MemUsagePercentage' => round($mem_kernel_app + $mem_buffers + $mem_cached, 2), // Physical Memory
469 );
470
471 return $ram_data;
472 }
473
474 return 'N/A';
475 }
476
477 /**
478 * Get Real Server Memory Usage
479 */
480 public function get_real_memory_usage()
481 {
482 $real_memory_usage = function_exists('memory_get_peak_usage') ? round(memory_get_peak_usage(true)) : 0;
483
484 if ($real_memory_usage) {
485 return $real_memory_usage;
486 }
487
488 return 'N/A';
489 }
490
491 /**
492 * WP Memory Usage
493 */
494 public function get_wp_memory_usage()
495 {
496 // Get WP Memory Limit
497 $get_memory_limit = WP_MEMORY_LIMIT;
498 if ((int)WP_MEMORY_LIMIT > (int)@ini_get('memory_limit')) {
499 // WP Limit can't be greater than Server Limiit
500 $get_memory_limit = @ini_get('memory_limit');
501 }
502
503 $memory_limit_convert = $this->convert_memory_size($get_memory_limit);
504 $memory_limit_format = size_format($memory_limit_convert);
505 $memory_limit = $memory_limit_convert;
506
507 // Get Real Memory Usage
508 $get_memory_usage = $this->get_real_memory_usage();
509 $memory_usage_convert = round($get_memory_usage / 1024 / 1024);
510 $memory_usage_format = $memory_usage_convert . 'MB';
511 $memory_usage = $get_memory_usage;
512
513 if ($get_memory_usage != false && $get_memory_limit != false) {
514
515 // check memory limit is a numeric value
516 if (!is_numeric($memory_limit)) $memory_limit = 999;
517
518 $wp_mem_data = array(
519 'MemLimit' => $memory_limit,
520 'MemLimitGet' => $get_memory_limit,
521 'MemLimitConvert' => $memory_limit_convert,
522 'MemLimitFormat' => $memory_limit_format,
523 'MemUsage' => $memory_usage,
524 'MemUsageGet' => $get_memory_usage,
525 'MemUsageConvert' => $memory_usage_convert,
526 'MemUsageFormat' => $memory_usage_format,
527 'MemUsageCalc' => round($memory_usage / $memory_limit * 100, 0),
528 );
529
530 return $wp_mem_data;
531 }
532
533 return 'N/A';
534 }
535
536 /**
537 * Server Memory Usage
538 */
539 public function get_server_memory_usage()
540 {
541
542 // Get Server Memory Limit
543 $get_memory_limit = @ini_get('memory_limit');
544 $memory_limit_convert = $this->convert_memory_size($get_memory_limit);
545 $memory_limit_format = size_format($memory_limit_convert);
546 $memory_limit = $memory_limit_convert;
547
548 // Get Real Memory Usage
549 $get_memory_usage = $this->get_real_memory_usage();
550 $memory_usage_convert = round($get_memory_usage / 1024 / 1024);
551 $memory_usage_format = $memory_usage_convert . ' MB';
552 $memory_usage = $get_memory_usage;
553
554 if ($get_memory_usage != false && $get_memory_limit != false) {
555
556 // check memory limit is a numeric value
557 if (!is_numeric($memory_limit)) $memory_limit = 999;
558
559 $php_mem_data = array(
560 'MemLimit' => $memory_limit,
561 'MemLimitGet' => $get_memory_limit,
562 'MemLimitConvert' => $memory_limit_convert,
563 'MemLimitFormat' => $memory_limit_format,
564 'MemUsage' => $memory_usage,
565 'MemUsageGet' => $get_memory_usage,
566 'MemUsageConvert' => $memory_usage_convert,
567 'MemUsageFormat' => $memory_usage_format,
568 'MemUsageCalc' => round($memory_usage / $memory_limit * 100, 0),
569 );
570
571 return $php_mem_data;
572 }
573
574 return 'N/A';
575 }
576
577
578 public static function wp_memory_usage_percentage()
579 {
580 $memory_usage = (new ServerInfo)->get_wp_memory_usage();
581 $memory_usage_percentage = $memory_usage['MemUsageCalc'];
582 return $memory_usage_percentage;
583 }
584
585
586
587
588 /**
589 * Get Server Disk Size
590 */
591
592 public function get_server_disk_size($path = '/')
593 {
594
595 $os = '';
596 if (defined('PHP_OS')) {
597 $os = PHP_OS;
598 }
599
600 // Linux server
601 if ($os == 'Linux') {
602
603 $result = array();
604 $result['size'] = 0;
605 $result['free'] = 0;
606 $result['used'] = 0;
607
608 $lines = null;
609 exec(sprintf('df /P %s', $path), $lines);
610
611 foreach ($lines as $index => $line) {
612 if ($index != 1) {
613 continue;
614 }
615 $values = preg_split('/\s{1,}/', $line);
616 $result['size'] = round($values[1] / 1024 / 1024, 2);
617 $result['free'] = round($values[3] / 1024 / 1024, 2);
618 $result['used'] = round($values[2] / 1024 / 1024, 2);
619 $result['usage'] = round($result['used'] / $result['size'] * 100, 2);
620 break;
621 }
622
623 return $result;
624 }
625
626 return 'N/A';
627 }
628
629
630
631 /**
632 * CPU Count
633 */
634 public function check_cpu_count()
635 {
636
637 if ($this->is_shell_enable()) {
638 $cpu_count = shell_exec('cat /proc/cpuinfo |grep "physical id" | sort | uniq | wc -l');
639 set_transient('wphave_admin_cpu_count', $cpu_count, WEEK_IN_SECONDS);
640 } else {
641 $cpu_count = 'N/A';
642 }
643
644 return $cpu_count;
645 }
646
647 /**
648 * CPU Load Average
649 *
650 * @return void
651 */
652
653 public function get_cpu_load_average()
654 {
655 $load = 'N/A';
656
657 // Check via PHP function
658 $avg = function_exists('sys_getloadavg') ? sys_getloadavg() : false;
659 if (!empty($avg) && is_array($avg) && 3 == count($avg)) {
660 $load = implode(', ', $avg);
661 }
662
663 return $load;
664 }
665
666 /** CPU Load */
667 public function get_cpu_load()
668 {
669 $cpu_load = 'N/A';
670 if ($this->is_shell_enable()) {
671 $cpu_load .= trim(shell_exec("echo $((`ps aux|awk 'NR > 0 { s +=$3 }; END {print s}'| cut -d . -f 1` / `cat /proc/cpuinfo | grep cores | grep -o '[0-9]' | wc -l`))"));
672 }
673 return $cpu_load;
674 }
675
676 /**
677 * CPU Core Count
678 */
679
680 public function get_cpu_core_count()
681 {
682
683 $cmd = "uname";
684
685 $OS = strtolower(trim(shell_exec($cmd)));
686
687 switch ($OS) {
688 case ('linux'):
689 $cmd = "cat /proc/cpuinfo | grep processor | wc -l";
690 break;
691 case ('freebsd'):
692 $cmd = "sysctl -a | grep 'hw.ncpu' | cut -d ':' -f2";
693 break;
694 default:
695 unset($cmd);
696 }
697
698 if (isset($cmd) && $cmd != '') {
699 $cpuCoreNo = intval(trim(shell_exec($cmd)));
700 }
701
702 return empty($cpuCoreNo) ? 1 : $cpuCoreNo;
703 }
704
705 /**
706 * Get IP Address
707 *
708 * @return void
709 */
710 public function get_ip_address()
711 {
712 // Get ip address
713 $ip_address = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '';
714 if (!$ip_address) {
715 $ip_address = isset($_SERVER['LOCAL_ADDR']) ? $_SERVER['LOCAL_ADDR'] : '';
716 }
717 return $ip_address;
718 }
719
720 /**
721 * Get WordPress Version
722 *
723 * @return void
724 */
725 public function get_wp_version()
726 {
727 global $wp_version;
728 return $wp_version;
729 }
730
731
732
733 public function check_limit()
734 {
735 $memory_limit = ini_get('memory_limit');
736 if (preg_match('/^(\d+)(.)$/', $memory_limit, $matches)) {
737 if ($matches[2] == 'G') {
738 $memory_limit = $matches[1] . ' ' . 'GB'; // nnnG -> nnn GB
739 } else if ($matches[2] == 'M') {
740 $memory_limit = $matches[1] . ' ' . 'MB'; // nnnM -> nnn MB
741 } else if ($matches[2] == 'K') {
742 $memory_limit = $matches[1] . ' ' . 'KB'; // nnnK -> nnn KB
743 } else if ($matches[2] == 'T') {
744 $memory_limit = $matches[1] . ' ' . 'TB'; // nnnT -> nnn TB
745 } else if ($matches[2] == 'P') {
746 $memory_limit = $matches[1] . ' ' . 'PB'; // nnnP -> nnn PB
747 }
748 }
749 return $memory_limit;
750 }
751
752 public function format_filesize($bytes)
753 {
754 if (($bytes / pow(1024, 5)) > 1) {
755 return number_format_i18n(($bytes / pow(1024, 5)), 0) . ' ' . __('PB', WP_ADMINIFY_TD);
756 } elseif (($bytes / pow(1024, 4)) > 1) {
757 return number_format_i18n(($bytes / pow(1024, 4)), 0) . ' ' . __('TB', WP_ADMINIFY_TD);
758 } elseif (($bytes / pow(1024, 3)) > 1) {
759 return number_format_i18n(($bytes / pow(1024, 3)), 0) . ' ' . __('GB', WP_ADMINIFY_TD);
760 } elseif (($bytes / pow(1024, 2)) > 1) {
761 return number_format_i18n(($bytes / pow(1024, 2)), 0) . ' ' . __('MB', WP_ADMINIFY_TD);
762 } elseif ($bytes / 1024 > 1) {
763 return number_format_i18n($bytes / 1024, 0) . ' ' . __('KB', WP_ADMINIFY_TD);
764 } elseif ($bytes >= 0) {
765 return number_format_i18n($bytes, 0) . ' ' . __('bytes', WP_ADMINIFY_TD);
766 } else {
767 return __('Unknown', WP_ADMINIFY_TD);
768 }
769 }
770
771 public function format_filesize_kB($kiloBytes)
772 {
773 if (($kiloBytes / pow(1024, 4)) > 1) {
774 return number_format_i18n(($kiloBytes / pow(1024, 4)), 0) . ' ' . __('PB', WP_ADMINIFY_TD);
775 } elseif (($kiloBytes / pow(1024, 3)) > 1) {
776 return number_format_i18n(($kiloBytes / pow(1024, 3)), 0) . ' ' . __('TB', WP_ADMINIFY_TD);
777 } elseif (($kiloBytes / pow(1024, 2)) > 1) {
778 return number_format_i18n(($kiloBytes / pow(1024, 2)), 0) . ' ' . __('GB', WP_ADMINIFY_TD);
779 } elseif (($kiloBytes / 1024) > 1) {
780 return number_format_i18n($kiloBytes / 1024, 0) . ' ' . __('MB', WP_ADMINIFY_TD);
781 } elseif ($kiloBytes >= 0) {
782 return number_format_i18n($kiloBytes / 1, 0) . ' ' . __('KB', WP_ADMINIFY_TD);
783 } else {
784 return __('Unknown', WP_ADMINIFY_TD);
785 }
786 }
787
788 public function format_php_size($size)
789 {
790 if (!is_numeric($size)) {
791 if (strpos($size, 'M') !== false) {
792 $size = intval($size) * 1024 * 1024;
793 } elseif (strpos($size, 'K') !== false) {
794 $size = intval($size) * 1024;
795 } elseif (strpos($size, 'G') !== false) {
796 $size = intval($size) * 1024 * 1024 * 1024;
797 }
798 }
799 return is_numeric($size) ? $this->format_filesize($size) : $size;
800 }
801 }
802