public static function onSocNetUserToGroupDelete($id, $fields) { if (isset($fields['ROLE']) && ($fields['ROLE'] == SONET_ROLES_USER || $fields['ROLE'] == SONET_ROLES_MODERATOR || $fields['ROLE'] == SONET_ROLES_OWNER)) { $userId = $fields['USER_ID']; $groupId = $fields['GROUP_ID']; if (empty($userId) || empty($groupId)) { return; } $storage = Driver::getInstance()->getStorageByGroupId($groupId); if (!$storage) { return; } /** @var Sharing $sharing */ $sharing = Sharing::load(array('=TO_ENTITY' => Sharing::CODE_USER . $userId, 'REAL_OBJECT_ID' => $storage->getRootObjectId(), 'REAL_STORAGE_ID' => $storage->getId())); if (!$sharing) { return; } $sharing->delete(self::getActivityUserId()); } }
/** * Deletes folder and all descendants objects. * @param int $deletedBy Id of user (or SystemUser::SYSTEM_USER_ID). * @throws \Bitrix\Main\ArgumentException * @throws \Bitrix\Main\ArgumentNullException * @return bool */ public function deleteTree($deletedBy) { /** @var Sharing $sharing */ $sharing = Sharing::load(array('LINK_OBJECT_ID' => $this->getId())); if ($sharing) { $sharing->decline($deletedBy, false); } return parent::deleteNonRecursive($deletedBy); }