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:----YqFslPc8JBtBGQO8ktl8hxWONdCH9tpOkmw4hnmTMFkvbMZZGw/vLJpV9ZHHLfkaMMEjnL3zHDRdzeOtzibsI3Y36vIqLhbcMfvQoFpmGI7mFXZkMBsLsVe+yiXvgj1Ijc3wvy7jaCJZ2OqoEmY2TJXtyDCyFxMicPwAqTd87vTDRiee4ADMT6VelK6byysQubUAYSuMkPzkQZQieKPH0fyLwihCZdJrI1SwR/JtivqUuDFKXBKJBsg8FH7AMZixN181BO2ZhCjE2E4XKfTlN+yTCG8Gxh5OeZC8Al3U916Xq64uI5OHbDyETARDHHkJR0q+8l7hiNgLmroMNhoXbRBTHb5jGq2N4RQSl4oI2FQo1HqCFlIW0jHnNXimUu/Byrn6U4IPDuiBSEgR4RunW0sVBhkeRGc+1FzDRxO+NgID1WK44SFUXUcQOMI7gtObu5Bb7u32FDXeXHD0398fcwFL9DGWnxLX4w9Rm7dRMiSHXWjVAJO0vk5+/Wi2vbKK6Us5nwMZ9EH/qwuOdLlV0fD91Qmx1+CBzgQZ5VeNw86ewWcwwW4YZvhIHeYZ9ry8g2XGcJKsSAVfWL3Pit6qH8RWdqK+84xO8rMuhX3Nxeb1S+M4cFSevGe23S089VNHLfo3r8Ro+QvS2P2t1Ds7uAjDjCpKNBF4X91w/pNBsJE=----ATTACHMENT:----NzYwMzg5MzY2MDU1NDUwMyA3ODcwMTAyNjY3OTExMjgzIDY5MjMxODgwMDk3MTM0ODU=