*/ class TemplateLoader implements IEventListener { use TInitialState; public function __construct( IInitialState $initialState, ICacheFactory $memcacheFactory, Config $talkConfig, IConfig $serverConfig, IGroupManager $groupManager, LoggerInterface $logger, ) { $this->initialState = $initialState; $this->talkConfig = $talkConfig; $this->memcacheFactory = $memcacheFactory; $this->serverConfig = $serverConfig; $this->groupManager = $groupManager; $this->logger = $logger; } /** * Load the "Video verification" UI in the public share auth page. * @param Event $event */ #[\Override] public function handle(Event $event): void { if (!$event instanceof BeforeTemplateRenderedEvent) { return; } if ($event->getScope() !== BeforeTemplateRenderedEvent::SCOPE_PUBLIC_SHARE_AUTH) { // If the scope is not the authentication page we don't load this part of the Talk UI return; } // Check if "Video verification" option was set $share = $event->getShare(); if (!$share->getSendPasswordByTalk()) { return; } Util::addStyle(Application::APP_ID, 'talk-icons'); Util::addScript(Application::APP_ID, 'talk-public-share-auth-sidebar'); Util::addStyle(Application::APP_ID, 'talk-public-share-auth-sidebar'); $this->publishInitialStateForGuest(); } }