$50 GRAYBYTE WORDPRESS FILE MANAGER $37

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/public_html/wp-content__57d57c5/plugins/litespeed-cache/src/

HOME
Current File : /home/bravrvjk/public_html/wp-content__57d57c5/plugins/litespeed-cache/src//metabox.cls.php
<?php
/**
 * The class to operate post editor metabox settings.
 *
 * @since 4.7
 * @package LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Metabox
 *
 * Registers and handles LiteSpeed options shown in the post/page edit screen.
 */
class Metabox extends Root {

	const LOG_TAG = '📦';

	const POST_NONCE_ACTION = 'post_nonce_action';

	/**
	 * Map of metabox settings keys to labels.
	 *
	 * @var array
	 */
	private $_postmeta_settings;

	/**
	 * Init the setting list.
	 *
	 * @since 4.7
	 */
	public function __construct() {
		// Append meta box.
		$this->_postmeta_settings = [
			'litespeed_no_cache'        => __( 'Disable Cache', 'litespeed-cache' ),
			'litespeed_no_image_lazy'   => __( 'Disable Image Lazyload', 'litespeed-cache' ),
			'litespeed_no_vpi'          => __( 'Disable VPI', 'litespeed-cache' ),
			'litespeed_vpi_list'        => __( 'Viewport Images', 'litespeed-cache' ),
			'litespeed_vpi_list_mobile' => __( 'Viewport Images', 'litespeed-cache' ) . ' - ' . __( 'Mobile', 'litespeed-cache' ),
		];
	}

	/**
	 * Register post edit settings.
	 *
	 * @since 4.7
	 * @return void
	 */
	public function register_settings() {
		add_action( 'add_meta_boxes', [ $this, 'add_meta_boxes' ] );
		add_action( 'save_post', [ $this, 'save_meta_box_settings' ], 15, 2 );
		add_action( 'attachment_updated', [ $this, 'save_meta_box_settings' ], 15, 2 );
	}

	/**
	 * Register meta box.
	 *
	 * @since 4.7
	 *
	 * @param string $post_type Current post type.
	 * @return void
	 */
	public function add_meta_boxes( $post_type ) {
		if ( apply_filters( 'litespeed_bypass_metabox', false, $post_type ) ) {
			return;
		}
		$post_type_obj = get_post_type_object( $post_type );
		if ( ! empty( $post_type_obj ) && ! $post_type_obj->public ) {
			self::debug( 'post type public=false, bypass add_meta_boxes' );
			return;
		}
		add_meta_box( 'litespeed_meta_boxes', 'LiteSpeed', [ $this, 'meta_box_options' ], $post_type, 'side', 'core' );
	}

	/**
	 * Show meta box content.
	 *
	 * @since 4.7
	 * @return void
	 */
	public function meta_box_options() {
		require_once LSCWP_DIR . 'tpl/inc/metabox.php';
	}

	/**
	 * Save settings.
	 *
	 * @since 4.7
	 *
	 * @param int      $post_id Post ID.
	 * @param \WP_Post $post   Post object.
	 * @return void
	 */
	public function save_meta_box_settings( $post_id, $post ) {
		global $pagenow;

		self::debug( 'Maybe save post2 [post_id] ' . $post_id );

		if ( 'post.php' !== $pagenow || ! $post || ! is_object( $post ) ) {
			return;
		}

		if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
			return;
		}

		if ( ! $this->cls( 'Router' )->verify_nonce( self::POST_NONCE_ACTION ) ) {
			return;
		}

		self::debug( 'Saving post [post_id] ' . $post_id );

