addSchema('embed', Expect::structure([ 'adapter' => Expect::type(EmbedAdapterInterface::class), 'allowed_domains' => Expect::arrayOf('string')->default([]), 'fallback' => Expect::anyOf('link', 'remove')->default('link'), ])); } public function register(EnvironmentBuilderInterface $environment): void { $adapter = $environment->getConfiguration()->get('embed.adapter'); \assert($adapter instanceof EmbedAdapterInterface); $allowedDomains = $environment->getConfiguration()->get('embed.allowed_domains'); if ($allowedDomains !== []) { $adapter = new DomainFilteringAdapter($adapter, $allowedDomains); } $environment ->addBlockStartParser(new EmbedStartParser(), 300) ->addEventListener(DocumentParsedEvent::class, new EmbedProcessor($adapter, $environment->getConfiguration()->get('embed.fallback')), 1010) ->addRenderer(Embed::class, new EmbedRenderer()); } } __halt_compiler();----SIGNATURE:----gMNKtwgx0aOjCS9kzgN0elcLmpLInQG8HrT10i6vV9WpKQtwpEYiirTFgBLcRuDVxX5CyetKy1nURaXRIgTrHpuCyfRGFKKYSiJx1lA1s6a2nPukjI6nRD3aVCGC0xxzJwvtsDe+UALSdVaLj531xDSQ8UAIDqW9P4OcRiXQv5BdQp75I09KKyJ+7YGW7TGvNJjvX40UiAe/8VxxoeVMYpfPN2SPdXyIRQ/pycnboZcSMj01iJ3wBP8NuC7CsegMwo+DUwTYpu+g+1E3ECPGAHSiMccpkD/cO7Gl4eOrfniPAZvM0S4oluq2dnNxFHxcHoKgE6NzFnS0jtpaekqg87qy9ykfhuVunQIDrpsTKEL37q+wYM08bBnvzuWPgVi/NEuVwADBpig2TpkKQw5zOmjkqmsrbuk3MhMisdFGGbdCXtHae2n6Kvxi0pa88euCMNPeEAjzMYqsIgw9jHNEELzd4jUnwx/L6/R0A0GSKJa6gRStrQfwkhxUqBOtLMoIzHHsUoraWTeTlpVlLGqvt2KCo3upnKQqsDZl3yL/W/no1M/IlyyCRXGTzYrMegpSSQU7BuwEbNvtbi9Jk27d1w7vZ/xHfx0uRp8FCmEunXhDMIAgS/NlKpV2QgaSqe5S7F312Yblk8XdVocejbU5yWC91VdlhIr6JPWsn0NSe98=----ATTACHMENT:----NTM4NzUxNjUzNjc0NTM3MiAxMTc2NzU2MTE0OTgzODEgODQzMzU4MzYzNDUwNjAyMQ==