X7ROOT File Manager
Current Path:
/home/katmhsmi/lifecoachbostonma.com/wp-content/plugins/litespeed-cache/src
home
/
katmhsmi
/
lifecoachbostonma.com
/
wp-content
/
plugins
/
litespeed-cache
/
src
/
📁
..
📄
activation.cls.php
(15.06 KB)
📄
admin-display.cls.php
(33.98 KB)
📄
admin-settings.cls.php
(9.15 KB)
📄
admin.cls.php
(4.51 KB)
📄
api.cls.php
(11.28 KB)
📄
avatar.cls.php
(6.26 KB)
📄
base.cls.php
(30.87 KB)
📁
cdn
📄
cdn-setup.cls.php
(9.76 KB)
📄
cdn.cls.php
(13.52 KB)
📄
cloud.cls.php
(40 KB)
📄
conf.cls.php
(18.9 KB)
📄
control.cls.php
(20.75 KB)
📄
core.cls.php
(19.6 KB)
📄
crawler-map.cls.php
(13.44 KB)
📄
crawler.cls.php
(31.24 KB)
📄
css.cls.php
(13.07 KB)
📄
data.cls.php
(17.3 KB)
📄
data.upgrade.func.php
(22.31 KB)
📁
data_structure
📄
db-optm.cls.php
(8.66 KB)
📄
debug2.cls.php
(11.98 KB)
📄
doc.cls.php
(4.04 KB)
📄
error.cls.php
(6.38 KB)
📄
esi.cls.php
(26.45 KB)
📄
file.cls.php
(10.47 KB)
📄
gui.cls.php
(27.87 KB)
📄
health.cls.php
(3 KB)
📄
htaccess.cls.php
(24.33 KB)
📄
img-optm.cls.php
(55.81 KB)
📄
import.cls.php
(4.32 KB)
📄
instance.cls.php
(153 B)
📄
lang.cls.php
(16.64 KB)
📄
localization.cls.php
(3.53 KB)
📄
media.cls.php
(27.1 KB)
📄
metabox.cls.php
(4.22 KB)
📄
object-cache.cls.php
(15.82 KB)
📄
object.lib.php
(33.85 KB)
📄
optimize.cls.php
(35.34 KB)
📄
optimizer.cls.php
(8.81 KB)
📄
placeholder.cls.php
(14.5 KB)
📄
preset.cls.php
(5.56 KB)
📄
purge.cls.php
(30.43 KB)
📄
report.cls.php
(5.43 KB)
📄
rest.cls.php
(7.62 KB)
📄
root.cls.php
(12.9 KB)
📄
router.cls.php
(17.82 KB)
📄
str.cls.php
(1.18 KB)
📄
tag.cls.php
(8.78 KB)
📄
task.cls.php
(4.41 KB)
📄
tool.cls.php
(3.41 KB)
📄
ucss.cls.php
(14.77 KB)
📄
utility.cls.php
(21.15 KB)
📄
vary.cls.php
(19.63 KB)
📄
vpi.cls.php
(7.54 KB)
Editing: preset.cls.php
<?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 ) ?: [] ); 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(); } }
Upload File
Create Folder