??????????????
??????????????
??????????????
??????????????
Warning : Undefined variable $auth in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
Warning : Trying to access array offset on value of type null in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
??????????????
??????????????
??????????????
??????????????
File Manager
✏️ Edit File: /home/mklsvubc/rosestpetronal.nl/wp-content/plugins/litespeed-cache/src/admin.cls.php
⬅ Kembali
<?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', [ $this, 'admin_init' ] );
// Add link to plugin list page.
add_filter(
'plugin_action_links_' . LSCWP_BASENAME,
[ $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 to reset optimization data when image is replaced.
add_filter( 'wp_generate_attachment_metadata', [ $this, 'wp_generate_attachment_metadata' ], 10, 3 );
// Hook attachment upload auto optimization.
if ( $this->conf( Base::O_IMG_OPTM_AUTO ) ) {
add_filter( 'wp_update_attachment_metadata', [ $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', [ $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 generation.
* Reset optimization data if this is a replaced image (has existing optimization records).
*
* @since 7.8
*
* @param array $metadata Attachment metadata.
* @param int $attachment_id Attachment ID.
* @param string $context Context: 'create' or 'update'.
* @return array Filtered metadata.
*/
public function wp_generate_attachment_metadata( $metadata, $attachment_id, $context = 'create' ) {
// Only process on 'create' context (replacement also uses 'create')
if ( 'create' !== $context ) {
return $metadata;
}
$img_optm = $this->cls( 'Img_Optm' );
// Check if has existing optimization records, if so it's a replacement
if ( $img_optm->has_optm_record( $attachment_id, $metadata ) ) {
self::debug( 'Image replaced, resetting optimization data [pid] ' . $attachment_id );
$img_optm->reset_row( $attachment_id, true );
}
return $metadata;
}
/**
* 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, [ Router::ACTION, Router::NONCE, Router::TYPE, 'litespeed_i', 'litespeed_tb' ], 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;
}
}
Nama
Tipe
Ukuran
Diubah
Aksi
📁 cdn
dir
—
2026-06-22 10:09
📁 data_structure
dir
—
2026-06-22 10:09
🐘 activation.cls.php
php
17.3 KB
2026-04-01 20:54
🐘 admin-display.cls.php
php
48.5 KB
2026-04-01 20:54
🐘 admin-settings.cls.php
php
11.1 KB
2026-04-01 20:54
🐘 admin.cls.php
php
6.1 KB
2026-04-01 20:54
🐘 api.cls.php
php
10.4 KB
2026-04-01 20:54
🐘 avatar.cls.php
php
8.7 KB
2026-04-01 20:54
🐘 base.cls.php
php
37.7 KB
2026-04-01 20:54
🐘 cdn.cls.php
php
15.9 KB
2026-04-01 20:54
🐘 cloud-auth-callback.trait.php
php
10.4 KB
2026-04-01 20:54
🐘 cloud-auth-ip.trait.php
php
4.3 KB
2026-04-01 20:54
🐘 cloud-auth.trait.php
php
9.4 KB
2026-04-01 20:54
🐘 cloud-misc.trait.php
php
10.3 KB
2026-04-01 20:54
🐘 cloud-node.trait.php
php
5.9 KB
2026-04-01 20:54
🐘 cloud-request.trait.php
php
19.7 KB
2026-04-01 20:54
🐘 cloud.cls.php
php
7.3 KB
2026-04-01 20:54
🐘 conf.cls.php
php
19.5 KB
2026-04-01 20:54
🐘 control.cls.php
php
24.3 KB
2026-04-01 20:54
🐘 core.cls.php
php
21 KB
2026-04-01 20:54
🐘 crawler-map.cls.php
php
19.4 KB
2026-04-01 20:54
🐘 crawler.cls.php
php
44.7 KB
2026-04-01 20:54
🐘 css.cls.php
php
17.8 KB
2026-04-01 20:54
🐘 data.cls.php
php
22.2 KB
2026-04-01 20:54
🐘 data.upgrade.func.php
php
5.7 KB
2026-04-01 20:54
🐘 db-optm.cls.php
php
15.3 KB
2026-04-01 20:54
🐘 debug2.cls.php
php
18.4 KB
2026-04-01 20:54
🐘 doc.cls.php
php
5.4 KB
2026-04-01 20:54
🐘 error.cls.php
php
7.4 KB
2026-04-01 20:54
🐘 esi.cls.php
php
27.2 KB
2026-04-01 20:54
🐘 file.cls.php
php
10.6 KB
2026-04-01 20:54
🐘 guest.cls.php
php
2.8 KB
2026-04-01 20:54
🐘 gui.cls.php
php
36.6 KB
2026-04-01 20:54
🐘 health.cls.php
php
2.8 KB
2026-04-01 20:54
🐘 htaccess.cls.php
php
29.8 KB
2026-04-01 20:54
🐘 img-optm-manage.trait.php
php
30.8 KB
2026-04-01 20:54
🐘 img-optm-pull.trait.php
php
22.1 KB
2026-04-01 20:54
🐘 img-optm-send.trait.php
php
21.9 KB
2026-04-01 20:54
🐘 img-optm.cls.php
php
5.3 KB
2026-04-01 20:54
🐘 import.cls.php
php
4.3 KB
2026-04-01 20:54
🐘 import.preset.cls.php
php
5.5 KB
2026-04-01 20:54
🐘 lang.cls.php
php
17 KB
2026-04-01 20:54
🐘 localization.cls.php
php
4 KB
2026-04-01 20:54
🐘 media.cls.php
php
44.1 KB
2026-04-01 20:54
🐘 metabox.cls.php
php
5.3 KB
2026-04-01 20:54
🐘 object-cache-wp.cls.php
php
18.8 KB
2026-04-01 20:54
🐘 object-cache.cls.php
php
20.9 KB
2026-04-01 20:54
🐘 object.lib.php
php
14.2 KB
2026-04-01 20:54
🐘 optimize.cls.php
php
38.6 KB
2026-04-01 20:54
🐘 optimizer.cls.php
php
10.5 KB
2026-04-01 20:54
🐘 placeholder.cls.php
php
17.9 KB
2026-04-01 20:54
🐘 purge.cls.php
php
34.4 KB
2026-04-01 20:54
🐘 report.cls.php
php
6.1 KB
2026-04-01 20:54
🐘 rest.cls.php
php
9.1 KB
2026-04-01 20:54
🐘 root.cls.php
php
14.3 KB
2026-04-01 20:54
🐘 router.cls.php
php
20.8 KB
2026-04-01 20:54
🐘 str.cls.php
php
3.1 KB
2026-04-01 20:54
🐘 tag.cls.php
php
9.3 KB
2026-04-01 20:54
🐘 task.cls.php
php
7 KB
2026-04-01 20:54
🐘 tool.cls.php
php
4.2 KB
2026-04-01 20:54
🐘 ucss.cls.php
php
16.3 KB
2026-04-01 20:54
🐘 utility.cls.php
php
26 KB
2026-04-01 20:54
🐘 vary.cls.php
php
21.3 KB
2026-04-01 20:54
🐘 vpi.cls.php
php
9.4 KB
2026-04-01 20:54