✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ cp240.webserver.pt ​🇻​♯➤ 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 62.193.192.154 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.58
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/albatroz/xisto.net/wp-includes/blocks//navigation-submenu.php
<?php
/**
 * Server-side rendering of the `core/navigation-submenu` block.
 *
 * @package WordPress
 */

/**
 * Build an array with CSS classes and inline styles defining the colors
 * which will be applied to the navigation markup in the front-end.
 *
 * @param  array $context    Navigation block context.
 * @param  array $attributes Block attributes.
 * @return array Colors CSS classes and inline styles.
 */
function block_core_navigation_submenu_build_css_colors( $context, $attributes ) {
	$colors = array(
		'css_classes'   => array(),
		'inline_styles' => '',
	);

	$is_sub_menu = isset( $attributes['isTopLevelItem'] ) ? ( ! $attributes['isTopLevelItem'] ) : false;

	// Text color.
	$named_text_color  = null;
	$custom_text_color = null;

	if ( $is_sub_menu && array_key_exists( 'customOverlayTextColor', $context ) ) {
		$custom_text_color = $context['customOverlayTextColor'];
	} elseif ( $is_sub_menu && array_key_exists( 'overlayTextColor', $context ) ) {
		$named_text_color = $context['overlayTextColor'];
	} elseif ( array_key_exists( 'customTextColor', $context ) ) {
		$custom_text_color = $context['customTextColor'];
	} elseif ( array_key_exists( 'textColor', $context ) ) {
		$named_text_color = $context['textColor'];
	} elseif ( isset( $context['style']['color']['text'] ) ) {
		$custom_text_color = $context['style']['color']['text'];
	}

	// If has text color.
	if ( ! is_null( $named_text_color ) ) {
		// Add the color class.
		array_push( $colors['css_classes'], 'has-text-color', sprintf( 'has-%s-color', $named_text_color ) );
	} elseif ( ! is_null( $custom_text_color ) ) {
		// Add the custom color inline style.
		$colors['css_classes'][]  = 'has-text-color';
		$colors['inline_styles'] .= sprintf( 'color: %s;', $custom_text_color );
	}

	// Background color.
	$named_background_color  = null;
	$custom_background_color = null;

	if ( $is_sub_menu && array_key_exists( 'customOverlayBackgroundColor', $context ) ) {
		$custom_background_color = $context['customOverlayBackgroundColor'];
	} elseif ( $is_sub_menu && array_key_exists( 'overlayBackgroundColor', $context ) ) {
		$named_background_color = $context['overlayBackgroundColor'];
	} elseif ( array_key_exists( 'customBackgroundColor', $context ) ) {
		$custom_background_color = $context['customBackgroundColor'];
	} elseif ( array_key_exists( 'backgroundColor', $context ) ) {
		$named_background_color = $context['backgroundColor'];
	} elseif ( isset( $context['style']['color']['background'] ) ) {
		$custom_background_color = $context['style']['color']['background'];
	}

	// If has background color.
	if ( ! is_null( $named_background_color ) ) {
		// Add the background-color class.
		array_push( $colors['css_classes'], 'has-background', sprintf( 'has-%s-background-color', $named_background_color ) );
	} elseif ( ! is_null( $custom_background_color ) ) {
		// Add the custom background-color inline style.
		$colors['css_classes'][]  = 'has-background';
		$colors['inline_styles'] .= sprintf( 'background-color: %s;', $custom_background_color );
	}

	return $colors;
}

/**
 * Build an array with CSS classes and inline styles defining the font sizes
 * which will be applied to the navigation markup in the front-end.
 *
 * @param  array $context Navigation block context.
 * @return array Font size CSS classes and inline styles.
 */
function block_core_navigation_submenu_build_css_font_sizes( $context ) {
	// CSS classes.
	$font_sizes = array(
		'css_classes'   => array(),
		'inline_styles' => '',
	);

	$has_named_font_size  = array_key_exists( 'fontSize', $context );
	$has_custom_font_size = isset( $context['style']['typography']['fontSize'] );

	if ( $has_named_font_size ) {
		// Add the font size class.
		$font_sizes['css_classes'][] = sprintf( 'has-%s-font-size', $context['fontSize'] );
	} elseif ( $has_custom_font_size ) {
		// Add the custom font size inline style.
		$font_sizes['inline_styles'] = sprintf( 'font-size: %s;', $context['style']['typography']['fontSize'] );
	}

	return $font_sizes;
}

/**
 * Returns the top-level submenu SVG chevron icon.
 *
 * @return string
 */
