function biblio_style_apa in Bibliography Module 6
Same name and namespace in other branches
- 5 biblio_style_apa.inc \biblio_style_apa()
- 6.2 styles/biblio_style_apa.inc \biblio_style_apa()
- 7 styles/biblio_style_apa.inc \biblio_style_apa()
- 7.2 styles/biblio_style_apa.inc \biblio_style_apa()
Apply a bibliographic style to the node
Parameters
$node: An object containing the node data to render
$base: The base URL of the biblio module (defaults to /biblio)
$inline: A logical value indicating if this is being rendered within the Drupal framwork (FALSE) or we are just passing back the html (true)
Return value
The styled biblio entry
File
- ./
biblio_style_apa.inc, line 48
Code
function biblio_style_apa($node, $base = 'biblio', $inline = FALSE) {
$output = '';
$author_options = biblio_style_apa_author_options();
$authors = theme('biblio_format_authors', $node->biblio_contributors[1], $author_options, $inline);
if (empty($authors) && count($node->biblio_contributors[5])) {
// if no authors substitute corp author if available
foreach ($node->biblio_contributors[5] as $rank => $author) {
$authors .= empty($authors) ? '' : ', ';
$authors .= variable_get('biblio_author_links', 1) ? theme('biblio_author_link', $author) : $author['name'];
}
}
if (empty($authors)) {
$authors = '[' . t('Anonymous') . ']';
}
// use anonymous if we still have nothing.
if (!empty($node->biblio_citekey) && variable_get('biblio_display_citation_key', 0)) {
$output .= '[' . check_plain($node->biblio_citekey) . '] ';
}
$output .= '<span class="biblio-authors">' . $authors . "</span> \n";
$output .= strrpos($authors, '.') == strlen($authors) ? ". " : " ";
switch ($node->biblio_type) {
case 1:
// Journal Article
case 2:
//Conference Paper
case 3:
// are all
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
default:
if (isset($node->biblio_year)) {
$output .= "(" . check_plain($node->biblio_year) . "). ";
}
$output .= '<span class="biblio-title">';
$url = biblio_get_title_url_info($node, $base, $inline);
$output .= l($node->title, $url['link'], $url['options']);
$output .= ". </span> \n";
$output .= !empty($node->biblio_contributors[2]) ? '(' . theme('biblio_authors', $node->biblio_contributors[2], 'apa', 2, $inline) . ', Ed.).' : "";
$output .= $node->biblio_secondary_title ? '<u>' . check_plain($node->biblio_secondary_title) . '. ' : '<u>';
$output .= $node->biblio_volume ? check_plain($node->biblio_volume) . ($node->biblio_issue ? '</u>(' . check_plain($node->biblio_issue) . '), ' : ',</u> ') : '</u> ';
// $output .= ($node->biblio_issue) ? '('. check_plain($node->biblio_issue).')' :'';
$output .= $node->biblio_pages ? check_plain($node->biblio_pages) . '.' : '';
break;
}
/* if ($node->biblio_date) $output .= ', '. check_plain($node->biblio_date);
if ($node->biblio_number) $output .= ', Number '. check_plain($node->biblio_number);
if ($node->biblio_place_published) $output .= ', '. check_plain($node->biblio_place_published);
*/
return filter_xss($output, biblio_get_allowed_tags());
}