HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vm8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: afleverb (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/www/drakkar_site/wp-content/themes/blocksy/inc/components/blocks/blocks-fallback.php
<?php

namespace Blocksy;

class BlocksFallback {
	public function __construct() {
		add_filter(
			'render_block',
			[$this, 'render_block'],
			10,
			3
		);
	}

	public function render_block($content, $block, $render) {
		if (! isset($block['blockName'])) {
			return $content;
		}

		if (strpos($block['blockName'], 'blocksy/') !== 0) {
			return $content;
		}

		$blockRegistry = \WP_Block_Type_Registry::get_instance();

		if ($blockRegistry->is_registered($block['blockName'])) {
			return $content;
		}

		if (! current_user_can('manage_options')) {
			return '';
		}

		$block_names_map = [
			'blocksy/about-me' => __('About Me', 'blocksy'),
			'blocksy/breadcrumbs' => __('Breadcrumbs', 'blocksy'),
			'blocksy/contact-info' => __('Contact Info', 'blocksy'),
			'blocksy/query' => __('Advanced Posts', 'blocksy'),
			'blocksy/search' => __('Advanced Search', 'blocksy'),
			'blocksy/share-box' => __('Share Box', 'blocksy'),
			'blocksy/socials' => __('Socials', 'blocksy'),
			'blocksy/dynamic-data' => __('Dynamic Data', 'blocksy'),
		];

		$block_name = $block['blockName'];

		if ($block_name === 'blocksy/widgets-wrapper') {
			if (
				isset($block['attrs'])
				&&
				isset($block['attrs']['block'])
			) {
				$block_name = $block['attrs']['block'];
			} else {
				foreach ($block['innerBlocks'] as $inner_block) {
					if (
						isset($inner_block['blockName'])
						&&
						strpos($inner_block['blockName'], 'blocksy/') === 0
					) {
						$block_name = $inner_block['blockName'];
						break;
					}
				}
			}
		}

		if (! isset($block_names_map[$block_name])) {
			return $content;
		}

		return blocksy_html_tag(
			'div',
			[],
			sprintf(
				__('The %s block is moved to the Blocksy Companion plugin. Please install this plugin to get access to the block.', 'blocksy'),
				$block_names_map[$block_name]
			)
		);
	}
}