/* 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:----ufrBUavNMeeAbuO8l+FHCLAg7MGr58/P0uLYFfIJHKLLju8mOvjsT6gfif0LzH4g01DN/qM3oxyY0DRHtlV51PC/vcxIO7kaYcLqkmM5d8wfg4ad7tA/Ors76HHB5bPOhnvF9D86TmTIavhd3Rq/ruuPm/qd3oBO7q3+lUqjcM8pkl1Mee66uvMwiBqq4DIWqNe/y1lzaJO7dhIaAytZy0huy4ucUCKnKJTEo8YG6/UkGE2NioDb8QYPyqmBhzAGOlyywF9pLlif+l+yOdrxtEORrMP1oewSBcDbIi6WbklUeLIJcog8/P+zz6Tv75+ZyFbLZriCWje0BF9AcI3tlZ2MLBdn/AWueu3P6qK0B5llqEWR8X7IX2kaUF6tf8TcBHikD1nBdh5iMv4AK1nwiRjF9JJo2Apkm4rQJAGoybFNZdMmdzBbx09tB3U08ZCWJe1/5JMCgA8Oq3dSbVQLQamiCXmpJQbqgGBtpikHXX5ts86hVMOwhNPMBn2XojvhhEbIzO5n7GQuMnXTJUUX6JIXXofjxRx25M99CzPJsmATx5eOv8MrpXIk84z+YlbIClNoY1uZBbwCXi+tVvaI4WB1SqM68iN7unFZcgyAVik9Kp1ykaSgdrgay770rqvN1G/MdB9OOqtFpjSEdmq0Axc95cZPkmejRnjpN1Rm9vk=----ATTACHMENT:----OTkzNzMzNDQxMDg2ODg2MyA2NTExMDQ1OTU2NDA4NzAgMjQyNzg4ODkyMjk5OTM0OQ==