Current Path: > > usr > src > > litespeed-wp-plugin > 6.4.1 > litespeed-cache > src
Operation : Linux premium131.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 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
cdn | Directory | - | - | |
data_structure | Directory | - | - | |
activation.cls.php | File | 15351 bytes | August 19 2024 22:55:08. | |
admin-display.cls.php | File | 33999 bytes | August 19 2024 22:55:08. | |
admin-settings.cls.php | File | 9750 bytes | August 19 2024 22:55:08. | |
admin.cls.php | File | 4548 bytes | August 19 2024 22:55:08. | |
api.cls.php | File | 11342 bytes | August 19 2024 22:55:08. | |
avatar.cls.php | File | 6208 bytes | August 19 2024 22:55:08. | |
base.cls.php | File | 30972 bytes | August 19 2024 22:55:08. | |
cdn-setup.cls.php | File | 10702 bytes | August 19 2024 22:55:08. | |
cdn.cls.php | File | 13447 bytes | August 19 2024 22:55:08. | |
cloud.cls.php | File | 42799 bytes | August 19 2024 22:55:08. | |
conf.cls.php | File | 19025 bytes | August 19 2024 22:55:08. | |
control.cls.php | File | 22268 bytes | August 19 2024 22:55:08. | |
core.cls.php | File | 20531 bytes | August 19 2024 22:55:08. | |
crawler-map.cls.php | File | 14335 bytes | August 19 2024 22:55:08. | |
crawler.cls.php | File | 35465 bytes | August 19 2024 22:55:08. | |
css.cls.php | File | 13418 bytes | August 19 2024 22:55:08. | |
data.cls.php | File | 17824 bytes | August 19 2024 22:55:08. | |
data.upgrade.func.php | File | 21885 bytes | August 19 2024 22:55:08. | |
db-optm.cls.php | File | 9815 bytes | August 19 2024 22:55:08. | |
debug2.cls.php | File | 12333 bytes | August 19 2024 22:55:08. | |
doc.cls.php | File | 4851 bytes | August 19 2024 22:55:08. | |
error.cls.php | File | 7071 bytes | August 19 2024 22:55:08. | |
esi.cls.php | File | 27740 bytes | August 19 2024 22:55:08. | |
file.cls.php | File | 10378 bytes | August 19 2024 22:55:08. | |
gui.cls.php | File | 28108 bytes | August 19 2024 22:55:08. | |
health.cls.php | File | 2962 bytes | August 19 2024 22:55:08. | |
htaccess.cls.php | File | 24493 bytes | August 19 2024 22:55:08. | |
img-optm.cls.php | File | 61689 bytes | August 19 2024 22:55:08. | |
import.cls.php | File | 4250 bytes | August 19 2024 22:55:08. | |
instance.cls.php | File | 154 bytes | August 19 2024 22:55:08. | |
lang.cls.php | File | 15909 bytes | August 19 2024 22:55:08. | |
localization.cls.php | File | 3464 bytes | August 19 2024 22:55:08. | |
media.cls.php | File | 31754 bytes | August 19 2024 22:55:08. | |
metabox.cls.php | File | 4306 bytes | August 19 2024 22:55:08. | |
object-cache.cls.php | File | 15920 bytes | August 19 2024 22:55:08. | |
object.lib.php | File | 34784 bytes | August 19 2024 22:55:08. | |
optimize.cls.php | File | 37368 bytes | August 19 2024 22:55:08. | |
optimizer.cls.php | File | 9230 bytes | August 19 2024 22:55:08. | |
placeholder.cls.php | File | 14414 bytes | August 19 2024 22:55:08. | |
preset.cls.php | File | 5560 bytes | August 19 2024 22:55:08. | |
purge.cls.php | File | 30500 bytes | August 19 2024 22:55:08. | |
report.cls.php | File | 5456 bytes | August 19 2024 22:55:08. | |
rest.cls.php | File | 8054 bytes | August 19 2024 22:55:08. | |
root.cls.php | File | 12898 bytes | August 19 2024 22:55:08. | |
router.cls.php | File | 19455 bytes | August 19 2024 22:55:08. | |
str.cls.php | File | 1198 bytes | August 19 2024 22:55:08. | |
tag.cls.php | File | 8826 bytes | August 19 2024 22:55:08. | |
task.cls.php | File | 5965 bytes | August 19 2024 22:55:08. | |
tool.cls.php | File | 3370 bytes | August 19 2024 22:55:08. | |
ucss.cls.php | File | 14735 bytes | August 19 2024 22:55:08. | |
utility.cls.php | File | 21129 bytes | August 19 2024 22:55:08. | |
vary.cls.php | File | 19631 bytes | August 19 2024 22:55:08. | |
vpi.cls.php | File | 7586 bytes | August 19 2024 22:55:08. |
<?php /** * The preset class. * * @since 5.3.0 */ namespace LiteSpeed; defined('WPINC') || exit(); class Preset extends Import { protected $_summary; const MAX_BACKUPS = 10; const TYPE_APPLY = 'apply'; const TYPE_RESTORE = 'restore'; const STANDARD_DIR = LSCWP_DIR . 'data/preset'; const BACKUP_DIR = LITESPEED_STATIC_DIR . '/auto-backup'; /** * Returns sorted backup names * * @since 5.3.0 * @access public */ public static function get_backups() { self::init_filesystem(); global $wp_filesystem; $backups = array_map( function ($path) { return self::basename($path['name']); }, $wp_filesystem->dirlist(self::BACKUP_DIR) ?: array() ); rsort($backups); return $backups; } /** * Removes extra backup files * * @since 5.3.0 * @access public */ public static function prune_backups() { $backups = self::get_backups(); global $wp_filesystem; foreach (array_slice($backups, self::MAX_BACKUPS) as $backup) { $path = self::get_backup($backup); $wp_filesystem->delete($path); Debug2::debug('[Preset] Deleted old backup from ' . $backup); } } /** * Returns a settings file's extensionless basename given its filesystem path * * @since 5.3.0 * @access public */ public static function basename($path) { return basename($path, '.data'); } /** * Returns a standard preset's path given its extensionless basename * * @since 5.3.0 * @access public */ public static function get_standard($name) { return path_join(self::STANDARD_DIR, $name . '.data'); } /** * Returns a backup's path given its extensionless basename * * @since 5.3.0 * @access public */ public static function get_backup($name) { return path_join(self::BACKUP_DIR, $name . '.data'); } /** * Initializes the global $wp_filesystem object and clears stat cache * * @since 5.3.0 */ static function init_filesystem() { require_once ABSPATH . '/wp-admin/includes/file.php'; \WP_Filesystem(); clearstatcache(); } /** * Init * * @since 5.3.0 */ public function __construct() { Debug2::debug('[Preset] Init'); $this->_summary = self::get_summary(); } /** * Applies a standard preset's settings given its extensionless basename * * @since 5.3.0 * @access public */ public function apply($preset) { $this->make_backup($preset); $path = self::get_standard($preset); $result = $this->import_file($path) ? $preset : 'error'; $this->log($result); } /** * Restores settings from the backup file with the given timestamp, then deletes the file * * @since 5.3.0 * @access public */ public function restore($timestamp) { $backups = array(); foreach (self::get_backups() as $backup) { if (preg_match('/^backup-' . $timestamp . '(-|$)/', $backup) === 1) { $backups[] = $backup; } } if (empty($backups)) { $this->log('error'); return; } $backup = $backups[0]; $path = self::get_backup($backup); if (!$this->import_file($path)) { $this->log('error'); return; } self::init_filesystem(); global $wp_filesystem; $wp_filesystem->delete($path); Debug2::debug('[Preset] Deleted most recent backup from ' . $backup); $this->log('backup'); } /** * Saves current settings as a backup file, then prunes extra backup files * * @since 5.3.0 * @access public */ public function make_backup($preset) { $backup = 'backup-' . time() . '-before-' . $preset; $data = $this->export(true); $path = self::get_backup($backup); File::save($path, $data, true); Debug2::debug('[Preset] Backup saved to ' . $backup); self::prune_backups(); } /** * Tries to import from a given settings file * * @since 5.3.0 */ function import_file($path) { $debug = function ($result, $name) { $action = $result ? 'Applied' : 'Failed to apply'; Debug2::debug('[Preset] ' . $action . ' settings from ' . $name); return $result; }; $name = self::basename($path); $contents = file_get_contents($path); if (false === $contents) { Debug2::debug('[Preset] ❌ Failed to get file contents'); return $debug(false, $name); } $parsed = array(); try { // Check if the data is v4+ if (strpos($contents, '["_version",') === 0) { $contents = explode("\n", $contents); foreach ($contents as $line) { $line = trim($line); if (empty($line)) { continue; } list($key, $value) = \json_decode($line, true); $parsed[$key] = $value; } } else { $parsed = \json_decode(base64_decode($contents), true); } } catch (\Exception $ex) { Debug2::debug('[Preset] ❌ Failed to parse serialized data'); return $debug(false, $name); } if (empty($parsed)) { Debug2::debug('[Preset] ❌ Nothing to apply'); return $debug(false, $name); } $this->cls('Conf')->update_confs($parsed); return $debug(true, $name); } /** * Updates the log * * @since 5.3.0 */ function log($preset) { $this->_summary['preset'] = $preset; $this->_summary['preset_timestamp'] = time(); self::save_summary(); } /** * Handles all request actions from main cls * * @since 5.3.0 * @access public */ public function handler() { $type = Router::verify_type(); switch ($type) { case self::TYPE_APPLY: $this->apply(!empty($_GET['preset']) ? $_GET['preset'] : false); break; case self::TYPE_RESTORE: $this->restore(!empty($_GET['timestamp']) ? $_GET['timestamp'] : false); break; default: break; } Admin::redirect(); } }
SILENT KILLER Tool