]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
baculum: Fix removing fileset options subresources
authorMarcin Haba <marcin.haba@bacula.pl>
Wed, 7 Aug 2019 05:06:11 +0000 (07:06 +0200)
committerMarcin Haba <marcin.haba@bacula.pl>
Sat, 14 Dec 2019 14:55:29 +0000 (15:55 +0100)
gui/baculum/protected/Web/Portlets/DirectiveFileSet.php

index 89fdb4b4b911d028ab2c55e01c9749042fc961c1..357d35eaccc2b6baefbd1236428d44f7a15d2476 100644 (file)
@@ -101,6 +101,7 @@ class DirectiveFileSet extends DirectiveListTemplate {
                                $this->setFile($exclude, 'File', $subres['File']);
                        }
                }
+
                $this->RepeaterFileSetIncludes->DataSource = $includes;
                $this->RepeaterFileSetIncludes->dataBind();
                $this->RepeaterFileSetExclude->DataSource = $exclude;
@@ -379,6 +380,17 @@ class DirectiveFileSet extends DirectiveListTemplate {
                                array_push($directive_values['Exclude']['File'], $directive_value);
                        }
                }
+               for ($i = 0; $i < count($directive_values['Include']); $i++) {
+                       if (!is_array($directive_values['Include'][$i]) || !key_exists('Options', $directive_values['Include'][$i])) {
+                               continue;
+                       }
+                       /**
+                        * Options $index can start from value greater than 0, so here reset indexes
+                        * to avoid undefined offset error.
+                        */
+                       $directive_values['Include'][$i]['Options'] = array_values($directive_values['Include'][$i]['Options']);
+               }
+
                return $directive_values;
        }