function apachesolr_multilingual_copy_common_to_i18n_fields in Apache Solr Multilingual 7        
                          
                  
                        Same name and namespace in other branches
- 6.3 apachesolr_multilingual.module \apachesolr_multilingual_copy_common_to_i18n_fields()
 
 
2 calls to apachesolr_multilingual_copy_common_to_i18n_fields()
  - apachesolr_multilingual_apachesolr_index_documents_alter in ./apachesolr_multilingual.module
 
  - Implements hook_apachesolr_index_documents_alter().
 
  - apachesolr_multilingual_index_node_translation in ./apachesolr_multilingual.module
 
  
 
File
 
   - ./apachesolr_multilingual.module, line 268
 
  - Multilingual search using Apache Solr.
 
Code
function apachesolr_multilingual_copy_common_to_i18n_fields($src_document, $dst_document) {
  $fields = $src_document
    ->getFieldNames();
  $additionally_store_unstemmed = array(
    'ts' => 'tus',
    'tm' => 'tom',
  );
  
  foreach (array(
    'label',
    'teaser',
    'content',
    'path_alias',
  ) as $field_name) {
    if (in_array($field_name, $fields)) {
      $dst_document->{'i18n_' . $field_name . '_' . $src_document->ss_language} = $dst_document->{'i18n_tus_' . $src_document->ss_language . '_' . $field_name} = $src_document->{$field_name};
    }
  }
  $dst_document->{'i18n_path_' . $src_document->ss_language} = $src_document->{'path'};
  foreach ($fields as $field_name) {
    $prefixes = array_keys(apachesolr_multilingual_get_dynamic_text_field_prefixes_and_types());
    $prefixes[] = 'tags_';
    foreach ($prefixes as $prefix) {
      if (strpos($field_name, $prefix) === 0 && !empty($src_document->{$field_name})) {
        
        $tmp = explode('_', $field_name);
        if ($src_document->ss_language != $tmp[1]) {
          
          $new_field_name = 'i18n_' . $tmp[0] . '_' . $src_document->ss_language . drupal_substr($field_name, drupal_strlen($tmp[0]));
          $dst_document->{$new_field_name} = $src_document->{$field_name};
          if (array_key_exists($tmp[0], $additionally_store_unstemmed)) {
            $dst_document->{str_replace(array_keys($additionally_store_unstemmed), array_values($additionally_store_unstemmed), $new_field_name)} = $src_document->{$field_name};
          }
        }
      }
    }
  }
}