diff --git a/api/src/Contacts/Ads.php b/api/src/Contacts/Ads.php index 7bc3d61e84..3b2e367346 100644 --- a/api/src/Contacts/Ads.php +++ b/api/src/Contacts/Ads.php @@ -150,6 +150,7 @@ class Ads extends Ldap * Return LDAP filter for contact id * * @param string $contact_id + * @throws Api\Exception\AssertionFailed if $contact_id is no valid GUID * @return string */ protected function id_filter($contact_id) diff --git a/api/src/Contacts/Ldap.php b/api/src/Contacts/Ldap.php index 5de9c49d4b..30aef6d79a 100644 --- a/api/src/Contacts/Ldap.php +++ b/api/src/Contacts/Ldap.php @@ -382,6 +382,7 @@ class Ldap * Return LDAP filter for (multiple) contact ids * * @param array|string $ids + * @throws Api\Exception\AssertionFailed if $contact_id is no valid GUID (for ADS!) * @return string */ protected function ids_filter($ids) @@ -809,7 +810,13 @@ class Ldap { if (in_array($egwSearchKey, array('id','contact_id'))) { - $searchFilter .= $this->ids_filter($searchValue); + try { + $searchFilter .= $this->ids_filter($searchValue); + } + // catch and ignore exception caused by id not being a valid GUID + catch(Api\Exception\AssertionFailed $e) { + unset($e); + } continue; } foreach($this->schema2egw as $mapping)