PHP 8.1.33
Preview: legacy-widget.php Size: 3.90 KB
/home/jambtst2015/public_html/cccng.org/wp-includes/blocks/legacy-widget.php

<?php
/**
 * Server-side rendering of the `core/legacy-widget` block.
 *
 * @package WordPress
 */

/**
 * Renders the 'core/legacy-widget' block.
 *
 * @since 5.8.0
 *
 * @global int $wp_widget_factory.
 *
 * @param array $attributes The block attributes.
 *
 * @return string Rendered block.
 */
function render_block_core_legacy_widget( $attributes ) {
	global $wp_widget_factory;

	if ( isset( $attributes['id'] ) ) {
		$sidebar_id = wp_find_widgets_sidebar( $attributes['id'] );
		return wp_render_widget( $attributes['id'], $sidebar_id );
	}

	if ( ! isset( $attributes['idBase'] ) ) {
		return '';
	}

	$id_base       = $attributes['idBase'];
	$widget_key    = $wp_widget_factory->get_widget_key( $id_base );
	$widget_object = $wp_widget_factory->get_widget_object( $id_base );

	if ( ! $widget_key || ! $widget_object ) {
		return '';
	}

	if ( isset( $attributes['instance']['encoded'], $attributes['instance']['hash'] ) ) {
		$serialized_instance = base64_decode( $attributes['instance']['encoded'] );
		if ( ! hash_equals( wp_hash( $serialized_instance ), (string) $attributes['instance']['hash'] ) ) {
			return '';
		}
		$instance = unserialize( $serialized_instance );
	} else {
		$instance = array();
	}

	$args = array(
		'widget_id'   => $widget_object->id,
		'widget_name' => $widget_object->name,
	);

	ob_start();
	the_widget( $widget_key, $instance, $args );
	return ob_get_clean();
}

/**
 * Registers the 'core/legacy-widget' block.
 *
 * @since 5.8.0
 */
function register_block_core_legacy_widget() {
	register_block_type_from_metadata(
		__DIR__ . '/legacy-widget',
		array(
			'render_callback' => 'render_block_core_legacy_widget',
		)
	);
}

add_action( 'init', 'register_block_core_legacy_widget' );

/**
 * Intercepts any request with legacy-widget-preview in the query param and, if
 * set, renders a page containing a preview of the requested Legacy Widget
 * block.
 *
 * @since 5.8.0
 */
function handle_legacy_widget_preview_iframe() {
	if ( empty( $_GET['legacy-widget-preview'] ) ) {
		return;
	}

	if ( ! current_user_can( 'edit_theme_options' ) ) {
		return;
	}

	define( 'IFRAME_REQUEST', true );

	?>
	<!doctype html>
	<html <?php language_attributes(); ?>>
	<head>
		<meta charset="<?php bloginfo( 'charset' ); ?>" />
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<link rel="profile" href="https://gmpg.org/xfn/11" />
		<?php wp_head(); ?>
		<style>
			/* Reset theme styles */
			html, body, #page, #content {
				padding: 0 !important;
				margin: 0 !important;
			}

			/* Hide root level text nodes */
			body {
				font-size: 0 !important;
			}

			/* Hide non-widget elements */
			body *:not(#page):not(#content):not(.widget):not(.widget *) {
				display: none !important;
				font-size: 0 !important;
				height: 0 !important;
				left: -9999px !important;
				max-height: 0 !important;
				max-width: 0 !important;
				opacity: 0 !important;
				pointer-events: none !important;
				position: absolute !important;
				top: -9999px !important;
				transform: translate(-9999px, -9999px) !important;
				visibility: hidden !important;
				z-index: -999 !important;
			}

			/* Restore widget font-size */
			.widget {
				font-size: var(--global--font-size-base);
			}
		</style>
	</head>
	<body <?php body_class(); ?>>
		<div id="page" class="site">
			<div id="content" class="site-content">
				<?php
				$registry = WP_Block_Type_Registry::get_instance();
				$block    = $registry->get_registered( 'core/legacy-widget' );
				echo $block->render( $_GET['legacy-widget-preview'] );
				?>
			</div><!-- #content -->
		</div><!-- #page -->
		<?php wp_footer(); ?>
	</body>
	</html>
	<?php

	exit;
}

// Use admin_init instead of init to ensure get_current_screen function is already available.
// This isn't strictly required, but enables better compatibility with existing plugins.
// See: https://github.com/WordPress/gutenberg/issues/32624.
add_action( 'admin_init', 'handle_legacy_widget_preview_iframe', 20 );

Directory Contents

Dirs: 95 × Files: 74

Name Size Perms Modified Actions
archives DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
audio DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
avatar DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
block DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
button DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
buttons DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
calendar DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
classic DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
code DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
column DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
columns DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
comments DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
cover DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
details DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
embed DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
file DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
footnotes DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
freeform DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
gallery DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
group DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
heading DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
home-link DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
html DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
image DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
list DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
list-item DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
loginout DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
missing DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
more DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
nextpage DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
page-list DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
paragraph DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
pattern DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2025-10-08 17:06:32
Edit Download
post-date DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2025-10-08 17:06:32
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
pullquote DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
query DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2025-10-08 17:06:31
Edit Download
quote DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
read-more DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
rss DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
search DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
separator DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
shortcode DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
site-logo DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
spacer DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
table DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
tag-cloud DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
verse DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
video DIR
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
- drwxr-xr-x 2024-12-30 07:14:41
Edit Download
2.92 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
5.61 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
3.24 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
189.40 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.76 KB lrw-r--r-- 2024-06-11 19:37:32
Edit Download
5.93 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
3.92 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
2.08 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
2.40 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.82 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.67 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
2.03 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
4.39 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.88 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.59 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.75 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.17 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
2.71 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
6.61 KB lrw-r--r-- 2024-06-01 04:29:00
Edit Download
3.10 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.75 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
3.68 KB lrw-r--r-- 2024-02-28 01:18:24
Edit Download
6.29 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.27 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
5.31 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
11.74 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
4.99 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
734 B lrw-r--r-- 2023-01-12 06:44:12
Edit Download
4.92 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
8.34 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
3.90 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.24 KB lrw-r--r-- 2024-05-24 05:26:08
Edit Download
1.38 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
4.28 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
13.59 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
9.71 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
48.46 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
361 B lrw-r--r-- 2024-05-24 05:09:28
Edit Download
13.29 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.75 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.49 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.91 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.67 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.74 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
2.11 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
3.05 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
3.37 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
9.14 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
4.72 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
5.61 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
3.55 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
2.09 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.80 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
3.70 KB lrw-r--r-- 2024-06-11 19:37:32
Edit Download
4.66 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
3.50 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.15 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
2.05 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
2.48 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
5.56 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.79 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
4.07 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
501 B lrw-r--r-- 2024-06-11 19:37:32
Edit Download
3.98 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
22.48 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
735 B lrw-r--r-- 2024-05-24 05:09:28
Edit Download
6.19 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
1.17 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
1.81 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
63.65 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.55 KB lrw-r--r-- 2024-12-17 21:37:28
Edit Download
9.92 KB lrw-r--r-- 2025-10-08 17:06:31
Edit Download
1.30 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download
2.38 KB lrw-r--r-- 2024-05-24 05:09:28
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).