HEX
Server: Apache
System: Linux webm014.cluster128.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: circuix (152771)
PHP: 8.0.30
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/circuix/adrRc/wp-content/plugins/essential-blocks/includes/class-essential-blocks.php
<?php
// Exit if accessed directly.
if (!defined('ABSPATH')) {
    exit;
}

class EssentialBlocks
{

    protected static $_instance = null;

    private $enabled_blocks = [];

    public static function get_instance()
    {
        if (is_null(self::$_instance)) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }

    private function __construct()
    {
        // Load Admin Files
        $this->load_admin_dependencies();

        // Fetch Enabled Blocks if not than Default Block List
        $this->enabled_blocks = EBBlocks::enabled_blocks();

        // Load All Block Files
        $this->load_block_dependencies();

        // Load Admin Panel
        new EssentialAdmin();

        //Enqueues
        new EssentialBlocksEnqueue();

        // Templates
        Essential_Blocks_Page_Template::get_instance();

        // load rest api
        new EBRestApi();

        // Patterns
        new EssentialBlocksPatterns();
    }

    private function load_admin_dependencies()
    {
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/class-essential-admin.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/class-essential-blocks-enqueues.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/blocks-default.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/class-helpers.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/class-essential-blocks-page-template.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/class-essential-blocks-patterns.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/rest-api.php';

        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/api-class.php';
        //Include NFT AJAX Class
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/class-nft-ajax.php';
    }
    private function load_block_dependencies()
    {
        if ($this->is_block_enabled('accordion')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/accordion-item.php';
        }
        if ($this->is_block_enabled('accordion')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/accordion.php';
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/class-essential-blocks-faq-schema.php';
        }

        if ($this->is_block_enabled('button')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/button.php';
        }
        if ($this->is_block_enabled('call_to_action')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/call-to-action.php';
        }
        if ($this->is_block_enabled('countdown')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/countdown.php';
        }
        if ($this->is_block_enabled('number_counter')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/number-counter.php';
        }
        if ($this->is_block_enabled('dual_button')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/dual-button.php';
        }
        if ($this->is_block_enabled('flipbox')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/flipbox.php';
        }
        if ($this->is_block_enabled('advanced_heading')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/advanced-heading.php';
        }
        if ($this->is_block_enabled('advanced_tabs')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/advanced-tabs.php';
        }
        if ($this->is_block_enabled('advanced_tabs')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/tab.php';
        }
        if ($this->is_block_enabled('image_comparison')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/image-comparison.php';
        }
        if ($this->is_block_enabled('image_gallery')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/image-gallery.php';
        }
        if ($this->is_block_enabled('infobox')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/infobox.php';
        }
        if ($this->is_block_enabled('instagram_feed')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/instagram-feed.php';
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/instagram-feed.php';
        }
        if ($this->is_block_enabled('interactive_promo')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/interactive-promo.php';
        }
        if ($this->is_block_enabled('notice')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/notice.php';
        }
        if ($this->is_block_enabled('row')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/row.php';
        }
        if ($this->is_block_enabled('row')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/column.php';
        }
        if ($this->is_block_enabled('parallax_slider')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/parallax-slider.php';
        }
        if ($this->is_block_enabled('pricing_table')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/pricing-table.php';
        }
        if ($this->is_block_enabled('progress_bar')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/progress-bar.php';
        }
        if ($this->is_block_enabled('social')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/social.php';
        }
        if ($this->is_block_enabled('social_share')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/social-share.php';
        }
        if ($this->is_block_enabled('table_of_contents')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/table-of-contents.php';
        }
        if ($this->is_block_enabled('team_member')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/team-member.php';
        }
        if ($this->is_block_enabled('testimonial')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/testimonial.php';
        }
        if ($this->is_block_enabled('typing_text')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/typing-text.php';
        }
        if ($this->is_block_enabled('wrapper')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/wrapper.php';
        }
        if ($this->is_block_enabled('slider')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/slider.php';
        }
        if ($this->is_block_enabled('post_grid')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/post-grid.php';
        }
        if ($this->is_block_enabled('toggle_content')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/toggle-content.php';
        }
        if ($this->is_block_enabled('feature_list')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/feature-list.php';
        }
        if ($this->is_block_enabled('fluent_forms')) {
            if (in_array('fluentform/fluentform.php', apply_filters('active_plugins', get_option('active_plugins')))) {
                require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/fluent-forms.php';
            }
        }

        if ($this->is_block_enabled('advanced_navigation')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/advanced-navigation.php';
        }
        if ($this->is_block_enabled('woo_product_grid')) {
            if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
                require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/woo-product-grid.php';
            }
        }

        if ($this->is_block_enabled(('wpforms'))) {
            if (count(array_intersect(array('wpforms-lite/wpforms.php', 'wpforms/wpforms.php'), apply_filters('active_plugins', get_option('active_plugins'))))) {
                require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/wpforms.php';
            }
        }

        if ($this->is_block_enabled('advanced_image')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/advanced-image.php';
        }
        if ($this->is_block_enabled('post_carousel')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/post-carousel.php';
        }
        if ($this->is_block_enabled('advanced_video')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/advanced-video.php';
        }
        if ($this->is_block_enabled('popup')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/popup.php';
        }
        if ($this->is_block_enabled('openverse')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/openverse.php';
        }
        if ($this->is_block_enabled('nft_gallery')) {
            require_once ESSENTIAL_BLOCKS_DIR_PATH . '/blocks/nft-gallery.php';
        }

        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/category.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/font-loader.php';
        require_once ESSENTIAL_BLOCKS_DIR_PATH . '/includes/post-meta.php';
    }

    private function is_block_enabled($key = null)
    {
        if (is_null($key)) {
            return true;
        }
        if (isset($this->enabled_blocks[$key])) {
            return true;
        }
        return false;
    }

    public static function get_block_register_path($folder_name)
    {
        if (ESSENTIAL_BLOCKS_WP_VERSION < 5.8) {
            return 'essential-blocks/' . $folder_name;
        } else {
            return ESSENTIAL_BLOCKS_DIR_PATH . 'blocks/' . $folder_name;
        }
    }
}