File "class-uagb-block.php"
Full Path: /home/fresvfqn/waterdamagerestorationandrepairsmithtown.com/wp-content/plugins/ultimate-addons-for-gutenberg/classes/class-uagb-block.php
File size: 1.64 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* UAGB Block.
*
* @since 2.1.0
*
* @package uagb
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'UAGB_Block' ) ) {
/**
* Class doc
*/
class UAGB_Block {
/**
* Member Variable
*
* @var instance
*/
private static $instance;
/**
* Block Attributes
*
* @var block_attributes
*/
private static $blocks = null;
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Register a Block.
*
* @since 2.1.0
* @param string $block_file Block File Path.
*/
public function register( $block_file ) {
$block_slug = '';
$block_data = array();
include $block_file;
if ( ! empty( $block_slug ) && ! empty( $block_data ) ) {
self::$blocks[ $block_slug ] = apply_filters( "spectra_{$block_slug}_blockdata", $block_data );
}
}
/**
* Register all UAG Lite Blocks.
*
* @since 2.1.0
*/
public function register_blocks() {
self::$blocks = array();
$block_files = glob( UAGB_DIR . 'includes/blocks/*/block.php' );
foreach ( $block_files as $block_file ) {
$this->register( $block_file );
}
do_action( 'uag_register_block', $this );
}
/**
* Gives all Blocks.
*
* @since 2.1.0
*/
public function get_blocks() {
if ( null === self::$blocks ) {
$this->register_blocks();
}
return self::$blocks;
}
}
/**
* Gives UAGB_Block object
*
* @since 2.1.0
*
* @return object
*/
function uagb_block() {
return UAGB_Block::get_instance();
}
}