From 1b73e5ca044b02fa5a155ea86be279bef6235a4d Mon Sep 17 00:00:00 2001 From: Marcin Haba Date: Sun, 3 Nov 2019 10:51:31 +0100 Subject: [PATCH] baculum: Extend combobox control to support associative arrays as data source --- .../protected/Web/Portlets/DirectiveComboBox.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gui/baculum/protected/Web/Portlets/DirectiveComboBox.php b/gui/baculum/protected/Web/Portlets/DirectiveComboBox.php index 2c1a2001e..6cd148ffe 100644 --- a/gui/baculum/protected/Web/Portlets/DirectiveComboBox.php +++ b/gui/baculum/protected/Web/Portlets/DirectiveComboBox.php @@ -64,8 +64,16 @@ class DirectiveComboBox extends DirectiveTemplate { $items = $resource_names[$resource]; } } - array_unshift($items, ''); - $this->Directive->dataSource = array_combine($items, $items); + reset($items); + if (key($items) === 0) { + // indexed array as data source + array_unshift($items, ''); + $items = array_combine($items, $items); + } elseif (is_string(key($items))) { + // associative array as data source + $items = array_merge(array('' => ''), $items); + } + $this->Directive->DataSource = $items; $directive_value = $this->getDirectiveValue(); $default_value = $this->getDefaultValue(); -- 2.47.3