X7ROOT File Manager
Current Path:
/usr/src/litespeed-wp-plugin/7.7/litespeed-cache/src
usr
/
src
/
litespeed-wp-plugin
/
7.7
/
litespeed-cache
/
src
/
📁
..
📄
activation.cls.php
(17.34 KB)
📄
admin-display.cls.php
(48.47 KB)
📄
admin-settings.cls.php
(11.12 KB)
📄
admin.cls.php
(5.04 KB)
📄
api.cls.php
(10.36 KB)
📄
avatar.cls.php
(8.65 KB)
📄
base.cls.php
(34.46 KB)
📁
cdn
📄
cdn.cls.php
(15.92 KB)
📄
cloud.cls.php
(65.91 KB)
📄
conf.cls.php
(19.53 KB)
📄
control.cls.php
(24.35 KB)
📄
core.cls.php
(20.97 KB)
📄
crawler-map.cls.php
(19.41 KB)
📄
crawler.cls.php
(44.74 KB)
📄
css.cls.php
(17.69 KB)
📄
data.cls.php
(22.21 KB)
📄
data.upgrade.func.php
(5.72 KB)
📁
data_structure
📄
db-optm.cls.php
(15.35 KB)
📄
debug2.cls.php
(17.05 KB)
📄
doc.cls.php
(5.45 KB)
📄
error.cls.php
(7.35 KB)
📄
esi.cls.php
(27.18 KB)
📄
file.cls.php
(10.57 KB)
📄
guest.cls.php
(2.75 KB)
📄
gui.cls.php
(36.57 KB)
📄
health.cls.php
(2.83 KB)
📄
htaccess.cls.php
(24 KB)
📄
img-optm.cls.php
(65.13 KB)
📄
import.cls.php
(4.29 KB)
📄
import.preset.cls.php
(5.5 KB)
📄
lang.cls.php
(17.11 KB)
📄
localization.cls.php
(3.44 KB)
📄
media.cls.php
(40.27 KB)
📄
metabox.cls.php
(5.29 KB)
📄
object-cache-wp.cls.php
(24.62 KB)
📄
object-cache.cls.php
(20.26 KB)
📄
object.lib.php
(13.31 KB)
📄
optimize.cls.php
(38.84 KB)
📄
optimizer.cls.php
(9.41 KB)
📄
placeholder.cls.php
(17.96 KB)
📄
purge.cls.php
(34.41 KB)
📄
report.cls.php
(6.12 KB)
📄
rest.cls.php
(9.08 KB)
📄
root.cls.php
(14.61 KB)
📄
router.cls.php
(20.66 KB)
📄
str.cls.php
(3.08 KB)
📄
tag.cls.php
(9.26 KB)
📄
task.cls.php
(7.05 KB)
📄
tool.cls.php
(4.17 KB)
📄
ucss.cls.php
(16.27 KB)
📄
utility.cls.php
(24.38 KB)
📄
vary.cls.php
(21.33 KB)
📄
vpi.cls.php
(9.38 KB)
Editing: tool.cls.php
<?php /** * The tools * * @since 3.0 * @package LiteSpeed */ namespace LiteSpeed; defined( 'WPINC' ) || exit(); /** * Class Tool * * Provides utility functions for LiteSpeed Cache, including IP detection and heartbeat control. * * @since 3.0 */ class Tool extends Root { const LOG_TAG = '[Tool]'; /** * Get public IP * * Retrieves the public IP address of the server. * * @since 3.0 * @access public * @return string The public IP address or an error message. */ public function check_ip() { self::debug( '✅ check_ip' ); $response = wp_safe_remote_get( 'https://cyberpanel.sh/?ip', [ 'headers' => [ 'User-Agent' => 'curl/8.7.1', ], ] ); if ( is_wp_error( $response ) ) { return esc_html__( 'Failed to detect IP', 'litespeed-cache' ); } $ip = trim( $response['body'] ); self::debug( 'result [ip] ' . $ip ); if ( Utility::valid_ipv4( $ip ) ) { return $ip; } return esc_html__( 'Failed to detect IP', 'litespeed-cache' ); } /** * Heartbeat Control * * Configures WordPress heartbeat settings for frontend, backend, and editor. * * @since 3.0 * @access public */ public function heartbeat() { add_action( 'wp_enqueue_scripts', [ $this, 'heartbeat_frontend' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'heartbeat_backend' ] ); add_filter( 'heartbeat_settings', [ $this, 'heartbeat_settings' ] ); } /** * Heartbeat Control frontend control * * Manages heartbeat settings for the frontend. * * @since 3.0 * @access public */ public function heartbeat_frontend() { if ( ! $this->conf( Base::O_MISC_HEARTBEAT_FRONT ) ) { return; } if ( ! $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL ) ) { wp_deregister_script( 'heartbeat' ); Debug2::debug( '[Tool] Deregistered frontend heartbeat' ); } } /** * Heartbeat Control backend control * * Manages heartbeat settings for the backend and editor. * * @since 3.0 * @access public */ public function heartbeat_backend() { if ( $this->is_editor() ) { if ( ! $this->conf( Base::O_MISC_HEARTBEAT_EDITOR ) ) { return; } if ( ! $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL ) ) { wp_deregister_script( 'heartbeat' ); Debug2::debug( '[Tool] Deregistered editor heartbeat' ); } } else { if ( ! $this->conf( Base::O_MISC_HEARTBEAT_BACK ) ) { return; } if ( ! $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL ) ) { wp_deregister_script( 'heartbeat' ); Debug2::debug( '[Tool] Deregistered backend heartbeat' ); } } } /** * Heartbeat Control settings * * Adjusts heartbeat interval settings based on configuration. * * @since 3.0 * @access public * @param array $settings Existing heartbeat settings. * @return array Modified heartbeat settings. */ public function heartbeat_settings( $settings ) { // Check editor first to make frontend editor valid too if ( $this->is_editor() ) { if ( $this->conf( Base::O_MISC_HEARTBEAT_EDITOR ) ) { $settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL ); Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL ) ); } } elseif ( ! is_admin() ) { if ( $this->conf( Base::O_MISC_HEARTBEAT_FRONT ) ) { $settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL ); Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL ) ); } } elseif ( $this->conf( Base::O_MISC_HEARTBEAT_BACK ) ) { $settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL ); Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL ) ); } return $settings; } /** * Check if in editor * * Determines if the current request is within the WordPress editor. * * @since 3.0 * @access public * @return bool True if in editor, false otherwise. */ public function is_editor() { $request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; $res = is_admin() && Utility::str_hit_array( $request_uri, [ 'post.php', 'post-new.php' ] ); return apply_filters( 'litespeed_is_editor', $res ); } }
Upload File
Create Folder