WS_OK_7.4.33 HEX
HEX
Server: nginx/1.21.4
System: Linux v12674 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: endtheignorance (1014)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v12674/lcafreshheads/public_html/wp-content/plugins/popup-maker/classes/Utils/Blocks.php
<?php
/**
 * Block utilities.
 *
 * @since       1.14
 * @package     PUM
 * @copyright   Copyright (c) 2020, Code Atlantic LLC
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Class PUM_Utils_Blocks
 */
class PUM_Utils_Blocks {

	/**
	 * Find blocks with matching name in given list of blocks.
	 *
	 * Recursively searches through WordPress block structures, including nested blocks
	 * within core/columns and core/column containers.
	 *
	 * @param array<string, mixed>[] $blocks Array of WordPress block structures.
	 * @param string                 $search_name Block name to look for (supports wildcards like 'pum/*').
	 *
	 * @return array<string, mixed>[] Array of matching WordPress blocks.
	 */
	public static function find_blocks( $blocks, $search_name = 'pum/*' ) {
		$found_blocks = [];

		foreach ( $blocks as $block ) {
			if ( in_array( $block['blockName'], [ 'core/columns', 'core/column' ], true ) ) {
				$found_blocks = array_merge( $found_blocks, self::find_blocks( $block['innerBlocks'], $search_name ) );
			}

			if ( $search_name === $block['blockName'] ) {
				$found_blocks[] = $block;
			}
		}

		return $found_blocks;
	}
}