From f39b0145f2414c0113022405997ea50437ad4d5b Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Tue, 19 Apr 2022 14:05:19 +1200 Subject: [PATCH] I have no words --- CRM/Contact/Import/Form/Preview.php | 260 ---------------------------- 1 file changed, 260 deletions(-) diff --git a/CRM/Contact/Import/Form/Preview.php b/CRM/Contact/Import/Form/Preview.php index 85f91c877f..9a15ceb606 100644 --- a/CRM/Contact/Import/Form/Preview.php +++ b/CRM/Contact/Import/Form/Preview.php @@ -295,264 +295,4 @@ class CRM_Contact_Import_Form_Preview extends CRM_Import_Form_Preview { $importJob->isComplete(TRUE); } - /** - * Process the mapped fields and map it into the uploaded file. - */ - public function postProcessOld() { - - $doGeocodeAddress = $this->controller->exportValue('DataSource', 'doGeocodeAddress'); - $invalidRowCount = $this->get('invalidRowCount'); - $conflictRowCount = $this->get('conflictRowCount'); - $onDuplicate = $this->get('onDuplicate'); - $newGroupName = $this->controller->exportValue($this->_name, 'newGroupName'); - $newGroupDesc = $this->controller->exportValue($this->_name, 'newGroupDesc'); - $newGroupType = $this->controller->exportValue($this->_name, 'newGroupType'); - $groups = $this->controller->exportValue($this->_name, 'groups'); - $allGroups = $this->get('groups'); - $newTagName = $this->controller->exportValue($this->_name, 'newTagName'); - $newTagDesc = $this->controller->exportValue($this->_name, 'newTagDesc'); - $tag = $this->controller->exportValue($this->_name, 'tag'); - $allTags = $this->get('tag'); - - $mapper = $this->controller->exportValue('MapField', 'mapper'); - - $mapperKeys = []; - $mapperLocTypes = []; - $mapperPhoneTypes = []; - $mapperRelated = []; - $mapperRelatedContactType = []; - $mapperRelatedContactDetails = []; - $mapperRelatedContactLocType = []; - $mapperRelatedContactPhoneType = []; - - foreach ($mapper as $key => $value) { - $mapperKeys[$key] = $mapper[$key][0]; - if (is_numeric($mapper[$key][1])) { - $mapperLocTypes[$key] = $mapper[$key][1]; - } - else { - $mapperLocTypes[$key] = NULL; - } - - if (CRM_Utils_Array::value($key, $mapperKeys) == 'phone') { - $mapperPhoneTypes[$key] = $mapper[$key][2]; - } - else { - $mapperPhoneTypes[$key] = NULL; - } - - list($id, $first, $second) = explode('_', $mapper[$key][0]); - if (($first == 'a' && $second == 'b') || ($first == 'b' && $second == 'a')) { - $relationType = new CRM_Contact_DAO_RelationshipType(); - $relationType->id = $id; - $relationType->find(TRUE); - $fieldName = "contact_type_$second"; - $mapperRelatedContactType[$key] = $relationType->$fieldName; - $mapperRelated[$key] = $mapper[$key][0]; - $mapperRelatedContactDetails[$key] = $mapper[$key][1]; - $mapperRelatedContactLocType[$key] = $mapper[$key][2]; - $mapperRelatedContactPhoneType[$key] = $mapper[$key][3]; - } - else { - $mapperRelated[$key] = NULL; - $mapperRelatedContactType[$key] = NULL; - $mapperRelatedContactDetails[$key] = NULL; - $mapperRelatedContactLocType[$key] = NULL; - $mapperRelatedContactPhoneType[$key] = NULL; - } - } - - $parser = new CRM_Contact_Import_Parser_Contact($mapperKeys, $mapperLocTypes, - $mapperPhoneTypes, $mapperRelated, $mapperRelatedContactType, - $mapperRelatedContactDetails, $mapperRelatedContactLocType, - $mapperRelatedContactPhoneType - ); - - $mapFields = $this->get('fields'); - - $locationTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Address', 'location_type_id'); - $phoneTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Phone', 'phone_type_id'); - - foreach ($mapper as $key => $value) { - $header = []; - list($id, $first, $second) = explode('_', $mapper[$key][0]); - if (($first == 'a' && $second == 'b') || ($first == 'b' && $second == 'a')) { - $relationType = new CRM_Contact_DAO_RelationshipType(); - $relationType->id = $id; - $relationType->find(TRUE); - - $header[] = $relationType->name_a_b; - $header[] = ucwords(str_replace("_", " ", $mapper[$key][1])); - - if (isset($mapper[$key][2])) { - $header[] = $locationTypes[$mapper[$key][2]]; - } - if (isset($mapper[$key][3])) { - $header[] = $phoneTypes[$mapper[$key][3]]; - } - } - else { - if (isset($mapFields[$mapper[$key][0]])) { - $header[] = $mapFields[$mapper[$key][0]]; - if (isset($mapper[$key][1])) { - $header[] = $locationTypes[$mapper[$key][1]]; - } - if (isset($mapper[$key][2])) { - $header[] = $phoneTypes[$mapper[$key][2]]; - } - } - } - $mapperFields[] = implode(' - ', $header); - } - - $tableName = $this->get('importTableName'); - //print "Running parser on table: $tableName
"; - $parser->run($tableName, $mapperFields, - CRM_Import_Parser::MODE_IMPORT, - $this->get('contactType'), - $this->get('primaryKeyName'), - $this->get('statusFieldName'), - $onDuplicate, - $this->get('statusID'), - $this->get('totalRowCount'), - $doGeocodeAddress, - CRM_Contact_Import_Parser_Contact::DEFAULT_TIMEOUT, - $this->get('contactSubType'), - $this->get('dedupe') - ); - - // add the new contacts to selected groups - $contactIds = $parser->getImportedContacts(); - - // add the new related contacts to selected groups - $relatedContactIds = &$parser->getRelatedImportedContacts(); - - $this->set('relatedCount', count($relatedContactIds)); - $newGroupId = NULL; - - //changed below if-statement "if ($newGroup) {" to "if ($newGroupName) {" - if ($newGroupName) { - /* Create a new group */ - - $gParams = array( - 'name' => $newGroupName, - 'title' => $newGroupName, - 'description' => $newGroupDesc, - 'group_type' => $newGroupType, - 'is_active' => TRUE, - ); - $group = CRM_Contact_BAO_Group::create($gParams); - $groups[] = $newGroupId = $group->id; - } - - if (is_array($groups)) { - $groupAdditions = []; - foreach ($groups as $groupId) { - $addCount = CRM_Contact_BAO_GroupContact::addContactsToGroup($contactIds, $groupId); - if (!empty($relatedContactIds)) { - $addRelCount = CRM_Contact_BAO_GroupContact::addContactsToGroup($relatedContactIds, $groupId); - } - $totalCount = $addCount[1] + $addRelCount[1]; - if ($groupId == $newGroupId) { - $name = $newGroupName; - $new = TRUE; - } - else { - $name = $allGroups[$groupId]; - $new = FALSE; - } - $groupAdditions[] = array( - 'url' => CRM_Utils_System::url('civicrm/group/search', - 'reset=1&force=1&context=smog&gid=' . $groupId - ), - 'name' => $name, - 'added' => $totalCount, - 'notAdded' => $addCount[2] + $addRelCount[2], - 'new' => $new, - ); - } - $this->set('groupAdditions', $groupAdditions); - } - - $newTagId = NULL; - if ($newTagName) { - /* Create a new Tag */ - - $tagParams = array( - 'name' => $newTagName, - 'title' => $newTagName, - 'description' => $newTagDesc, - 'is_active' => TRUE, - ); - $addedTag = CRM_Core_BAO_Tag::add($tagParams); - $tag[$addedTag->id] = 1; - } - //add Tag to Import - - if (is_array($tag)) { - - $tagAdditions = []; - foreach ($tag as $tagId => $val) { - $addTagCount = CRM_Core_BAO_EntityTag::addContactsToTag($contactIds, $tagId); - if (!empty($relatedContactIds)) { - $addRelTagCount = CRM_Core_BAO_EntityTag::addContactsToTag($relatedContactIds, $tagId); - } - $totalTagCount = $addTagCount[1] + $addRelTagCount[1]; - if ($tagId == $addedTag->id) { - $tagName = $newTagName; - $new = TRUE; - } - else { - $tagName = $allTags[$tagId]; - $new = FALSE; - } - $tagAdditions[] = array( - 'url' => CRM_Utils_System::url('civicrm/contact/search', - 'reset=1&force=1&context=smog&id=' . $tagId - ), - 'name' => $tagName, - 'added' => $totalTagCount, - 'notAdded' => $addTagCount[2] + $addRelTagCount[2], - 'new' => $new, - ); - } - $this->set('tagAdditions', $tagAdditions); - } - - // add all the necessary variables to the form - $parser->set($this, CRM_Import_Parser::MODE_IMPORT); - - // check if there is any error occurred - - $errorStack = CRM_Core_Error::singleton(); - $errors = $errorStack->getErrors(); - $errorMessage = []; - - if (is_array($errors)) { - foreach ($errors as $key => $value) { - $errorMessage[] = $value['message']; - } - - // there is no fileName since this is a sql import - // so fudge it - $config = CRM_Core_Config::singleton(); - $errorFile = $config->uploadDir . "sqlImport.error.log"; - if ($fd = fopen($errorFile, 'w')) { - fwrite($fd, implode('\n', $errorMessage)); - } - fclose($fd); - - $this->set('errorFile', $errorFile); - - $urlParams = 'type=' . CRM_Import_Parser::ERROR . '&parser=CRM_Contact_Import_Parser_Contact'; - $this->set('downloadErrorRecordsUrl', CRM_Utils_System::url('civicrm/export', $urlparams)); - - $urlParams = 'type=' . CRM_Import_Parser::CONFLICT . '&parser=CRM_Contact_Import_Parser_Contact'; - $this->set('downloadConflictRecordsUrl', CRM_Utils_System::url('civicrm/export', $urlParams)); - - $urlParams = 'type=' . CRM_Import_Parser::NO_MATCH . '&parser=CRM_Contact_Import_Parser_Contact'; - $this->set('downloadMismatchRecordsUrl', CRM_Utils_System::url('civicrm/export', $urlParams)); - } - } - } -- 2.25.1