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); } unset($uploadedFiles); } $arFields['STORAGE_ELEMENT_IDS'] = $arPermittedFiles; unset($arPreviousFiles); } unset($arPermittedFiles, $arUserFiles); } else { $fileKey = $storageTypeId === CCrmQuoteStorageType::Disk ? 'diskfiles' : 'webdavelements'; $arFileIds = isset($_POST[$fileKey]) && is_array($_POST[$fileKey]) ? $_POST[$fileKey] : array(); if (!empty($arFileIds) || $bEdit) { $arFields['STORAGE_ELEMENT_IDS'] = StorageManager::filterFiles($arFileIds, $storageTypeId); } unset($arFileIds); } // person type $arFields['PERSON_TYPE_ID'] = 0; if (isset($arPersonTypes['CONTACT']) && (!isset($arFields['COMPANY_ID']) || intval($arFields['COMPANY_ID']) <= 0)) { $arFields['PERSON_TYPE_ID'] = intval($arPersonTypes['CONTACT']); } else { if (isset($arPersonTypes['COMPANY']) && isset($arFields['COMPANY_ID']) && intval($arFields['COMPANY_ID']) > 0) { $arFields['PERSON_TYPE_ID'] = intval($arPersonTypes['COMPANY']); } } // Client fields foreach (CCrmQuote::GetClientFields() as $fieldName) { if (isset($_POST[$fieldName])) {
__CrmMobileActivityEditEndResonse(array('ERROR' => GetMessage('CRM_ACTIVITY_EDIT_EMAIL_EMPTY_TO_FIELD'))); } $nowStr = ConvertTimeStamp($now, 'FULL', SITE_ID); $subject = isset($data['SUBJECT']) ? strval($data['SUBJECT']) : ''; if ($subject === '') { $subject = GetMessage('CRM_ACTIVITY_EDIT_EMAIL_ACTION_DEFAULT_SUBJECT', array('#DATE#' => $nowStr)); } $descr = isset($data['DESCRIPTION']) ? strval($data['DESCRIPTION']) : ''; if ($descr === '') { $descr = $subject; } $fields = array('OWNER_ID' => $ownerID, 'OWNER_TYPE_ID' => $ownerTypeID, 'TYPE_ID' => CCrmActivityType::Email, 'SUBJECT' => $subject, 'START_TIME' => $nowStr, 'END_TIME' => $nowStr, 'COMPLETED' => 'Y', 'RESPONSIBLE_ID' => $curUser->GetID(), 'PRIORITY' => CCrmActivityPriority::Medium, 'DESCRIPTION' => $descr, 'DESCRIPTION_TYPE' => CCrmContentType::PlainText, 'DIRECTION' => CCrmActivityDirection::Outgoing, 'LOCATION' => '', 'NOTIFY_TYPE' => CCrmActivityNotifyType::None); $storageTypeID = $fields['STORAGE_TYPE_ID'] = isset($data['STORAGE_TYPE_ID']) ? (int) $data['STORAGE_TYPE_ID'] : CCrmActivity::GetDefaultStorageTypeID(); $storageElements = isset($data['STORAGE_ELEMENT_IDS']) ? $data['STORAGE_ELEMENT_IDS'] : null; if (is_array($storageElements) && (!empty($storageElements) || !$isNew)) { $fields['STORAGE_ELEMENT_IDS'] = StorageManager::filterFiles($storageElements, $storageTypeID, $curUser->GetID()); } $responsibleID = isset($data['RESPONSIBLE_ID']) ? intval($data['RESPONSIBLE_ID']) : 0; //$DB->StartTransaction(); $successed = false; $errorMessage = ""; if ($isNew) { $fields['BINDINGS'] = array_values($bindings); $fields['RESPONSIBLE_ID'] = $responsibleID > 0 ? $responsibleID : (int) $curUser->GetID(); $ID = CCrmActivity::Add($fields, false, false, array('REGISTER_SONET_EVENT' => true)); $successed = is_int($ID) && $ID > 0; if (!$successed) { $errorMessage = CCrmActivity::GetLastErrorMessage(); } } else { $dbPresent = CCrmActivity::GetList(array(), array('ID' => $ID), false, false, array('OWNER_ID', 'OWNER_TYPE_ID'));