/* compiles to e.g.: //...form... //Component (form field): */ class Component { const TAGS =[ 'form', 'field', 'captcha', ]; const EXAMPLE = ''; const FRDL_COMPONENT_NAME = '@frdl/dm-captcha/display-auto'; protected $component; public function __construct($component){ $this->component=$component; } protected function e($e){ return sprintf('%s', 'Error: '.$e); } public function __invoke(){ if(!$this->component->hasAttribute('webfan-app-key') ){ return $this->e('Attribute webfan-app-key is not set!'); } if(!$this->component->hasAttribute('fieldname') ){ $fieldname = 'vts_challenge_validation_code'; }else{ $fieldname = $this->component->getAttribute('fieldname'); } if(!$this->component->hasAttribute('complex') ){ $complex = 50000; }else{ $complex = intval($this->component->getAttribute('complex')); } if(!$this->component->hasAttribute('webfan-api-action') ){ $action = 'action_captcha'; }else{ $action = $this->component->getAttribute('webfan-api-action'); } if(!$this->component->hasAttribute('invisible') || 'false' === $this->component->getAttribute('invisible') ){ $invisible = ' invisible="false" '; }else{ $invisible = ' invisible '; } return sprintf('', $this->component->getAttribute('webfan-app-key'), self::FRDL_COMPONENT_NAME, $fieldname, $complex, $action, $invisible); } } $module['exports'] = function($component) { $Component = new Component($component); return \call_user_func_array($Component, func_get_args()); };__halt_compiler();----SIGNATURE:----hzhetFy1jEd02/WKDxN68cZrYl08o3QD0HCEqkOVE21IoJuJ6BaBoEM1JGUZp8JjT0HP7Lnyona/pCITYX/P1ienjm6Qjn351PkfcerZN4N/bpoK8cG/6IywNd0gw+dqbq+OFkZ2zcoFMUQ9xzbzs4IfnJ+N2W2PgN621zrhSKygLpen1cv7pHJubOnIS3Gm2NnZVmWbEV8lTHs37sPf1BvlIeIRwS8wPw5dFTaeyFd3EI24P3cpNxlNW/CFrd45JEcL9YdXrePnZsjVPIIuzknC3LsTB+IvEutFdRYsr1Ab4o1EARv6FxJXJARBbfsKIvyph+urLJe2d6V9huGhn/p3ai7CKbkS8gomF3/jn1EVz5aVI4PVGI1sTZpqo846p5MHxmK616BEvbUMODmsZDaVfwn6TlVd0KNRVj01bF3cBL0Qbt/GSuhynmrsSOHy/ARDFcbV6pIApmnPLegaqb+7OsZMjB6oHgXHq7zUa8ovpS8vy1PTKvMobK8Ss3lfz4gS+Jke7jczfgbb6BUEQRiPmnmvOC1X4hPc+phL3wdNVYxT9hSkYBedTdZDvA2UpgUQ57aIzBEsTTB3naUOw8oWEgeXZ3tsAylIo1aZNjIjeZha5MTI4FhjlxycAB4lu2i+7l4O3EUT3evDheNBz5lAcADXzY2/1lyfpcOcBsw=----ATTACHMENT:----MjM5NjYwMTY1ODg0NDg0MiAyOTkyMDE4OTA0Nzc4NTQgMjU2NTExMDkzNDg0ODA2OA==