From 272c3b9d946deae290dac52210f8ea531655bd66 Mon Sep 17 00:00:00 2001 From: Netkas Date: Thu, 12 Jan 2023 15:00:39 -0500 Subject: [PATCH] Added handler for arrays in \ncc\Classes\NccExtension > PackageCompiler > compilePackageConstants() --- .../Classes/NccExtension/PackageCompiler.php | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/ncc/Classes/NccExtension/PackageCompiler.php b/src/ncc/Classes/NccExtension/PackageCompiler.php index 5d824ff..bc90f78 100644 --- a/src/ncc/Classes/NccExtension/PackageCompiler.php +++ b/src/ncc/Classes/NccExtension/PackageCompiler.php @@ -262,11 +262,26 @@ $options = []; foreach($package->Header->Options as $name => $value) { - Console::outDebug(sprintf('compiling options const %s (%s)', $name, implode(', ', array_keys($refs)))); - $options[$name] = self::compileConstants($value, $refs); - } - $package->Header->Options = $options; + if(is_array($value)) + { + $options[$name] = []; + foreach($value as $key => $val) + { + if(!is_string($val)) + continue; + Console::outDebug(sprintf('compiling option %s.%s (%s)', $name, $key, implode(', ', array_keys($refs)))); + $options[$name][$key] = self::compileConstants($val, $refs); + } + } + else + { + Console::outDebug(sprintf('compiling option %s (%s)', $name, implode(', ', array_keys($refs)))); + $options[$name] = self::compileConstants((string)$value, $refs); + } + } + + $package->Header->Options = $options; $package->Header->RuntimeConstants = $compiled_constants; }