示例#1
0
	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;
     }
 }