/** * Get assigned AdvancedMDRecord objects * * @param bool $a_only_active True if only active AMDRecords are returned * * @return array */ public function getAssignedAdvancedMDRecords($a_only_active = false) { $active = $a_only_active ? 1 : 0; // Cache key if (is_array($this->amd_records_assigned[$active])) { return $this->amd_records_assigned[$active]; } $this->amd_records_assigned[$active] = array(); $sql = 'SELECT * FROM orgu_types_adv_md_rec WHERE type_id = ' . $this->db->quote($this->getId(), 'integer'); $set = $this->db->query($sql); while ($rec = $this->db->fetchObject($set)) { $amd_record = new ilAdvancedMDRecord($rec->rec_id); if ($a_only_active) { if ($amd_record->isActive()) { $this->amd_records_assigned[1][] = $amd_record; } } else { $this->amd_records_assigned[0][] = $amd_record; } } return $this->amd_records_assigned[$active]; }