SILENT KILLERPanel

Current Path: > home > ivftiowh > > www > wp-includes > blocks >


Operation   : Linux premium88.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Software     : Apache
Server IP    : 185.61.154.216 | Your IP: 216.73.216.44
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/ivftiowh//www/wp-includes/blocks/

NameTypeSizeLast ModifiedActions
archives Directory - -
audio Directory - -
avatar Directory - -
block Directory - -
button Directory - -
buttons Directory - -
calendar Directory - -
categories Directory - -
code Directory - -
column Directory - -
columns Directory - -
comment-author-name Directory - -
comment-content Directory - -
comment-date Directory - -
comment-edit-link Directory - -
comment-reply-link Directory - -
comment-template Directory - -
comments Directory - -
comments-pagination Directory - -
comments-pagination-next Directory - -
comments-pagination-numbers Directory - -
comments-pagination-previous Directory - -
comments-title Directory - -
cover Directory - -
details Directory - -
embed Directory - -
file Directory - -
footnotes Directory - -
freeform Directory - -
gallery Directory - -
group Directory - -
heading Directory - -
home-link Directory - -
html Directory - -
image Directory - -
latest-comments Directory - -
latest-posts Directory - -
legacy-widget Directory - -
list Directory - -
list-item Directory - -
loginout Directory - -
media-text Directory - -
missing Directory - -
more Directory - -
navigation Directory - -
navigation-link Directory - -
navigation-submenu Directory - -
nextpage Directory - -
page-list Directory - -
page-list-item Directory - -
paragraph Directory - -
pattern Directory - -
post-author Directory - -
post-author-biography Directory - -
post-author-name Directory - -
post-comments-form Directory - -
post-content Directory - -
post-date Directory - -
post-excerpt Directory - -
post-featured-image Directory - -
post-navigation-link Directory - -
post-template Directory - -
post-terms Directory - -
post-title Directory - -
preformatted Directory - -
pullquote Directory - -
query Directory - -
query-no-results Directory - -
query-pagination Directory - -
query-pagination-next Directory - -
query-pagination-numbers Directory - -
query-pagination-previous Directory - -
query-title Directory - -
quote Directory - -
read-more Directory - -
rss Directory - -
search Directory - -
separator Directory - -
shortcode Directory - -
site-logo Directory - -
site-tagline Directory - -
site-title Directory - -
social-link Directory - -
social-links Directory - -
spacer Directory - -
table Directory - -
tag-cloud Directory - -
template-part Directory - -
term-description Directory - -
text-columns Directory - -
verse Directory - -
video Directory - -
widget-group Directory - -
archives.php File 2956 bytes September 13 2023 04:25:42.
avatar.php File 5689 bytes April 09 2024 22:11:31.
block.php File 1604 bytes September 13 2023 04:25:41.
blocks-json.php File 159929 bytes October 13 2023 06:16:03.
calendar.php File 6178 bytes September 13 2023 04:25:42.
categories.php File 2848 bytes September 13 2023 04:25:41.
comment-author-name.php File 2095 bytes September 13 2023 04:25:42.
comment-content.php File 2421 bytes September 13 2023 04:25:41.
comment-date.php File 1596 bytes September 13 2023 04:25:42.
comment-edit-link.php File 1675 bytes September 13 2023 04:25:41.
comment-reply-link.php File 2037 bytes September 13 2023 04:25:42.
comment-template.php File 4455 bytes September 13 2023 04:25:41.
comments-pagination-next.php File 1853 bytes September 13 2023 04:25:41.
comments-pagination-numbers.php File 1594 bytes September 13 2023 04:25:42.
comments-pagination-previous.php File 1645 bytes September 13 2023 04:25:42.
comments-pagination.php File 1161 bytes September 13 2023 04:25:42.
comments-title.php File 2734 bytes September 13 2023 04:25:41.
comments.php File 6624 bytes September 13 2023 04:25:41.
cover.php File 2511 bytes September 13 2023 04:25:42.
file.php File 3461 bytes September 13 2023 04:25:42.
footnotes.php File 8903 bytes September 13 2023 04:25:42.
gallery.php File 4970 bytes September 13 2023 04:25:42.
heading.php File 1263 bytes September 13 2023 04:25:42.
home-link.php File 4830 bytes September 13 2023 04:25:42.
image.php File 1317 bytes September 13 2023 04:25:41.
index.php File 4555 bytes October 13 2023 06:16:03.
latest-comments.php File 5002 bytes September 13 2023 04:25:42.
latest-posts.php File 8060 bytes September 13 2023 04:25:41.
legacy-widget.php File 3902 bytes September 13 2023 04:25:41.
loginout.php File 1380 bytes September 13 2023 04:25:41.
navigation-link.php File 11929 bytes September 13 2023 04:25:42.
navigation-submenu.php File 9401 bytes September 13 2023 04:25:42.
navigation.php File 38396 bytes September 13 2023 04:25:42.
page-list-item.php File 342 bytes September 13 2023 04:25:41.
page-list.php File 13452 bytes September 13 2023 04:25:42.
pattern.php File 1034 bytes September 13 2023 04:25:42.
post-author-biography.php File 1448 bytes September 13 2023 04:25:42.
post-author-name.php File 1746 bytes September 13 2023 04:25:42.
post-author.php File 2567 bytes September 13 2023 04:25:42.
post-comments-form.php File 2748 bytes September 13 2023 04:25:42.
post-content.php File 2334 bytes September 13 2023 04:25:42.
post-date.php File 2344 bytes September 13 2023 04:25:42.
post-excerpt.php File 3407 bytes September 13 2023 04:25:42.
post-featured-image.php File 7813 bytes September 13 2023 04:25:42.
post-navigation-link.php File 4476 bytes October 13 2023 06:16:03.
post-template.php File 4976 bytes September 13 2023 04:25:42.
post-terms.php File 3353 bytes September 13 2023 04:25:42.
post-title.php File 2067 bytes September 13 2023 04:25:42.
query-no-results.php File 1807 bytes September 13 2023 04:25:42.
query-pagination-next.php File 2973 bytes September 13 2023 04:25:41.
query-pagination-numbers.php File 3815 bytes September 13 2023 04:25:42.
query-pagination-previous.php File 2419 bytes September 13 2023 04:25:42.
query-pagination.php File 1138 bytes September 13 2023 04:25:42.
query-title.php File 2060 bytes September 13 2023 04:25:42.
query.php File 304 bytes September 13 2023 04:25:42.
read-more.php File 1792 bytes September 13 2023 04:25:42.
require-dynamic-blocks.php File 3944 bytes September 13 2023 04:25:42.
require-static-blocks.php File 536 bytes September 13 2023 04:25:41.
rss.php File 3926 bytes September 13 2023 04:25:41.
search.php File 22130 bytes September 13 2023 04:25:42.
shortcode.php File 697 bytes September 13 2023 04:25:42.
site-logo.php File 5933 bytes September 13 2023 04:25:42.
site-tagline.php File 994 bytes September 13 2023 04:25:42.
site-title.php File 1771 bytes September 13 2023 04:25:42.
social-link.php File 60551 bytes September 13 2023 04:25:42.
tag-cloud.php File 1403 bytes September 13 2023 04:25:42.
template-part.php File 10008 bytes June 24 2024 20:05:07.
term-description.php File 1298 bytes September 13 2023 04:25:42.
widget-group.php File 2166 bytes September 13 2023 04:25:42.

