????JFIF??x?x????'
Server IP : 104.21.48.1 / Your IP : 216.73.216.150 Web Server : LiteSpeed System : Linux premium151.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 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/./././tempvsty/eaabusiness.com/custom/wp-content/plugins/litespeed-cache/src/ |
Upload File : |
<?php /** * The admin-panel specific functionality of the plugin. * * @since 1.0.0 * @package LiteSpeed_Cache */ namespace LiteSpeed; defined( 'WPINC' ) || exit(); /** * Class Admin * * Wires admin-side hooks, actions, and safe redirects. */ class Admin extends Root { const LOG_TAG = '👮'; const PAGE_EDIT_HTACCESS = 'litespeed-edit-htaccess'; /** * Initialize the class and set its properties. * Runs in hook `after_setup_theme` when is_admin(). * * @since 1.0.0 */ public function __construct() { // Define LSCWP_MU_PLUGIN if in mu-plugins. if ( defined( 'WPMU_PLUGIN_DIR' ) && dirname( LSCWP_DIR ) === WPMU_PLUGIN_DIR && ! defined( 'LSCWP_MU_PLUGIN' ) ) { define( 'LSCWP_MU_PLUGIN', true ); } self::debug( 'No cache due to Admin page' ); if ( ! defined( 'DONOTCACHEPAGE' ) ) { define( 'DONOTCACHEPAGE', true ); } // Additional LiteSpeed assets on admin display (also registers menus). $this->cls( 'Admin_Display' ); // Initialize admin actions. add_action( 'admin_init', array( $this, 'admin_init' ) ); // Add link to plugin list page. add_filter( 'plugin_action_links_' . LSCWP_BASENAME, array( $this->cls( 'Admin_Display' ), 'add_plugin_links' ) ); } /** * Callback that initializes the admin options for LiteSpeed Cache. * * @since 1.0.0 * @return void */ public function admin_init() { // Hook attachment upload auto optimization. if ( $this->conf( Base::O_IMG_OPTM_AUTO ) ) { add_filter( 'wp_update_attachment_metadata', array( $this, 'wp_update_attachment_metadata' ), 9999, 2 ); } $this->_proceed_admin_action(); // Terminate if user doesn't have access to settings. $capability = is_network_admin() ? 'manage_network_options' : 'manage_options'; if ( ! current_user_can( $capability ) ) { return; } // Add privacy policy (since 2.2.6). if ( function_exists( 'wp_add_privacy_policy_content' ) ) { wp_add_privacy_policy_content( Core::NAME, Doc::privacy_policy() ); } $this->cls( 'Media' )->after_admin_init(); do_action( 'litespeed_after_admin_init' ); if ( $this->cls( 'Router' )->esi_enabled() ) { add_action( 'in_widget_form', array( $this->cls( 'Admin_Display' ), 'show_widget_edit' ), 100, 3 ); add_filter( 'widget_update_callback', __NAMESPACE__ . '\Admin_Settings::validate_widget_save', 10, 4 ); } } /** * Handle attachment metadata update. * * @since 4.0 * * @param array $data Attachment meta. * @param int $post_id Attachment ID. * @return array Filtered meta. */ public function wp_update_attachment_metadata( $data, $post_id ) { $this->cls( 'Img_Optm' )->wp_update_attachment_metadata( $data, $post_id ); return $data; } /** * Run LiteSpeed admin actions routed via Router. * * @since 1.1.0 * @return void */ private function _proceed_admin_action() { $action = Router::get_action(); switch ( $action ) { case Router::ACTION_SAVE_SETTINGS: $this->cls( 'Admin_Settings' )->save( wp_unslash( $_POST ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing break; case Router::ACTION_SAVE_SETTINGS_NETWORK: $this->cls( 'Admin_Settings' )->network_save( wp_unslash( $_POST ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing break; default: break; } } /** * Clean up the input (array or scalar) of any extra slashes/spaces. * * @since 1.0.4 * * @param mixed $input The input value to clean. * @return mixed Cleaned value. */ public static function cleanup_text( $input ) { if ( is_array( $input ) ) { return array_map( __CLASS__ . '::cleanup_text', $input ); } return stripslashes(trim($input)); } /** * After a LSCWP_CTRL action, redirect back to same page * without nonce and action in the query string. * * If the redirect URL cannot be determined, redirects to the homepage. * * @since 1.0.12 * * @param string|false $url Optional destination URL. * @return void */ public static function redirect( $url = false ) { global $pagenow; // If originated, go back to referrer or home. if ( ! empty( $_GET['_litespeed_ori'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $ref = wp_get_referer(); wp_safe_redirect( $ref ? $ref : get_home_url() ); exit; } if ( ! $url ) { $clean = []; // Sanitize current query args while removing our internals. if ( ! empty( $_GET ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended foreach ( $_GET as $k => $v ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( in_array( $k, array( Router::ACTION, Router::NONCE, Router::TYPE, 'litespeed_i' ), true ) ) { continue; } // Normalize to string for URL building. $clean[ $k ] = is_array( $v ) ? array_map( 'sanitize_text_field', wp_unslash( $v ) ) : sanitize_text_field( wp_unslash( $v ) ); } } $qs = ''; if ( ! empty( $clean ) ) { $qs = '?' . http_build_query( $clean ); } $url = is_network_admin() ? network_admin_url( $pagenow . $qs ) : admin_url( $pagenow . $qs ); } wp_safe_redirect( $url ); exit; } }