/** * Get the mapping fields. * * @param int $mappingId * Mapping id. * * @return array * array of mapping fields */ public static function getMappingFields($mappingId) { //mapping is to be loaded from database $mapping = new CRM_Core_DAO_MappingField(); $mapping->mapping_id = $mappingId; $mapping->orderBy('column_number'); $mapping->find(); $mappingName = $mappingLocation = $mappingContactType = $mappingPhoneType = array(); $mappingImProvider = $mappingRelation = $mappingOperator = $mappingValue = $mappingWebsiteType = array(); while ($mapping->fetch()) { $mappingName[$mapping->grouping][$mapping->column_number] = $mapping->name; $mappingContactType[$mapping->grouping][$mapping->column_number] = $mapping->contact_type; if (!empty($mapping->location_type_id)) { $mappingLocation[$mapping->grouping][$mapping->column_number] = $mapping->location_type_id; } if (!empty($mapping->phone_type_id)) { $mappingPhoneType[$mapping->grouping][$mapping->column_number] = $mapping->phone_type_id; } // get IM service provider type id from mapping fields if (!empty($mapping->im_provider_id)) { $mappingImProvider[$mapping->grouping][$mapping->column_number] = $mapping->im_provider_id; } if (!empty($mapping->website_type_id)) { $mappingWebsiteType[$mapping->grouping][$mapping->column_number] = $mapping->website_type_id; } if (!empty($mapping->relationship_type_id)) { $mappingRelation[$mapping->grouping][$mapping->column_number] = "{$mapping->relationship_type_id}_{$mapping->relationship_direction}"; } if (!empty($mapping->operator)) { $mappingOperator[$mapping->grouping][$mapping->column_number] = $mapping->operator; } if (!empty($mapping->value)) { $mappingValue[$mapping->grouping][$mapping->column_number] = $mapping->value; } } return array($mappingName, $mappingContactType, $mappingLocation, $mappingPhoneType, $mappingImProvider, $mappingRelation, $mappingOperator, $mappingValue, $mappingWebsiteType); }