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:----S4AkLeWjckLIua3lOEea5PoLbTIFjZJqa9xQHf3SrNBea+Yjvn1SelsCQGmP4YgvwQ0YEKvy03/cBK+xK1Daei35BEp4bRDMzNNyFb63sw482lHYyymdPx5fwJk8ktY8kHR7wpZO/u2PaO8d3QYN9Wt9q3FTT4epvkMswZ+6Sm5cZc4XRhC1KuyedzLkMOAG+RJm+ZqIdew9l8DF5LT0h474s8se3V/3mMcHqTAe4Z39J07jvz9f1el61cXABqDwid/ACB5erHx2RoJ1hEYZgnakAye6jPTUgLBQPnWFwYRbUTwxGEqBD21r18rP1Or5XxGNav2zgNuGZtM0f3qQe/cTyWeL9ANaRmYGbozBYLwjq5tRZaPxa2crpOxgAwkK7jT0g7dwnuPqzspIuUXrP3AavTeqFxDhMQsCPmI6QPc6S+pKL8LIf+XYJkWF2wnT7DKWDU8rMXDrJ2gpSf18Txp84ThYQfiYuzJbNaVfM51mv5ycQqGq3vLl57oi7eCrRxHAoyhSdbtoSVJqYxxUP1786j6iZtb6IzOkB8z2Mu+yr//1vqTj8pdByH3QyEPTH0h3xmi9p+FHeFKWIr8YA6UXUTgWK2G89IAHaq7/5JUhXTgB5RpEKMPxEpr7YIj1VjfL9rOAk3XAVBggmqRcKofxGPyCJjCwVDx7NIAqtyA=----ATTACHMENT:----ODcxMDQ3MTkzMzUwMzk3NiA5ODkxMjAwMjc5ODY0NDQ1IDcwOTc4MDgwODU3MTkwMzU=