';
$xml .= "";
break;
case 'record':
$xml .= "";
$xml .= 'Drupal-Biblio';
$xml .= "". _endnote8_type_map($node->biblio_type) ."";
unset($node->biblio_type);
//
$xml .= en8_add_contributors($node);
$xml .= en8_add_titles($node);
$xml .= en8_add_keywords($node);
$xml .= en8_add_dates($node);
$xml .= en8_add_urls($node);
foreach($node as $key => $value) {
$entag = en8_field_map($key);
if (!empty($entag) && !empty($value)) {
$xml .= "<".$entag.'>$entag>";
}
}
$xml .= "";
break;
case 'end':
$xml .= '';
break;
}
return $xml;
}
function en8_encode_font_faces(&$node) {
$search = array('','', '', '', '','','', '', '', '');
$replace = array(
'" :'';
$xml .= (!empty ($node->biblio_secondary_title)) ? '" :'';
$xml .= (!empty ($node->biblio_tertiary_title)) ? '" :'';
$xml .= (!empty ($node->biblio_alternate_title)) ? '" :'';
$xml .= (!empty ($node->biblio_short_title)) ? '" :'';
$xml .= (!empty ($node->biblio_translated_title)) ? '" :'';
$xml .= '';
unset($node->title);
unset($node->biblio_secondary_title);
unset($node->biblio_tertiary_title);
unset($node->biblio_alternate_title);
unset($node->biblio_short_title);
unset($node->biblio_translated_title);
return $xml;
}
function en8_add_urls(&$node) {
global $base_path;
$xml = '';
// TODO: fix URLS
if (!empty($node->biblio_url)) {
$xml .= "";
$xml .= '";
$xml .= "";
}
unset($node->biblio_url);
if (!empty ($node->files) && count($node->files) && user_access('view uploaded files')) {
$xml .= "";
foreach($node->files as $file) {
$xml .= '";
}
$xml .= "";
}
unset($node->files);
if (!empty($xml)) return "$xml";
return ;
}
function en8_add_dates(&$node) {
$xml = '';
if (!empty($node->biblio_year) || !empty($node->biblio_date) ) {
$xml .= '';
$xml .= (!empty($node->biblio_year)) ? '":'';
$xml .= (!empty($node->biblio_date)) ? '":'';
$xml .= "";
}
unset($node->biblio_year);
unset($node->biblio_date);
return $xml;
}
function en8_add_keywords(&$node) {
$kw_array = array();
$xml = '';
if (!empty($node->biblio_keywords)) {
foreach($node->biblio_keywords as $term) {
$kw_array[] = trim($term);
}
}
if (!empty($kw_array)) {
$kw_array = array_unique($kw_array);
$xml .= '';
foreach($kw_array as $word) {
$xml .= '";
}
$xml .= "";
}
unset($node->biblio_keywords);
return $xml;
}
function en8_add_contributors(&$node) {
$xml .= '';
if (count($node->biblio_contributors[1])) {
$xml .= "";
foreach((array)$node->biblio_contributors[1] as $auth) {
$xml .= '";
}
$xml .= "";
}
if (count($node->biblio_contributors[2])) {
$xml .= "";
foreach((array)$node->biblio_contributors[2] as $auth) {
$xml .= '";
}
$xml .= "";
}
if (count($node->biblio_contributors[3])) {
$xml .= "";
foreach((array)$node->biblio_contributors[3] as $auth) {
$xml .= '";
}
$xml .= "";
}
if (count($node->biblio_contributors[4])) {
$xml .= "";
foreach((array)$node->biblio_contributors[4] as $auth) {
$xml .= '";
}
$xml .= "";
}
if (count($node->biblio_contributors[5])) {
$xml .= "";
foreach((array)$node->biblio_contributors[5] as $auth) {
$xml .= '";
}
$xml .= "";
}
$xml .= '';
unset($node->biblio_contributors);
return $xml;
}
function en8_field_map($biblio_field) {
static $fmap = array();
if(empty($fmap)) {
$fmap = array(
'source-app' => '',
'rec-number' => '',
'ref-type' => 'biblio_type',
'auth-address' => 'biblio_auth_address',
'auth-affiliaton' => '',
'title' => 'title',
'secondary-title' => 'biblio_secondary_title',
'tertiary-title' => 'biblio_tertiary_title',
'alt-title' => 'biblio_alternate_title',
'short-title' => 'biblio_short_title',
'translated-title' => 'biblio_translated_title',
'full-title' => '',
'abbr-1' => '',
'abbr-2' => '',
'abbr-3' => '',
'pages' => 'biblio_pages',
'volume' => 'biblio_volume',
'number' => 'biblio_number',
'issue' => 'biblio_issue',
'secondary-volume' => '',
'secondary-issue' => '',
'num-vols' => 'biblio_number_of_volumes',
'edition' => 'biblio_edition',
'section' => 'biblio_section',
'reprint-edition' => 'biblio_reprint_edition',
'reprint-status' => '',
'year' => 'biblio_year',
'pub-dates' => 'biblio_date',
'copyright-dates' => '',
'pub-location' => 'biblio_place_published',
'publisher' => 'biblio_publisher',
'orig-pub' => 'biblio_original_publication',
'isbn' => 'biblio_isbn',
'accession-num' => 'biblio_accession_number',
'call-num' => 'biblio_call_number',
'report-id' => '',
'coden' => '',
'electronic-resource-num' => '',
'abstract' => 'biblio_abst_e',
'label' => 'biblio_label',
'image' => '',
'caption' => '',
'notes' => 'biblio_notes',
'research-notes' => 'biblio_research_notes',
'work-type' => 'biblio_type_of_work',
'reviewed-item' => '',
'availability' => '',
'remote-source' => '',
'meeting-place' => '',
'work-location' => '',
'work-extent' => '',
'pack-method' => '',
'size' => '',
'repro-ratio' => '',
'remote-database-name' => 'biblio_remote_db_name',
'remote-database-provider' => 'biblio_remote_db_provider',
'language' => 'biblio_lang',
'web-urls' => '',
'pdf-urls' => '',
'text-urls' => '',
'image-urls' => '',
'related-urls' => 'biblio_url',
'access-date' => 'biblio_access_date',
'modified-date' => '',
'custom1' => 'biblio_custom1',
'custom2' => 'biblio_custom2',
'custom3' => 'biblio_custom3',
'custom4' => 'biblio_custom4',
'custom5' => 'biblio_custom5',
'custom6' => 'biblio_custom6',
'custom7' => 'biblio_custom7',
'misc1' => '',
'misc2' => '',
'misc3' => '',
);
}
return ($en8_field = array_search($biblio_field, $fmap)) ? $en8_field : '';
}
function _endnote8_type_map($bibliotype) {
static $map = array();
if (empty($map)) {
module_load_include('inc', 'biblio', 'biblio.type.mapper');
$map = biblio_get_type_map('endnote8');
}
return ($en8_type = array_search($bibliotype, $map)) ? $en8_type : 13; //return the biblio type or 129 (Misc) if type not found
}