From: Marcin Haba Date: Sun, 3 Nov 2019 09:51:31 +0000 (+0100) Subject: baculum: Extend combobox control to support associative arrays as data source X-Git-Tag: Release-9.6.0~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b73e5ca044b02fa5a155ea86be279bef6235a4d;p=thirdparty%2Fbacula.git baculum: Extend combobox control to support associative arrays as data source --- 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();