You are here

protected function EntityAPIControllerExportable::applyConditions in Entity API 7

2 calls to EntityAPIControllerExportable::applyConditions()
EntityAPIControllerExportable::cacheGet in includes/entity.controller.inc
Overridden.
EntityAPIControllerExportable::cacheGetByName in includes/entity.controller.inc
Like cacheGet() but keyed by name.

File

includes/entity.controller.inc, line 800
Provides a controller building upon the core controller but providing more features like full CRUD functionality.

Class

EntityAPIControllerExportable
A controller implementing exportables stored in the database.

Code

protected function applyConditions($entities, $conditions = array()) {
  if ($conditions) {
    foreach ($entities as $key => $entity) {
      $entity_values = (array) $entity;

      // We cannot use array_diff_assoc() here because condition values can
      // also be arrays, e.g. '$conditions = array('status' => array(1, 2))'.
      foreach ($conditions as $condition_key => $condition_value) {
        if (is_array($condition_value)) {
          if (!isset($entity_values[$condition_key]) || !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]);
        }
      }
    }
  }
  return $entities;
}