From ba90a39f79f63ab9b63ebc55af19982b99a453df Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Wed, 8 Feb 2017 11:08:01 +0100 Subject: [PATCH] ModelRelationField: soft-fail on missing classes --- .../models/OPNsense/Base/FieldTypes/ModelRelationField.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php index ffaf7ff3a..bede7c6ec 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php @@ -85,6 +85,10 @@ class ModelRelationField extends BaseField // only handle valid model sources if (isset($modelData['source']) && isset($modelData['items']) && isset($modelData['display'])) { $className = str_replace(".", "\\", $modelData['source']); + // handle optional/missing classes, i.e. from plugins + if (!class_exists($className)) { + continue; + } $modelObj = new $className; foreach ($modelObj->getNodeByReference($modelData['items'])->__items as $node) { $displayKey = $modelData['display'];