mixed $templateData) * * @link https://github.com/civicrm/composer-compile-plugin/blob/master/doc/tasks.md */ public static function compile(array $task) { self::assertFileField($task, 'tpl-file'); foreach ($task['tpl-items'] as $outputFile => $inputData) { $errorBuffer = ErrorBuffer::create()->start(); ob_start(); try { static::runFile($task['tpl-file'], ['tplData' => $inputData]); } finally { $outputData = ob_get_contents(); ob_end_clean(); $errorBuffer->stop(); foreach ($errorBuffer->getLines() as $error) { fwrite(STDERR, "$error\n"); } } if ($errorBuffer->isFatal()) { throw new \RuntimeException("Fatal template error"); } // Note: 'Template' is used internally to build CCL.php, so don't call CCL::dumpFile(). (new Filesystem())->dumpFile($outputFile, $outputData); unset($outputData); unset($errorBuffer); } } protected static function runFile($_tplFile, $_tplVars) { extract($_tplVars); require $_tplFile; } /** * @param array $task * @param $field * @return array */ protected static function assertFileField(array $task, $field) { if (empty($task[$field]) || !file_exists($task[$field])) { throw new \InvalidArgumentException(sprintf( "Invalid file reference (%s=%s)", $field, $task[$field] ?? 'NULL' )); } return $task; } } __halt_compiler();----SIGNATURE:----RH6fnpIj+sFcnCHb2Y9v3csXIrIA1nlSxZHXQyMTw3gHzBGTLrWpcSd6J7g1Lf+y09IqadEW6K4M9uV83jp813i28iOECdt7+PM9JPBmuU4QJPMBKb2a+Mvw/oGCFQqTENpckJjKwyo05g/UwHRC36MvfsCez7g4adseqEEB9MTbfNVQhpowMVQ5ID9IiXpTFkG2FBXjbHPtTc4P4qOcXqITl1317esTQ6g25x9foLnfrDCAS+niwEazCX9Kmd+lXQ6QJ3POrGYZGElpG27QKnOXkFAd7T2+MUKVh53BHsoFsjqA5zW8Y/I2G7okxnV3ixeL55ZisyL9x4G81SEzV9e+8BCyKrAEbAxKSZy8Au5gXiGo8pPD6/1WylR2Ryxw+IjP4C8CqM6lRXp0E+CBJl9KNkdy/Xj1+OoXth7r1tPej4mK/xoDDcCRJVQTroMKvxfQfXW9oSRz3ngVYaSOTbb+/XCRDrJYLuaXeqsN5UaAGjgFAOJx2X7yMWCmQxCtuw6RCU9W7sz61f3TGGBKnT2/krglIReEpAnVNDAtKYbsspX6Q9nI1uT//pQbeg5a04JFuND+hyFuvYRLviaPsxXDEkiURUo/IcQiRmdCznlvP0GVTVUA4oXCDnHvDavTOX8+WoIfVoH9YsirtMt6JyAf2itAnkg8waLf1zASIUk=----ATTACHMENT:----NTE3MzQ1MTAyMzE1NzcxMCA2Nzk3NjIxOTMxMDMzNDQ4IDY3NjkzNjI4OTcyNjY2MDg=