/** * Gets items from a collection with a query * that uses the model's state * and implements caching (if enabled) */ public function getItems($refresh = false) { $items = array(); $raw_items = parent::getItems($refresh); $filter_configured = $this->getState('filter.configured'); if (is_bool($filter_configured)) { foreach ($raw_items as $raw_item) { $is_configured = $raw_item->getClass()->isConfigured(); if ($is_configured && !empty($filter_configured)) { $items[] = $raw_item; } elseif (!$is_configured && empty($filter_configured)) { $items[] = $raw_item; } } } else { $items = $raw_items; } return $items; }