attachments = new ArrayCollection(); } /******************************************************************************** * * Getters * *********************************************************************************/ /** * Get all different attachement types of the attachements of this element. * * @return AttachmentType[] the attachement types as a one-dimensional array of AttachementType objects, * sorted by their names * * @throws Exception if there was an error */ public function getAttachmentTypes(): ?array { return $this->attachmentTypes; } /** * Get all attachements of this element / Get the element's attachements with a specific type. * * @param int $type_id * if NULL, all attachements of this element will be returned * * if this is a number > 0, only attachements with this type ID will be returned * @param bool $only_table_attachements if true, only attachements with "show_in_table == true" * * @return Collection|Attachment[] the attachements as a one-dimensional array of Attachement objects * * @throws Exception if there was an error */ public function getAttachments($type_id = null, bool $only_table_attachements = false) : Collection { if ($only_table_attachements || $type_id) { $attachements = $this->attachments; foreach ($attachements as $key => $attachement) { if (($only_table_attachements && (!$attachement->getShowInTable())) || ($type_id && ($attachement->getType()->getID() !== $type_id))) { unset($attachements[$key]); } } return $attachements; } return $this->attachments; } }