示例#1
0
 /**
  * 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);
 }