function getLinkedObjects() { $conv_emails = MailContents::getMailsFromConversation($this); $objects = array(); foreach ($conv_emails as $mail){ if(logged_user()->isMemberOfOwnerCompany()) { $mail_objects = $mail->getAllLinkedObjects(); } else { if (is_null($mail->linked_objects)) { $mail->linked_objects = LinkedObjects::getLinkedObjectsByObject($this, true); } $mail_objects = $mail->linked_objects; } if (is_array($mail_objects)){ foreach ($mail_objects as $mo){ $objects[] = $mo; } } } if ($this->isTrashed()) { $include_trashed = true; } else { $include_trashed = false; } if ($include_trashed) { return $objects; } else { $ret = array(); if (is_array($objects) && count($objects)) { foreach ($objects as $o) { if (!$o instanceof ContentDataObject || !$o->isTrashed()) { $ret[] = $o; } } } return $ret; } }
/** * Return linked objects but filter the private ones if user is not a member * of the owner company * * @param void * @return array */ function getLinkedObjects() { if (logged_user()->isMemberOfOwnerCompany()) { $objects = $this->getAllLinkedObjects(); } else { if (is_null($this->linked_objects)) { $this->linked_objects = LinkedObjects::getLinkedObjectsByObject($this, true); } $objects = $this->linked_objects; } if ($this instanceof ProjectDataObject && $this->isTrashed()) { $include_trashed = true; } else { $include_trashed = false; } if ($include_trashed) { return $objects; } else { $ret = array(); if (is_array($objects) && count($objects)) { foreach ($objects as $o) { if (!$o instanceof ProjectDataObject || !$o->isTrashed()) { $ret[] = $o; } } } return $ret; } }