Skip to content

Commit 42a47d6

Browse files
committed
CustomVarRenderer: Fix illegal offset error if the value is an array
1 parent 778b258 commit 42a47d6

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

library/Director/ProvidedHook/Icingadb/CustomVarRenderer.php

+18-1
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,24 @@ public function renderCustomVarValue(string $key, $value)
274274
return '***';
275275
}
276276

277-
if (isset($this->datalistMaps[$key][$value])) {
277+
if (is_array($value)) {
278+
$renderedValue = [];
279+
foreach ($value as $v) {
280+
if (is_string($v) && isset($this->datalistMaps[$key][$v])) {
281+
$renderedValue[] = new HtmlElement(
282+
'span',
283+
Attributes::create(['title' => $this->datalistMaps[$key][$v] . " [$v]"]),
284+
Text::create($this->datalistMaps[$key][$v])
285+
);
286+
} else {
287+
$renderedValue[] = $v;
288+
}
289+
}
290+
291+
return $renderedValue;
292+
}
293+
294+
if (is_string($value) && isset($this->datalistMaps[$key][$value])) {
278295
return new HtmlElement(
279296
'span',
280297
Attributes::create(['title' => $this->datalistMaps[$key][$value] . " [$value]"]),

library/Director/ProvidedHook/Monitoring/CustomVarRenderer.php

+18-1
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,24 @@ public function renderCustomVarValue($key, $value)
275275
return '***';
276276
}
277277

278-
if (isset($this->datalistMaps[$key][$value])) {
278+
if (is_array($value)) {
279+
$renderedValue = [];
280+
foreach ($value as $v) {
281+
if (is_string($v) && isset($this->datalistMaps[$key][$v])) {
282+
$renderedValue[] = new HtmlElement(
283+
'span',
284+
Attributes::create(['title' => $this->datalistMaps[$key][$v] . " [$v]"]),
285+
Text::create($this->datalistMaps[$key][$v])
286+
);
287+
} else {
288+
$renderedValue[] = $v;
289+
}
290+
}
291+
292+
return $renderedValue;
293+
}
294+
295+
if (is_string($value) && isset($this->datalistMaps[$key][$value])) {
279296
return new HtmlElement(
280297
'span',
281298
Attributes::create(['title' => $this->datalistMaps[$key][$value] . " [$value]"]),

0 commit comments

Comments
 (0)