Server : Apache System : Linux ls31.server.ly 3.10.0-962.3.2.lve1.5.68.el7.x86_64 #1 SMP Wed Apr 6 11:12:23 UTC 2022 x86_64 User : medchoco ( 2906) PHP Version : 8.3.16 Disable Function : mail Directory : /home/medchoco/public_html/wp-content/plugins/jetpack-boost-git/app/lib/ |
Upload File : |
<?php namespace Automattic\Jetpack_Boost\Lib; use Automattic\Jetpack_Boost\Lib\Critical_CSS\Critical_CSS_State; use Automattic\Jetpack_Boost\Modules\Optimizations\Cloud_CSS\Cloud_CSS; use Automattic\Jetpack_Boost\Modules\Optimizations\Critical_CSS\Critical_CSS; use Automattic\Jetpack_Boost\Modules\Optimizations\Page_Cache\Page_Cache; use Automattic\Jetpack_Boost\Modules\Optimizations\Page_Cache\Pre_WordPress\Boost_Cache; /** * Class Boost_Health * * Represents the health of the Jetpack Boost plugin. */ class Boost_Health { /** * @var array List of issues affecting the health of the plugin. */ private $issues = array(); /** * Boost_Health constructor. * * Initializes the Boost_Health object and checks for any health issues. */ public function __construct() { if ( self::critical_css_needs_regeneration() ) { $this->issues[] = __( 'Outdated Critical CSS', 'jetpack-boost' ); } if ( self::critical_css_has_errors() ) { $this->issues[] = __( 'Failed to generate Critical CSS', 'jetpack-boost' ); } if ( self::cache_engine_not_loading() ) { $this->issues[] = __( 'Cache engine is not loading', 'jetpack-boost' ); } } /** * Get the total number of issues affecting the health of the plugin. * * @return int Total number of issues. */ public function get_total_issues() { return count( $this->issues ); } /** * Get all the issues affecting the health of the plugin. * * @return array List of issues. */ public function get_all_issues() { return $this->issues; } private static function is_critical_css_enabled() { return ( new Status( Critical_CSS::get_slug() ) )->is_enabled(); } /** * Check if Critical CSS needs regeneration. * * @return bool True if regeneration is needed, false otherwise. */ public static function critical_css_needs_regeneration() { if ( Cloud_CSS::is_available() || ! self::is_critical_css_enabled() ) { return false; } $suggest_regenerate = jetpack_boost_ds_get( 'critical_css_suggest_regenerate' ); return in_array( $suggest_regenerate, Environment_Change_Detector::get_available_env_change_statuses(), true ); } /** * Check if Critical CSS generation has errors. * * @return bool True if errors are present, false otherwise. */ public static function critical_css_has_errors() { if ( ! self::is_critical_css_enabled() ) { return false; } return ( new Critical_CSS_State() )->has_errors(); } /** * Check if the cache engine is not loading. * * @return bool True if the cache engine is not loading, false otherwise. */ public static function cache_engine_not_loading() { if ( ! ( new Status( Page_Cache::get_slug() ) )->is_enabled() ) { return false; } if ( Boost_Cache::is_loaded() ) { return false; } return true; } }