����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?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 );
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| cdn | Folder | 0755 |
|
|
| data_structure | Folder | 0755 |
|
|
| activation.cls.php | File | 17.31 KB | 0644 |
|
| admin-display.cls.php | File | 48.47 KB | 0644 |
|
| admin-settings.cls.php | File | 11.12 KB | 0644 |
|
| admin.cls.php | File | 6.13 KB | 0644 |
|
| api.cls.php | File | 10.36 KB | 0644 |
|
| avatar.cls.php | File | 8.65 KB | 0644 |
|
| base.cls.php | File | 37.66 KB | 0644 |
|
| cdn.cls.php | File | 15.92 KB | 0644 |
|
| cloud-auth-callback.trait.php | File | 10.43 KB | 0644 |
|
| cloud-auth-ip.trait.php | File | 4.33 KB | 0644 |
|
| cloud-auth.trait.php | File | 9.38 KB | 0644 |
|
| cloud-misc.trait.php | File | 10.32 KB | 0644 |
|
| cloud-node.trait.php | File | 5.95 KB | 0644 |
|
| cloud-request.trait.php | File | 19.68 KB | 0644 |
|
| cloud.cls.php | File | 7.32 KB | 0644 |
|
| conf.cls.php | File | 19.53 KB | 0644 |
|
| control.cls.php | File | 24.35 KB | 0644 |
|
| core.cls.php | File | 20.97 KB | 0644 |
|
| crawler-map.cls.php | File | 19.41 KB | 0644 |
|
| crawler.cls.php | File | 44.72 KB | 0644 |
|
| css.cls.php | File | 17.77 KB | 0644 |
|
| data.cls.php | File | 22.21 KB | 0644 |
|
| data.upgrade.func.php | File | 5.72 KB | 0644 |
|
| db-optm.cls.php | File | 15.35 KB | 0644 |
|
| debug2.cls.php | File | 18.4 KB | 0644 |
|
| doc.cls.php | File | 5.45 KB | 0644 |
|
| error.cls.php | File | 7.35 KB | 0644 |
|
| esi.cls.php | File | 27.18 KB | 0644 |
|
| file.cls.php | File | 10.57 KB | 0644 |
|
| guest.cls.php | File | 2.75 KB | 0644 |
|
| gui.cls.php | File | 36.57 KB | 0644 |
|
| health.cls.php | File | 2.83 KB | 0644 |
|
| htaccess.cls.php | File | 29.81 KB | 0644 |
|
| img-optm-manage.trait.php | File | 30.85 KB | 0644 |
|
| img-optm-pull.trait.php | File | 22.1 KB | 0644 |
|
| img-optm-send.trait.php | File | 21.9 KB | 0644 |
|
| img-optm.cls.php | File | 5.26 KB | 0644 |
|
| import.cls.php | File | 4.29 KB | 0644 |
|
| import.preset.cls.php | File | 5.5 KB | 0644 |
|
| lang.cls.php | File | 17.02 KB | 0644 |
|
| localization.cls.php | File | 4.03 KB | 0644 |
|
| media.cls.php | File | 44.08 KB | 0644 |
|
| metabox.cls.php | File | 5.29 KB | 0644 |
|
| object-cache-wp.cls.php | File | 18.82 KB | 0644 |
|
| object-cache.cls.php | File | 20.95 KB | 0644 |
|
| object.lib.php | File | 14.16 KB | 0644 |
|
| optimize.cls.php | File | 38.64 KB | 0644 |
|
| optimizer.cls.php | File | 10.5 KB | 0644 |
|
| placeholder.cls.php | File | 17.93 KB | 0644 |
|
| purge.cls.php | File | 34.41 KB | 0644 |
|
| report.cls.php | File | 6.12 KB | 0644 |
|
| rest.cls.php | File | 9.08 KB | 0644 |
|
| root.cls.php | File | 14.29 KB | 0644 |
|
| router.cls.php | File | 20.76 KB | 0644 |
|
| str.cls.php | File | 3.08 KB | 0644 |
|
| tag.cls.php | File | 9.26 KB | 0644 |
|
| task.cls.php | File | 7.05 KB | 0644 |
|
| tool.cls.php | File | 4.17 KB | 0644 |
|
| ucss.cls.php | File | 16.35 KB | 0644 |
|
| utility.cls.php | File | 26.01 KB | 0644 |
|
| vary.cls.php | File | 21.33 KB | 0644 |
|
| vpi.cls.php | File | 9.38 KB | 0644 |
|