104fd306cSNickeau<?php 204fd306cSNickeau 304fd306cSNickeaunamespace ComboStrap\Tag; 404fd306cSNickeau 504fd306cSNickeauuse action_plugin_combo_instructionspostprocessing; 604fd306cSNickeauuse ComboStrap\CallStack; 704fd306cSNickeauuse ComboStrap\ContainerTag; 804fd306cSNickeauuse ComboStrap\DataType; 904fd306cSNickeauuse ComboStrap\EditButton; 1004fd306cSNickeauuse ComboStrap\ExceptionBadArgument; 1104fd306cSNickeauuse ComboStrap\ExceptionNotFound; 1204fd306cSNickeauuse ComboStrap\ExecutionContext; 1304fd306cSNickeauuse ComboStrap\Site; 1404fd306cSNickeauuse ComboStrap\Snippet; 1504fd306cSNickeauuse ComboStrap\Template\TemplateForComponent; 1604fd306cSNickeauuse ComboStrap\TemplateEngine; 1704fd306cSNickeauuse ComboStrap\TagAttribute\Hero; 1804fd306cSNickeauuse ComboStrap\LogUtility; 1904fd306cSNickeauuse ComboStrap\PluginUtility; 2004fd306cSNickeauuse ComboStrap\SiteConfig; 2104fd306cSNickeauuse ComboStrap\TagAttributes; 2204fd306cSNickeau 2304fd306cSNickeau/** 2404fd306cSNickeau * 2504fd306cSNickeau */ 2604fd306cSNickeauclass SubscribeTag 2704fd306cSNickeau{ 2804fd306cSNickeau 2904fd306cSNickeau 3004fd306cSNickeau const LOGICAL_TAG = "subscribe"; 3104fd306cSNickeau const LIST_ID_ATTRIBUTE = "list-id"; 3204fd306cSNickeau 3304fd306cSNickeau const SIDE_BY_SIDE_TYPE = "side-by-side"; 3404fd306cSNickeau 3504fd306cSNickeau 3604fd306cSNickeau public static function renderEnterXhtml(TagAttributes $attributes): string 3704fd306cSNickeau { 3804fd306cSNickeau 3904fd306cSNickeau $executionContext = ExecutionContext::getActualOrCreateFromEnv(); 4004fd306cSNickeau $snippetSystem = $executionContext->getSnippetSystem(); 4104fd306cSNickeau $snippetSystem->attachJavascriptComboLibrary(); 4204fd306cSNickeau $subscribeTag = self::LOGICAL_TAG; 4304fd306cSNickeau $snippetSystem->attachJavascriptFromComponentId($subscribeTag) 4404fd306cSNickeau ->setFormat(Snippet::IIFE_FORMAT); 4504fd306cSNickeau $snippetSystem->attachCssInternalStyleSheet($subscribeTag); 4604fd306cSNickeau 4704fd306cSNickeau $success = TemplateForComponent::create($subscribeTag . "-success")->render([]); 4804fd306cSNickeau $data['list-value'] = $attributes->getValueAndRemove(self::LIST_ID_ATTRIBUTE); 4904fd306cSNickeau $data['list-name'] = "listGuid"; 5004fd306cSNickeau $data['email-name'] = "subscriberEmail"; 5104fd306cSNickeau $data['email-id'] = $executionContext->getIdManager()->generateNewHtmlIdForComponent("$subscribeTag-email"); 52*8013c4e8Sgerardnico $data['action'] = "https://api.combostrap.com/combo/public/v1.0/list/registration"; 5304fd306cSNickeau $data['success-content'] = $success; 5404fd306cSNickeau try { 5504fd306cSNickeau $data['primary-color'] = $executionContext->getConfig()->getPrimaryColor()->toCssValue(); 5604fd306cSNickeau } catch (ExceptionNotFound $e) { 5704fd306cSNickeau // none 5804fd306cSNickeau } 5904fd306cSNickeau $form = TemplateForComponent::create($subscribeTag . "-form")->render($data); 6004fd306cSNickeau return $attributes->toHtmlEnterTag("div") . $form . '</div>'; 6104fd306cSNickeau } 6204fd306cSNickeau 6304fd306cSNickeau 6404fd306cSNickeau} 65