????JFIF??x?x????'
| Server IP : 104.21.30.238 / Your IP : 216.73.216.87 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././././proc/thread-self/root/usr/src/litespeed-wp-plugin/6.5.3/litespeed-cache/src/ |
Upload File : |
<?php
/**
* The page health
*
*
* @since 3.0
* @package LiteSpeed
* @subpackage LiteSpeed/src
* @author LiteSpeed Technologies <info@litespeedtech.com>
*/
namespace LiteSpeed;
defined('WPINC') || exit();
class Health extends Base
{
const TYPE_SPEED = 'speed';
const TYPE_SCORE = 'score';
protected $_summary;
/**
* Init
*
* @since 3.0
*/
public function __construct()
{
$this->_summary = self::get_summary();
}
/**
* Test latest speed
*
* @since 3.0
*/
private function _ping($type)
{
$data = array('action' => $type);
$json = Cloud::post(Cloud::SVC_HEALTH, $data, 600);
if (empty($json['data']['before']) || empty($json['data']['after'])) {
Debug2::debug('[Health] ❌ no data');
return false;
}
$this->_summary[$type . '.before'] = $json['data']['before'];
$this->_summary[$type . '.after'] = $json['data']['after'];
self::save_summary();
Debug2::debug('[Health] saved result');
}
/**
* Generate scores
*
* @since 3.0
*/
public function scores()
{
$speed_before = $speed_after = $speed_improved = 0;
if (!empty($this->_summary['speed.before']) && !empty($this->_summary['speed.after'])) {
// Format loading time
$speed_before = $this->_summary['speed.before'] / 1000;
if ($speed_before < 0.01) {
$speed_before = 0.01;
}
$speed_before = number_format($speed_before, 2);
$speed_after = $this->_summary['speed.after'] / 1000;
if ($speed_after < 0.01) {
$speed_after = number_format($speed_after, 3);
} else {
$speed_after = number_format($speed_after, 2);
}
$speed_improved = (($this->_summary['speed.before'] - $this->_summary['speed.after']) * 100) / $this->_summary['speed.before'];
if ($speed_improved > 99) {
$speed_improved = number_format($speed_improved, 2);
} else {
$speed_improved = number_format($speed_improved);
}
}
$score_before = $score_after = $score_improved = 0;
if (!empty($this->_summary['score.before']) && !empty($this->_summary['score.after'])) {
$score_before = $this->_summary['score.before'];
$score_after = $this->_summary['score.after'];
// Format Score
$score_improved = (($score_after - $score_before) * 100) / $score_after;
if ($score_improved > 99) {
$score_improved = number_format($score_improved, 2);
} else {
$score_improved = number_format($score_improved);
}
}
return array(
'speed_before' => $speed_before,
'speed_after' => $speed_after,
'speed_improved' => $speed_improved,
'score_before' => $score_before,
'score_after' => $score_after,
'score_improved' => $score_improved,
);
}
/**
* Handle all request actions from main cls
*
* @since 3.0
* @access public
*/
public function handler()
{
$type = Router::verify_type();
switch ($type) {
case self::TYPE_SPEED:
case self::TYPE_SCORE:
$this->_ping($type);
break;
default:
break;
}
Admin::redirect();
}
}