public function get_results() { $qb = $this->_prepare_qb(); $results = $qb->execute(); if ($results === false || !is_array($results)) { throw new midcom_error('Error when executing QB'); } $items = array(); foreach ($results as $object) { $item = array('id' => $object->{$this->_request['id_field']}, 'label' => midcom_helper_datamanager2_widget_autocomplete::create_item_label($object, $this->_request['result_headers'], $this->_request['get_label_for'])); if (!empty($this->_request['categorize_by_parent_label'])) { $item['category'] = ''; if ($parent = $object->get_parent()) { $item['category'] = $parent->get_label(); } } $item['value'] = $item['label']; $items[] = $item; } usort($items, array('midcom_helper_datamanager2_widget_autocomplete', 'sort_items')); return $items; }