private function appendSubscribersBySharings(BaseObject $object, array $alreadySubscribers) { foreach ($object->getSharingsAsReal() as $sharing) { if (!$sharing->isToUser()) { //todo true? I'm right? to skip another continue; } $linkObject = $sharing->getLinkObject(); if ($linkObject) { $alreadySubscribers[$linkObject->getStorageId()] = substr($sharing->getToEntity(), 1); foreach ($this->collectSubscribers($linkObject) as $storageId => $userId) { $alreadySubscribers[$storageId] = $userId; } unset($storageId, $userId); } } unset($sharing); return $alreadySubscribers; }