Submit
Path:
~
/
home
/
getwphos
/
www
/
metrothemes.me
/
wp-content
/
plugins
/
woocommerce
/
src
/
Internal
/
Admin
/
BlockTemplates
/
File Content:
AbstractBlockTemplate.php
<?php namespace Automattic\WooCommerce\Internal\Admin\BlockTemplates; use Automattic\WooCommerce\Admin\BlockTemplates\ContainerInterface; use Automattic\WooCommerce\Admin\BlockTemplates\BlockInterface; use Automattic\WooCommerce\Admin\BlockTemplates\BlockTemplateInterface; /** * Block template class. */ abstract class AbstractBlockTemplate implements BlockTemplateInterface { use BlockContainerTrait; /** * Get the template ID. */ public abstract function get_id(): string; /** * Get the template title. */ public function get_title(): string { return ''; } /** * Get the template description. */ public function get_description(): string { return ''; } /** * Get the template area. */ public function get_area(): string { return 'uncategorized'; } /** * The block cache. * * @var BlockInterface[] */ private $block_cache = []; /** * Get a block by ID. * * @param string $block_id The block ID. */ public function get_block( string $block_id ): ?BlockInterface { return $this->block_cache[ $block_id ] ?? null; } /** * Caches a block in the template. This is an internal method and should not be called directly * except for classes that implement BlockContainerInterface, in their add_block() method. * * @param BlockInterface $block The block to cache. * * @throws \ValueError If a block with the specified ID already exists in the template. * @throws \ValueError If the block template that the block belongs to is not this template. * * @ignore */ public function cache_block( BlockInterface &$block ) { $id = $block->get_id(); if ( isset( $this->block_cache[ $id ] ) ) { throw new \ValueError( 'A block with the specified ID already exists in the template.' ); } if ( $block->get_root_template() !== $this ) { throw new \ValueError( 'The block template that the block belongs to must be the same as this template.' ); } $this->block_cache[ $id ] = $block; } /** * Generate a block ID based on a base. * * @param string $id_base The base to use when generating an ID. * @return string */ public function generate_block_id( string $id_base ): string { $instance_count = 0; do { $instance_count++; $block_id = $id_base . '-' . $instance_count; } while ( isset( $this->block_cache[ $block_id ] ) ); return $block_id; } /** * Get the root template. */ public function &get_root_template(): BlockTemplateInterface { return $this; } /** * Get the inner blocks as a formatted template. */ public function get_formatted_template(): array { $inner_blocks = $this->get_inner_blocks_sorted_by_order(); $inner_blocks_formatted_template = array_map( function( Block $block ) { return $block->get_formatted_template(); }, $inner_blocks ); return $inner_blocks_formatted_template; } }
Submit
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