Example #1
0
             }
         }
         $uploadControlCID = isset($data['uploadControlCID']) ? strval($data['uploadControlCID']) : '';
         if ($uploadControlCID !== '' && isset($_SESSION["MFI_UPLOADED_FILES_{$uploadControlCID}"])) {
             $uploadedFiles = $_SESSION["MFI_UPLOADED_FILES_{$uploadControlCID}"];
             if (!empty($uploadedFiles)) {
                 $arPermittedFiles = array_merge(array_intersect($arUserFiles, $uploadedFiles), $arPermittedFiles);
             }
         }
         $arFields['STORAGE_ELEMENT_IDS'] = $arPermittedFiles;
     }
 } elseif ($storageTypeID === CCrmActivityStorageType::WebDav || $storageTypeID === CCrmActivityStorageType::Disk) {
     $fileKey = $storageTypeID === CCrmActivityStorageType::Disk ? 'diskfiles' : 'webdavelements';
     $arFileIDs = isset($data[$fileKey]) && is_array($data[$fileKey]) ? $data[$fileKey] : array();
     if (!empty($arFileIDs) || !$isNew) {
         $arFields['STORAGE_ELEMENT_IDS'] = Bitrix\Crm\Integration\StorageManager::filterFiles($arFileIDs, $storageTypeID, $userID);
     }
 }
 if ($isNew) {
     if (!($ID = CCrmActivity::Add($arFields, false, false, array('REGISTER_SONET_EVENT' => true)))) {
         echo CUtil::PhpToJSObject(array('ERROR' => CCrmActivity::GetLastErrorMessage()));
         die;
     }
 } else {
     if (!CCrmActivity::Update($ID, $arFields, false, false)) {
         echo CUtil::PhpToJSObject(array('ERROR' => CCrmActivity::GetLastErrorMessage()));
         die;
     }
 }
 $urn = CCrmActivity::PrepareUrn($arFields);
 if ($urn !== '') {