Beispiel #1
0
 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);
             }
         }
     }
 }