You are here

function csl_mapper::map_field in Bibliography Module 7.2

Same name and namespace in other branches
  1. 6.2 modules/CiteProc/CSL.inc \csl_mapper::map_field()
  2. 7 modules/CiteProc/CSL.inc \csl_mapper::map_field()

File

modules/CiteProc/CSL.inc, line 1622

Class

csl_mapper

Code

function map_field($field) {
  if (!isset($this->field_map)) {
    $this->field_map = biblio_get_map('field_map', 'csl');
    $this->field_map = array_merge($this->field_map, array(
      'author' => 'biblio_contributors:1',
      'editor' => 'biblio_contributors:2',
      'translator' => 'biblio_contributors:3',
      'recipient' => ':',
      'interviewer' => ':',
      'publisher' => 'biblio_publisher:',
      'composer' => ':',
    ));
  }
  $vars = explode(' ', $field);
  foreach ($vars as $key => $value) {
    $vars[$key] = !empty($this->field_map[$value]) ? $this->field_map[$value] : '';
  }
  return implode(' ', $vars);
}