Reading File: /home/ivftiowh//www/wp-includes/blocks//template-part.php

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

/**
 * Renders the `core/template-part` block on the server.
 *
 * @param array $attributes The block attributes.
 *
 * @return string The render.
 */
function render_block_core_template_part( $attributes ) {
	static $seen_ids = array();

	$template_part_id = null;
	$content          = null;
	$area             = WP_TEMPLATE_PART_AREA_UNCATEGORIZED;

	if (
		isset( $attributes['slug'] ) &&
		isset( $attributes['theme'] ) &&
		get_stylesheet() === $attributes['theme']
	) {
		$template_part_id    = $attributes['theme'] . '//' . $attributes['slug'];
		$template_part_query = new WP_Query(
			array(
				'post_type'           => 'wp_template_part',
				'post_status'         => 'publish',
				'post_name__in'       => array( $attributes['slug'] ),
				'tax_query'           => array(
					array(
						'taxonomy' => 'wp_theme',
						'field'    => 'name',
						'terms'    => $attributes['theme'],
					),
				),
				'posts_per_page'      => 1,
				'no_found_rows'       => true,
				'lazy_load_term_meta' => false, // Do not lazy load term meta, as template parts only have one term.
			)
		);
		$template_part_post  = $template_part_query->have_posts() ? $template_part_query->next_post() : null;
		if ( $template_part_post ) {
			// A published post might already exist if this template part was customized elsewhere
			// or if it's part of a customized template.
			$content    = $template_part_post->post_content;
			$area_terms = get_the_terms( $template_part_post, 'wp_template_part_area' );
			if ( ! is_wp_error( $area_terms ) && false !== $area_terms ) {
				$area = $area_terms[0]->name;
			}
			/**
			 * Fires when a block template part is loaded from a template post stored in the database.
			 *
			 * @since 5.9.0
			 *
			 * @param string  $template_part_id   The requested template part namespaced to the theme.
			 * @param array   $attributes         The block attributes.
			 * @param WP_Post $template_part_post The template part post object.
			 * @param string  $content            The template part content.
			 */
			do_action( 'render_block_core_template_part_post', $template_part_id, $attributes, $template_part_post, $content );
		} else {
			$template_part_file_path = '';
			// Else, if the template part was provided by the active theme,
			// render the corresponding file content.
			if ( 0 === validate_file( $attributes['slug'] ) ) {
				$block_template_file = _get_block_template_file( 'wp_template_part', $attributes['slug'] );
				if ( $block_template_file ) {
					$template_part_file_path = $block_template_file['path'];
					$content                 = (string) file_get_contents( $template_part_file_path );
					$content                 = '' !== $content ? _inject_theme_attribute_in_block_template_content( $content ) : '';
					if ( isset( $block_template_file['area'] ) ) {
						$area = $block_template_file['area'];
					}
				}
			}

			if ( '' !== $content && null !== $content ) {
				/**
				 * Fires when a block template part is loaded from a template part in the theme.
				 *
				 * @since 5.9.0
				 *
				 * @param string $template_part_id        The requested template part namespaced to the theme.
				 * @param array  $attributes              The block attributes.
				 * @param string $template_part_file_path Absolute path to the template path.
				 * @param string $content                 The template part content.
				 */
				do_action( 'render_block_core_template_part_file', $template_part_id, $attributes, $template_part_file_path, $content );
			} else {
				/**
				 * Fires when a requested block template part does not exist in the database nor in the theme.
				 *
				 * @since 5.9.0
				 *
				 * @param string $template_part_id        The requested template part namespaced to the theme.
				 * @param array  $attributes              The block attributes.
				 * @param string $template_part_file_path Absolute path to the not found template path.
				 */
				do_action( 'render_block_core_template_part_none', $template_part_id, $attributes, $template_part_file_path );
			}
		}
	}

	// WP_DEBUG_DISPLAY must only be honored when WP_DEBUG. This precedent
	// is set in `wp_debug_mode()`.
	$is_debug = WP_DEBUG && WP_DEBUG_DISPLAY;

	if ( is_null( $content ) && $is_debug ) {
		if ( ! isset( $attributes['slug'] ) ) {
			// If there is no slug this is a placeholder and we dont want to return any message.
			return;
		}
		return sprintf(
			/* translators: %s: Template part slug. */
			__( 'Template part has been deleted or is unavailable: %s' ),
			$attributes['slug']
		);
	}

	if ( isset( $seen_ids[ $template_part_id ] ) ) {
		return $is_debug ?
			// translators: Visible only in the front end, this warning takes the place of a faulty block.
			__( '[block rendering halted]' ) :
			'';
	}

	// Look up area definition.
	$area_definition = null;
	$defined_areas   = get_allowed_block_template_part_areas();
	foreach ( $defined_areas as $defined_area ) {
		if ( $defined_area['area'] === $area ) {
			$area_definition = $defined_area;
			break;
		}
	}

	// If $area is not allowed, set it back to the uncategorized default.
	if ( ! $area_definition ) {
		$area = WP_TEMPLATE_PART_AREA_UNCATEGORIZED;
	}

	// Run through the actions that are typically taken on the_content.
	$content                       = shortcode_unautop( $content );
	$content                       = do_shortcode( $content );
	$seen_ids[ $template_part_id ] = true;
	$content                       = do_blocks( $content );
	unset( $seen_ids[ $template_part_id ] );
	$content = wptexturize( $content );
	$content = convert_smilies( $content );
	$content = wp_filter_content_tags( $content, "template_part_{$area}" );

	// Handle embeds for block template parts.
	global $wp_embed;
	$content = $wp_embed->autoembed( $content );

	if ( empty( $attributes['tagName'] ) || tag_escape( $attributes['tagName'] ) !== $attributes['tagName'] ) {
		$area_tag = 'div';
		if ( $area_definition && isset( $area_definition['area_tag'] ) ) {
			$area_tag = $area_definition['area_tag'];
		}
		$html_tag = $area_tag;
	} else {
		$html_tag = esc_attr( $attributes['tagName'] );
	}
	$wrapper_attributes = get_block_wrapper_attributes();

	return "<$html_tag $wrapper_attributes>" . str_replace( ']]>', ']]&gt;', $content ) . "</$html_tag>";
}