		foreach ($this->_postmeta_settings as $k => $v) {
			// phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput
			$val = isset($_POST[$k]) ? $_POST[$k] : false;
			$this->save($post_id, $k, $val);
		}
	}

	/**
	 * Load setting per post.
	 *
	 * @since 4.7
	 *
	 * @param string   $conf    Meta key to load.
	 * @param int|bool $post_id Optional specific post ID, defaults to current query object.
	 * @return mixed|null Meta value or null when not set.
	 */
	public function setting( $conf, $post_id = false ) {
		// Check if has metabox non-cacheable setting or not.
		if ( ! $post_id ) {
			$home_id = (int) get_option( 'page_for_posts' );
			if ( is_singular() ) {
				$post_id = get_the_ID();
			} elseif ( $home_id > 0 && is_home() ) {
				$post_id = $home_id;
			}
		}

		$val = $post_id ? get_post_meta( $post_id, $conf, true ) : null;
		if ( $val ) {
			return $val;
		}

		return null;
	}

	/**
	 * Save a metabox value.
	 *
	 * @since 4.7
	 *
	 * @param int         $post_id  Post ID.
	 * @param string      $name     Meta key name.
	 * @param string|bool $val      Value to save.
	 * @param bool        $is_append If true, append to existing list values.
	 * @return void
	 */
	public function save( $post_id, $name, $val, $is_append = false ) {
		if ( false !== strpos( $name, VPI::POST_META ) ) {
			$val = Utility::sanitize_lines( $val, 'basename,drop_webp' );
		}

		// Load existing data if has set.
		if ( $is_append ) {
			$existing_data = $this->setting( $name, $post_id );
			if ( $existing_data ) {
				$existing_data = Utility::sanitize_lines( $existing_data, 'basename' );
				$val           = array_unique( array_merge( $val, $existing_data ) );
			}
		}

		if ( $val ) {
			update_post_meta( $post_id, $name, $val );
		} else {
			delete_post_meta( $post_id, $name );
		}
	}

	/**
	 * Load exclude images per post.
	 *
	 * @since 4.7
	 *
	 * @param array $exclude_list Current exclude list.
	 * @return array Modified exclude list.
	 */
	public function lazy_img_excludes( $exclude_list ) {
		$is_mobile = $this->_separate_mobile();
		$excludes  = $this->setting( $is_mobile ? VPI::POST_META_MOBILE : VPI::POST_META );
		if ( null !== $excludes ) {
			$excludes = Utility::sanitize_lines( $excludes, 'basename' );
			if ( $excludes ) {
				// Check if contains `data:` (invalid result, need to clear existing result) or not.
				if ( Utility::str_hit_array( 'data:', $excludes ) ) {
					$this->cls( 'VPI' )->add_to_queue();
				} else {
					return array_merge( $exclude_list, $excludes );
				}
			}

			return $exclude_list;
		}

		$this->cls( 'VPI' )->add_to_queue();

		return $exclude_list;
	}
}


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
6 Apr 2026 8.59 AM
bravrvjk / bravrvjk
0755
cdn
--
6 Apr 2026 8.59 AM
bravrvjk / bravrvjk
0755
data_structure
--
6 Apr 2026 8.59 AM
bravrvjk / bravrvjk
0755
activation.cls.php
17.308 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
admin-display.cls.php
48.469 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
admin-settings.cls.php
11.116 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
admin.cls.php
6.129 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
api.cls.php
10.363 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
avatar.cls.php
8.652 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
base.cls.php
37.656 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cdn.cls.php
15.918 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cloud-auth-callback.trait.php
10.433 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cloud-auth-ip.trait.php
4.329 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cloud-auth.trait.php
9.383 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cloud-misc.trait.php
10.324 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cloud-node.trait.php
5.947 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cloud-request.trait.php
19.685 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
cloud.cls.php
7.324 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
conf.cls.php
19.531 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
control.cls.php
24.349 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
core.cls.php
20.971 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
crawler-map.cls.php
19.408 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
crawler.cls.php
44.722 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
css.cls.php
17.773 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
data.cls.php
22.205 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
data.upgrade.func.php
5.719 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
db-optm.cls.php
15.349 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
debug2.cls.php
18.4 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
doc.cls.php
5.446 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
error.cls.php
7.354 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
esi.cls.php
27.182 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
file.cls.php
10.569 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
guest.cls.php
2.755 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
gui.cls.php
36.573 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
health.cls.php
2.831 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
htaccess.cls.php
29.811 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
img-optm-manage.trait.php
30.846 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
img-optm-pull.trait.php
22.102 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
img-optm-send.trait.php
21.896 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
img-optm.cls.php
5.257 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
import.cls.php
4.292 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
import.preset.cls.php
5.501 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
lang.cls.php
17.021 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
localization.cls.php
4.026 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
media.cls.php
44.084 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
metabox.cls.php
5.292 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
object-cache-wp.cls.php
18.816 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
object-cache.cls.php
20.947 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
object.lib.php
14.164 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
optimize.cls.php
38.641 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
optimizer.cls.php
10.502 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
placeholder.cls.php
17.928 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
purge.cls.php
34.409 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
report.cls.php
6.119 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
rest.cls.php
9.083 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
root.cls.php
14.288 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
router.cls.php
20.758 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
str.cls.php
3.082 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
tag.cls.php
9.259 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
task.cls.php
7.05 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
tool.cls.php
4.168 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
ucss.cls.php
16.347 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
utility.cls.php
26.014 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
vary.cls.php
21.33 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644
vpi.cls.php
9.375 KB
1 Apr 2026 8.54 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF