fix(cli): resolve display name from sys.ini #224

Merged
jmiller merged 1 commits from dev into main 2026-05-30 17:14:04 +00:00
+22 -14
View File
@@ -200,22 +200,30 @@ if ($manifest !== null) {
$targetPlatform = "<targetplatform name=\"{$detectedPlatform}\" version=\".*\" />";
}
// Resolve language key names (e.g. PLG_SYSTEM_MOKOJOOMTOS)
if (preg_match('/^[A-Z_]+$/', $extName)) {
$iniFiles = [];
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($root, RecursiveDirectoryIterator::SKIP_DOTS)
);
foreach ($iterator as $file) {
if (preg_match('/\.sys\.ini$/i', $file->getFilename())) {
$iniFiles[] = $file->getPathname();
}
// Resolve display name from .sys.ini language files
$iniFiles = [];
$langIterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($root, RecursiveDirectoryIterator::SKIP_DOTS)
);
foreach ($langIterator as $file) {
if (preg_match('/\.sys\.ini$/i', $file->getFilename())) {
$iniFiles[] = $file->getPathname();
}
foreach ($iniFiles as $ini) {
$content = file_get_contents($ini);
if (preg_match('/^' . preg_quote($extName, '/') . '="([^"]+)"/m', $content, $m)) {
}
$keyCandidates = [$extName];
if (!preg_match('/^[A-Z_]+$/', $extName)) {
$upper = strtoupper(str_replace([' ', '-'], '_', $extName));
$keyCandidates[] = "TPL_{$upper}";
$keyCandidates[] = "MOD_{$upper}";
$keyCandidates[] = "COM_{$upper}";
$keyCandidates[] = "PLG_{$upper}";
}
foreach ($iniFiles as $ini) {
$content = file_get_contents($ini);
foreach ($keyCandidates as $key) {
if (preg_match('/^' . preg_quote($key, '/') . '="([^"]+)"/m', $content, $m)) {
$extName = $m[1];
break;
break 2;
}
}
}