diff --git a/modules/RIS/biblio_ris.install b/modules/RIS/biblio_ris.install index 7e30da9..4d02d37 100644 --- a/modules/RIS/biblio_ris.install +++ b/modules/RIS/biblio_ris.install @@ -18,6 +18,11 @@ function biblio_ris_uninstall() { update_sql("DELETE FROM {biblio_type_maps} WHERE format = 'ris'"); } +function biblio_ris_update_6001() { + update_sql("DELETE FROM {biblio_type_maps} WHERE format = 'ris'"); + _save_ris_maps(); +} + function biblio_ris_requirements($phase) { $requirements = array(); $t = get_t(); @@ -177,9 +182,9 @@ function _get_ris_field_map() { 'RP' => '', //- Reprint status (IN FILE, NOT IN FILE, ON REQUEST (MM/DD/YY)) 'SP' => '', //- Start page number 'EP' => '', //- Ending page number - 'JF' => 'biblio_secondary_title',//- Periodical full name - 'JO' => 'biblio_short_title', //- Periodical standard abbreviation - 'JA' => 'biblio_secondary_title',//- Periodical in which article was published + 'JF' => 'biblio_secondary_title',//- Periodical name: full format. This is an alphanumeric field of up to 255 characters + 'JO' => 'biblio_secondary_title',//- Periodical name: full format. This is an alphanumeric field of up to 255 characters + 'JA' => 'biblio_short_title', //- Periodical name: standard abbreviation. This is an alphanumeric field of up to 255 characters. 'J1' => 'biblio_short_title', //- Periodical name //- User abbreviation 1 'J2' => 'biblio_short_title', //- Periodical name - User abbreviation 2 'VL' => 'biblio_volume', //- Volume number diff --git a/modules/RIS/biblio_ris.module b/modules/RIS/biblio_ris.module index 07ce93a..53b6ddf 100644 --- a/modules/RIS/biblio_ris.module +++ b/modules/RIS/biblio_ris.module @@ -318,6 +318,14 @@ function _biblio_ris_parse_line($tag, $data, $node) { $node->biblio_secondary_title = $data; } break; + case 'JF': //these fields are to be mapped on a shared field (n:1), hence do not concatenate string, take first value only + case 'JO': + case 'JA': + case 'J1': + case 'J2': + $field = _biblio_ris_field_map($tag); + if ($field && empty($node->$field)) $node->$field = $data; + break; default : $field = _biblio_ris_field_map($tag); if ($field) $node->$field .= $data;