function block_core_navigation_submenu_render_submenu_icon() {
	return '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" role="img" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg>';
}

/**
 * Renders the `core/navigation-submenu` block.
 *
 * @param array  $attributes The block attributes.
 * @param string $content The saved content.
 * @param object $block The parsed block.
 *
 * @return string Returns the post content with the legacy widget added.
 */
function render_block_core_navigation_submenu( $attributes, $content, $block ) {

	$navigation_link_has_id = isset( $attributes['id'] ) && is_numeric( $attributes['id'] );
	$is_post_type           = isset( $attributes['kind'] ) && 'post-type' === $attributes['kind'];
	$is_post_type           = $is_post_type || isset( $attributes['type'] ) && ( 'post' === $attributes['type'] || 'page' === $attributes['type'] );

	// Don't render the block's subtree if it is a draft.
	if ( $is_post_type && $navigation_link_has_id && 'publish' !== get_post_status( $attributes['id'] ) ) {
		return '';
	}

	// Don't render the block's subtree if it has no label.
	if ( empty( $attributes['label'] ) ) {
		return '';
	}

	$colors          = block_core_navigation_submenu_build_css_colors( $block->context, $attributes );
	$font_sizes      = block_core_navigation_submenu_build_css_font_sizes( $block->context );
	$classes         = array_merge(
		$colors['css_classes'],
		$font_sizes['css_classes']
	);
	$style_attribute = ( $colors['inline_styles'] . $font_sizes['inline_styles'] );

	$css_classes = trim( implode( ' ', $classes ) );
	$has_submenu = count( $block->inner_blocks ) > 0;
	$is_active   = ! empty( $attributes['id'] ) && ( get_the_ID() === $attributes['id'] );

	$show_submenu_indicators = isset( $block->context['showSubmenuIcon'] ) && $block->context['showSubmenuIcon'];
	$open_on_click           = isset( $block->context['openSubmenusOnClick'] ) && $block->context['openSubmenusOnClick'];
	$open_on_hover_and_click = isset( $block->context['openSubmenusOnClick'] ) && ! $block->context['openSubmenusOnClick'] &&
		$show_submenu_indicators;

	$wrapper_attributes = get_block_wrapper_attributes(
		array(
			'class' => $css_classes . ' wp-block-navigation-item' . ( $has_submenu ? ' has-child' : '' ) .
			( $open_on_click ? ' open-on-click' : '' ) . ( $open_on_hover_and_click ? ' open-on-hover-click' : '' ) .
			( $is_active ? ' current-menu-item' : '' ),
			'style' => $style_attribute,
		)
	);

	$label = '';

	if ( isset( $attributes['label'] ) ) {
		$label .= wp_kses(
			$attributes['label'],
			array(
				'code'   => array(),
				'em'     => array(),
				'img'    => array(
					'scale' => array(),
					'class' => array(),
					'style' => array(),
					'src'   => array(),
					'alt'   => array(),
				),
				's'      => array(),
				'span'   => array(
					'style' => array(),
				),
				'strong' => array(),
			)
		);
	}

	$aria_label = sprintf(
		/* translators: Accessibility text. %s: Parent page title. */
		__( '%s submenu' ),
		wp_strip_all_tags( $label )
	);

	$html = '<li ' . $wrapper_attributes . '>';

	// If Submenus open on hover, we render an anchor tag with attributes.
	// If submenu icons are set to show, we also render a submenu button, so the submenu can be opened on click.
	if ( ! $open_on_click ) {
		$item_url = isset( $attributes['url'] ) ? esc_url( $attributes['url'] ) : '';
		// Start appending HTML attributes to anchor tag.
		$html .= '<a class="wp-block-navigation-item__content" href="' . $item_url . '"';

		if ( $is_active ) {
			$html .= ' aria-current="page"';
		}

		if ( isset( $attributes['opensInNewTab'] ) && true === $attributes['opensInNewTab'] ) {
			$html .= ' target="_blank"  ';
		}

		if ( isset( $attributes['rel'] ) ) {
			$html .= ' rel="' . esc_attr( $attributes['rel'] ) . '"';
		} elseif ( isset( $attributes['nofollow'] ) && $attributes['nofollow'] ) {
			$html .= ' rel="nofollow"';
		}

		if ( isset( $attributes['title'] ) ) {
			$html .= ' title="' . esc_attr( $attributes['title'] ) . '"';
		}

		$html .= '>';
		// End appending HTML attributes to anchor tag.

		$html .= $label;

		$html .= '</a>';
		// End anchor tag content.

		if ( $show_submenu_indicators ) {
			// The submenu icon is rendered in a button here
			// so that there's a clickable element to open the submenu.
			$html .= '<button aria-label="' . $aria_label . '" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" aria-expanded="false">' . block_core_navigation_submenu_render_submenu_icon() . '</button>';
		}
	} else {
		// If menus open on click, we render the parent as a button.
		$html .= '<button aria-label="' . $aria_label . '" class="wp-block-navigation-item__content wp-block-navigation-submenu__toggle" aria-expanded="false">';

		// Wrap title with span to isolate it from submenu icon.
		$html .= '<span class="wp-block-navigation-item__label">';

		$html .= $label;

		$html .= '</span>';

		$html .= '<span class="wp-block-navigation__submenu-icon">' . block_core_navigation_submenu_render_submenu_icon() . '</span>';

		$html .= '</button>';

	}

	if ( $has_submenu ) {
		$inner_blocks_html = '';
		foreach ( $block->inner_blocks as $inner_block ) {
			$inner_blocks_html .= $inner_block->render();
		}

		$html .= sprintf(
			'<ul class="wp-block-navigation__submenu-container">%s</ul>',
			$inner_blocks_html
		);
	}

	$html .= '</li>';

	return $html;
}

