public static function OnSocNetFeaturesUpdate($id, $fields) { static $updateGroupFilesFeatures = false; if (!$updateGroupFilesFeatures && isset($fields['ACTIVE']) && $fields['ACTIVE'] == 'N') { $features = CSocNetFeatures::getById($id); if ($features && isset($features['FEATURE']) && $features['FEATURE'] == 'files' && $features['ENTITY_TYPE'] == 'G' && $features['ENTITY_ID']) { $updateGroupFilesFeatures = true; $groupId = $features['ENTITY_ID']; if (!empty($groupId)) { $dispatcher = new \Bitrix\Webdav\InviteDispatcher(); $attachObjectType = CWebDavSymlinkHelper::ENTITY_TYPE_GROUP; $attachObjectId = (int) $groupId; $inviteComponentParams = array('attachObject' => array('id' => $attachObjectId, 'type' => $attachObjectType), 'unshareUserIds' => array()); $response = $dispatcher->processActionUnshare($inviteComponentParams); if ($response['status'] == $dispatcher::STATUS_SUCCESS) { } } } } elseif (isset($fields['ACTIVE']) && $fields['ACTIVE'] == 'Y') { $features = CSocNetFeatures::getById($id); if ($features && isset($features['FEATURE']) && $features['FEATURE'] == 'files' && $features['ENTITY_TYPE'] == 'G' && $features['ENTITY_ID']) { $groupId = $features['ENTITY_ID']; //add section to files in this group! $groupSectionCreateSuccess = (bool) self::groupSectionCreate($groupId); } } CIBlockWebdavSocnet::ClearTagCache('wd_socnet'); }
public static function onSocNetFeaturesUpdate($id, $fields) { static $updateGroupFilesFeatures = false; if (!$updateGroupFilesFeatures && isset($fields['ACTIVE']) && $fields['ACTIVE'] == 'N') { /** @noinspection PhpDynamicAsStaticMethodCallInspection */ $features = \CSocNetFeatures::getById($id); if ($features && isset($features['FEATURE']) && $features['FEATURE'] == 'files' && $features['ENTITY_TYPE'] == 'G' && $features['ENTITY_ID']) { $updateGroupFilesFeatures = true; $groupId = $features['ENTITY_ID']; if (empty($groupId)) { return; } $storage = Driver::getInstance()->getStorageByGroupId($groupId); if (!$storage) { return; } $userId = self::getActivityUserId(); foreach (Sharing::getModelList(array('filter' => array('REAL_OBJECT_ID' => (int) $storage->getRootObjectId(), 'REAL_STORAGE_ID' => (int) $storage->getId()))) as $sharing) { $sharing->delete($userId); } unset($sharing); } } elseif (isset($fields['ACTIVE']) && $fields['ACTIVE'] == 'Y') { /** @noinspection PhpDynamicAsStaticMethodCallInspection */ $features = \CSocNetFeatures::getById($id); if ($features && isset($features['FEATURE']) && $features['FEATURE'] == 'files' && $features['ENTITY_TYPE'] == 'G' && $features['ENTITY_ID']) { $groupId = $features['ENTITY_ID']; if (!empty($groupId)) { Driver::getInstance()->addGroupStorage($groupId); } } } }