$arTmp["COMM"] = array("TYPE" => $arCommunication["TYPE"], "VALUE" => $arCommunication["VALUE"]); } if (is_array($arCommunication["ENTITY_SETTINGS"]) && isset($arCommunication["ENTITY_SETTINGS"]["COMPANY_TITLE"])) { $arTmp["COMPANY"] = $arCommunication["ENTITY_SETTINGS"]["COMPANY_TITLE"]; } $arResult["CLIENTS_FOR_JS"][] = $arTmp; } } $arResult["STORAGE_ELEMENTS"] = array(); $arResult["RECORDS"] = array(); if ($arActivity["TYPE_ID"] == CCrmActivityType::Call && !empty($arActivity["STORAGE_ELEMENT_IDS"])) { $arStorageElementID = unserialize($arActivity["STORAGE_ELEMENT_IDS"]); if (is_array($arStorageElementID) && !empty($arStorageElementID)) { $arMediaExtensions = array("flv", "mp3", "mp4", "vp6", "aac"); foreach ($arStorageElementID as $elementID) { $info = Bitrix\Crm\Integration\StorageManager::getFileInfo($elementID, $arActivity["STORAGE_TYPE_ID"], false); if (is_array($info) && in_array(GetFileExtension(strtolower($info["NAME"])), $arMediaExtensions)) { //Hacks for flv player $recordUrl = CCrmUrlUtil::ToAbsoluteUrl($info["VIEW_URL"]); if (substr($recordUrl, -1) !== "/") { $recordUrl .= "/"; } $recordUrl .= !empty($info["NAME"]) ? $info["NAME"] : "dummy.flv"; $arResult["RECORDS"][] = array("URL" => $recordUrl, "NAME" => $info["NAME"]); } $arResult["STORAGE_ELEMENTS"][] = $info; } } } } }
} } $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 !== '') {