Exemple #1
0
 $entityTypeName = isset($params['ENTITY_TYPE_NAME']) ? $params['ENTITY_TYPE_NAME'] : '';
 if ($entityTypeName === '') {
     __CrmCompanyEditEndResonse(array('ERROR' => 'Entity type is not specified.'));
 }
 $entityTypeID = CCrmOwnerType::ResolveID($entityTypeName);
 if ($entityTypeID === CCrmOwnerType::Undefined) {
     __CrmCompanyEditEndResonse(array('ERROR' => 'Undefined entity type is specified.'));
 }
 if ($entityTypeID !== CCrmOwnerType::Company) {
     __CrmCompanyEditEndResonse(array('ERROR' => "The '{$entityTypeName}' type is not supported in current context."));
 }
 if (!(CCrmCompany::CheckCreatePermission($userPermissions) || CCrmCompany::CheckUpdatePermission(0, $userPermissions))) {
     __CrmCompanyEditEndResonse(array('ERROR' => 'Access denied.'));
 }
 $userProfileUrlTemplate = COption::GetOptionString("main", "TOOLTIP_PATH_TO_USER", "", SITE_ID);
 $checker = new \Bitrix\Crm\Integrity\CompanyDuplicateChecker();
 $checker->setStrictComparison(false);
 $groupResults = array();
 $groupData = isset($params['GROUPS']) && is_array($params['GROUPS']) ? $params['GROUPS'] : array();
 foreach ($groupData as &$group) {
     $fields = array();
     $fieldNames = array();
     if (isset($group['TITLE'])) {
         $fieldNames[] = 'TITLE';
         $fields['TITLE'] = $group['TITLE'];
     }
     $phones = isset($group['PHONES']) ? $group['PHONES'] : (isset($group['PHONE']) ? $group['PHONE'] : null);
     $hasPhones = is_array($phones) && !empty($phones);
     $emails = isset($group['EMAILS']) ? $group['EMAILS'] : (isset($group['EMAIL']) ? $group['EMAIL'] : null);
     $hasEmails = is_array($emails) && !empty($emails);
     if ($hasPhones || $hasEmails) {
Exemple #2
0
 $arResult['errata_url'] = '';
 $CCrmCompany = new CCrmCompany();
 $usersByID = array();
 $usersByName = array();
 $defaultUserID = isset($_SESSION['CRM_IMPORT_DEFAULT_RESPONSIBLE_ID']) ? intval($_SESSION['CRM_IMPORT_DEFAULT_RESPONSIBLE_ID']) : 0;
 $userNameFormat = isset($_SESSION['CRM_IMPORT_IMPORT_NAME_FORMAT']) && \Bitrix\Crm\Format\PersonNameFormatter::isDefined($_SESSION['CRM_IMPORT_IMPORT_NAME_FORMAT']) ? intval($_SESSION['CRM_IMPORT_IMPORT_NAME_FORMAT']) : \Bitrix\Crm\Format\PersonNameFormatter::FirstLast;
 $dupCtrlType = isset($_SESSION['CRM_IMPORT_DUP_CONTROL_TYPE']) ? $_SESSION['CRM_IMPORT_DUP_CONTROL_TYPE'] : '';
 if (!in_array($dupCtrlType, array('REPLACE', 'MERGE', 'SKIP'), true)) {
     $dupCtrlType = 'NO_CONTROL';
 }
 $enableDupCtrlByOrganization = isset($_SESSION['CRM_IMPORT_DUP_CONTROL_ENABLE_ORGANIZATION']) ? $_SESSION['CRM_IMPORT_DUP_CONTROL_ENABLE_ORGANIZATION'] : false;
 $enableDupCtrlByPhone = isset($_SESSION['CRM_IMPORT_DUP_CONTROL_ENABLE_PHONE']) ? $_SESSION['CRM_IMPORT_DUP_CONTROL_ENABLE_PHONE'] : false;
 $enableDupCtrlByEmail = isset($_SESSION['CRM_IMPORT_DUP_CONTROL_ENABLE_EMAIL']) ? $_SESSION['CRM_IMPORT_DUP_CONTROL_ENABLE_EMAIL'] : false;
 $mappedFields = isset($_SESSION['CRM_IMPORT_MAPPED_FIELDS']) ? $_SESSION['CRM_IMPORT_MAPPED_FIELDS'] : array();
 $mappedMultiFields = isset($_SESSION['CRM_IMPORT_MAPPED_MULTI_FIELDS']) ? $_SESSION['CRM_IMPORT_MAPPED_MULTI_FIELDS'] : array();
 $dupChecker = new \Bitrix\Crm\Integrity\CompanyDuplicateChecker();
 $processedQty = 0;
 $tempDir = isset($_SESSION['CRM_IMPORT_TEMP_DIR']) ? $_SESSION['CRM_IMPORT_TEMP_DIR'] : '';
 if ($tempDir === '') {
     $tempDir = $_SESSION['CRM_IMPORT_TEMP_DIR'] = CTempFile::GetDirectoryName(1, array('crm', uniqid('company_import_')));
     CheckDirPath($tempDir);
 }
 $errataFilePath = "{$tempDir}errata.csv";
 $enableDupFile = $dupCtrlType === 'SKIP';
 if ($enableDupFile) {
     $duplicateFilePath = "{$tempDir}duplicate.csv";
 }
 while ($arData = $csvFile->Fetch()) {
     $arResult['column'] = count($arData);
     $arCompany = array();
     foreach ($arData as $key => $data) {