From c5a21e9bef7b31d7bf6b046fbe3270527cf9a6d0 Mon Sep 17 00:00:00 2001 From: Matthias Schmidt Date: Thu, 2 Aug 2018 17:56:57 +0200 Subject: [PATCH] Allow more parameter types for `ValueFormFieldDependency::values()` See #2509 --- .../ValueFormFieldDependency.class.php | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/wcfsetup/install/files/lib/system/form/builder/field/dependency/ValueFormFieldDependency.class.php b/wcfsetup/install/files/lib/system/form/builder/field/dependency/ValueFormFieldDependency.class.php index 9d06283744..9fbffd543c 100644 --- a/wcfsetup/install/files/lib/system/form/builder/field/dependency/ValueFormFieldDependency.class.php +++ b/wcfsetup/install/files/lib/system/form/builder/field/dependency/ValueFormFieldDependency.class.php @@ -1,5 +1,6 @@ objectIDs === null) { + $values->readObjects(); + } + + $dboValues = []; + foreach ($values as $object) { + if (!$object::getDatabaseTableIndexIsIdentity()) { + throw new \InvalidArgumentException("The database objects in the passed list must must have an index that identifies the objects."); + } + + $dboValues[] = $object->getObjectID(); + } + + $values = $dboValues; + } + if (empty($values)) { throw new \InvalidArgumentException("Given values are empty."); } -- 2.20.1