diff --git a/includes/entity.controller.inc b/includes/entity.controller.inc index 1a2812e..ff14d04 100644 --- a/includes/entity.controller.inc +++ b/includes/entity.controller.inc @@ -621,8 +621,18 @@ class EntityAPIControllerExportable extends EntityAPIController { if ($conditions) { foreach ($entities as $key => $entity) { $entity_values = (array) $entity; - if (array_diff_assoc($conditions, $entity_values)) { - unset($entities[$key]); + foreach ($conditions as $condition_key => $condition_value) { + if (is_array($condition_value)) { + if (!isset($entity_values[$condition_key])) { + unset($entities[$key]); + } + elseif (!in_array($entity_values[$condition_key], $condition_value)) { + unset($entities[$key]); + } + } + elseif (!isset($entity_values[$condition_key]) || $entity_values[$condition_key] != $condition_value) { + unset($entities[$key]); + } } } }