/** * Build data array, data is read from cache except dcl object itself * * @param $a_entity * @param $a_ids */ protected function _readData($a_entity, $a_ids) { switch ($a_entity) { case 'dcl': foreach ($a_ids as $dcl_id) { if (ilObject::_lookupType($dcl_id) == 'dcl') { $obj = new ilObjDataCollection($dcl_id, false); $data = array('id' => $dcl_id, 'title' => $obj->getTitle(), 'description' => $obj->getDescription(), 'main_table_id' => $obj->getMainTableId(), 'is_online' => $obj->getOnline(), 'rating' => $obj->getRating(), 'public_notes' => $obj->getPublicNotes(), 'approval' => $obj->getApproval(), 'notification' => $obj->getNotification()); $this->caches['dcl'][$dcl_id] = $data; $this->data[] = $data; } } break; default: $data = $this->getCache($a_entity); foreach ($a_ids as $id) { $this->data[] = $data[$id]; } } }