/**
 * Register the navigation submenu block.
 *
 * @uses render_block_core_navigation_submenu()
 * @throws WP_Error An WP_Error exception parsing the block definition.
 */
function register_block_core_navigation_submenu() {
	register_block_type_from_metadata(
		__DIR__ . '/navigation-submenu',
		array(
			'render_callback' => 'render_block_core_navigation_submenu',
		)
	);
}
add_action( 'init', 'register_block_core_navigation_submenu' );


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
11 Jun 2026 3.29 AM
albatroz / albatroz
0755
archives
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
audio
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
block
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
button
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
buttons
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
calendar
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
categories
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
code
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
column
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
columns
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
cover
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
embed
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
file
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
freeform
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
gallery
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
group
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
heading
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
html
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
image
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
latest-comments
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
latest-posts
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
legacy-widget
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
list
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
loginout
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
media-text
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
missing
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
more
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
navigation
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
navigation-link
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
navigation-submenu
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
nextpage
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
page-list
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
paragraph
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
pattern
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-author
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-comments
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-content
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-date
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-excerpt
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-featured-image
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-navigation-link
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-template
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-terms
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
post-title
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
preformatted
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
pullquote
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
query
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
query-pagination
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
query-pagination-next
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
query-pagination-numbers
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
query-pagination-previous
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
query-title
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
quote
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
rss
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
search
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
separator
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
shortcode
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
site-logo
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
site-tagline
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
site-title
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
social-link
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
social-links
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
spacer
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
table
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
tag-cloud
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
template-part
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
term-description
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
text-columns
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
verse
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
video
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
widget-group
--
10 Feb 2022 1.56 PM
albatroz / albatroz
0755
archives.php
2.794 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
block.php
1.473 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
calendar.php
4.455 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
categories.php
2.705 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
error_log
38.588 KB
12 Jun 2026 2.58 AM
albatroz / albatroz
0644
file.php
0.876 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
gallery.php
1.499 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
image.php
1.256 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
index.php
3.096 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
latest-comments.php
4.896 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
latest-posts.php
6.957 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
legacy-widget.php
4.394 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
loginout.php
1.348 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
navigation-link.php
11.048 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
navigation-submenu.php
9.823 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
navigation.php
22.792 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
page-list.php
12.732 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
pattern.php
0.899 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-author.php
2.118 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-comments.php
2.434 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-content.php
2.352 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-date.php
1.495 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-excerpt.php
2.415 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-featured-image.php
1.893 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-navigation-link.php
3.468 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-template.php
2.771 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-terms.php
1.603 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
post-title.php
1.595 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
query-pagination-next.php
2.644 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
query-pagination-numbers.php
3.726 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
query-pagination-previous.php
2.103 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
query-pagination.php
0.87 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
query-title.php
1.346 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
query.php
0.297 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
rss.php
3.17 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
search.php
12.269 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
shortcode.php
0.681 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
site-logo.php
5.718 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
site-tagline.php
0.971 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
site-title.php
1.621 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
social-link.php
57.915 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
tag-cloud.php
1.284 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
template-part.php
7.147 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
term-description.php
1.145 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644
widget-group.php
2.104 KB
10 Feb 2022 1.56 PM
albatroz / albatroz
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF