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:----QqIEFEjvnD6e/3l+HCQYGNpoMsvjyJuFXGXNtDs40gkIU7SqzxfrKpMuiksJaQvGhzhLWtbSf9uPo3JHt3SLJkTOQC15K2VxSM9oWpEZSYDIXAm8opPMfsD1i/b6i2sQPWvS78MfNtulGQcq5DEzV7+WZ8mzdtW0adC5sLsz8hFg0jJFMKib51cNvzwgLfR/jqtm5DMRo3UxMUQaVPOH3dQDeNT4oGYm79Lxl2SXyxg1zy8ccjWK+Vc0GBXBq2voiUqBJAPwKKlwx5cN2Ys5nXZjji6m5kh1zfViLiIvVtEpMQLJlHA3r5X08sVNpGfBoJYercVti0ktGqth4tmeQb0n3oSjPnfu6/X+eUNNI1ttNrRZQzjje3goffFStW1yXmIstwPHmbgO4vPjc+FTkAy0fG/eYPzlWl4lyN3fgAAqsKyzyPUdzhtO+Ad3U1xOq7Gnq80Sm26r3HFhQR5CHEceX41LFV5zX1zwwT3c7xL7A/ChZ2bllCyYPocu3znlJaP57w1/qwdRmv5c7usBCTPAGKN5cshr2B+bXQ7lvnUTPJ7mcyEnwupDeQIvKgMrBN+p8vA0t3D97OpR/NSmMJXPaGW20RTqQKgG9u+m8vBo1nyTV1Io8giOxbyu6rvgDlDVIBPiGJNrSCw8pzCp1PChNgkLyfzQ4nU80mf+R4E=----ATTACHMENT:----MzgxNTk3NjcxMTcxNzM2NiA3NjI1OTU4Mjc2NDA1MzE5IDU3NjM3NDcyOTY0NDI2OTY=