From c7c1c55c8e4c2e72c84ebd6e9212c4faa25ef9ee Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Tue, 19 Sep 2017 16:35:20 +0200 Subject: [PATCH] support value= attribute for model optiondata, for https://github.com/opnsense/core/issues/1832 --- src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php b/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php index a4662ba60..95dd37299 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php @@ -96,7 +96,13 @@ abstract class BaseModel } else { $result = array(); foreach ($xmlNode->children() as $childNode) { - $result[$childNode->getName()] = $this->parseOptionData($childNode); + // item keys can be overwritten using value attributes + if (empty($childNode->attributes()['value'])) { + $itemKey = (string)$childNode->getName(); + } else { + $itemKey = (string)$childNode->attributes()['value']; + } + $result[$itemKey] = $this->parseOptionData($childNode); } } return $result;