SCHWEIS
Server: LiteSpeed
System: Linux premium103.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User: aaasepid (956)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //proc/self/cwd/new/wp-content/plugins/extendify/app/QuickEdit/Schemas/Registry.php
<?php

namespace Extendify\QuickEdit\Schemas;

defined('ABSPATH') || die('No direct access.');

class Registry
{
    /**
     * @var array<string, Schema> blockName => Schema instance
     */
    private static $schemas = [];

    public static function register(string $blockName, Schema $schema)
    {
        self::$schemas[$blockName] = $schema;
    }

    public static function get(string $blockName)
    {
        return self::$schemas[$blockName] ?? null;
    }

    public static function init()
    {
        self::register('core/paragraph', new Paragraph());
        self::register('core/heading', new Heading());
        self::register('core/image', new Image());
        self::register('core/button', new Button());
        self::register('core/cover', new Cover());
        self::register('core/media-text', new MediaText());
        self::register('core/social-link', new SocialLink());
        self::register('core/navigation-link', new NavigationLink());
        self::register('core/navigation-submenu', new NavigationLink());
    }

    public static function describe(): array
    {
        $out = [];
        foreach (self::$schemas as $name => $schema) {
            $out[$name] = [
                'blockName' => $name,
                'fields'    => $schema->fields(),
            ];
        }
        return $out;
    }
}