]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
baculum: Extend combobox control to support associative arrays as data source
authorMarcin Haba <marcin.haba@bacula.pl>
Sun, 3 Nov 2019 09:51:31 +0000 (10:51 +0100)
committerMarcin Haba <marcin.haba@bacula.pl>
Sat, 14 Dec 2019 14:59:52 +0000 (15:59 +0100)
gui/baculum/protected/Web/Portlets/DirectiveComboBox.php

index 2c1a2001ec472d57cb651f8775c172d6cac1e410..6cd148ffe6272649c9033e8d2d7a76106e1c9544 100644 (file)
@@ -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();