/**
 * Returns an array of area variation objects for the template part block.
 *
 * @param array $instance_variations The variations for instances.
 *
 * @return array Array containing the block variation objects.
 */
function build_template_part_block_area_variations( $instance_variations ) {
	$variations    = array();
	$defined_areas = get_allowed_block_template_part_areas();

	foreach ( $defined_areas as $area ) {
		if ( 'uncategorized' !== $area['area'] ) {
			$has_instance_for_area = false;
			foreach ( $instance_variations as $variation ) {
				if ( $variation['attributes']['area'] === $area['area'] ) {
					$has_instance_for_area = true;
					break;
				}
			}

			$scope = $has_instance_for_area ? array() : array( 'inserter' );

			$variations[] = array(
				'name'        => 'area_' . $area['area'],
				'title'       => $area['label'],
				'description' => $area['description'],
				'attributes'  => array(
					'area' => $area['area'],
				),
				'scope'       => $scope,
				'icon'        => $area['icon'],
			);
		}
	}
	return $variations;
}

/**
 * Returns an array of instance variation objects for the template part block
 *
 * @return array Array containing the block variation objects.
 */
function build_template_part_block_instance_variations() {
	// Block themes are unavailable during installation.
	if ( wp_installing() ) {
		return array();
	}

	if ( ! current_theme_supports( 'block-templates' ) && ! current_theme_supports( 'block-template-parts' ) ) {
		return array();
	}

	$variations     = array();
	$template_parts = get_block_templates(
		array(
			'post_type' => 'wp_template_part',
		),
		'wp_template_part'
	);

	$defined_areas = get_allowed_block_template_part_areas();
	$icon_by_area  = array_combine( array_column( $defined_areas, 'area' ), array_column( $defined_areas, 'icon' ) );

	foreach ( $template_parts as $template_part ) {
		$variations[] = array(
			'name'        => 'instance_' . sanitize_title( $template_part->slug ),
			'title'       => $template_part->title,
			// If there's no description for the template part don't show the
			// block description. This is a bit hacky, but prevent the fallback
			// by using a non-breaking space so that the value of description
			// isn't falsey.
			'description' => $template_part->description || '&nbsp;',
			'attributes'  => array(
				'slug'  => $template_part->slug,
				'theme' => $template_part->theme,
				'area'  => $template_part->area,
			),
			'scope'       => array( 'inserter' ),
			'icon'        => isset( $icon_by_area[ $template_part->area ] ) ? $icon_by_area[ $template_part->area ] : null,
			'example'     => array(
				'attributes' => array(
					'slug'  => $template_part->slug,
					'theme' => $template_part->theme,
					'area'  => $template_part->area,
				),
			),
		);
	}
	return $variations;
}

/**
 * Returns an array of all template part block variations.
 *
 * @return array Array containing the block variation objects.
 */
function build_template_part_block_variations() {
	$instance_variations = build_template_part_block_instance_variations();
	$area_variations     = build_template_part_block_area_variations( $instance_variations );
	return array_merge( $area_variations, $instance_variations );
}

/**
 * Registers the `core/template-part` block on the server.
 */
function register_block_core_template_part() {
	register_block_type_from_metadata(
		__DIR__ . '/template-part',
		array(
			'render_callback' => 'render_block_core_template_part',
			'variations'      => build_template_part_block_variations(),
		)
	);
}
add_action( 'init', 'register_block_core_template_part' );

SILENT KILLER Tool