You are here

function biblio_style_cse in Bibliography Module 6

Same name and namespace in other branches
  1. 5 biblio_style_cse.inc \biblio_style_cse()
  2. 6.2 styles/biblio_style_cse.inc \biblio_style_cse()
  3. 7 styles/biblio_style_cse.inc \biblio_style_cse()
  4. 7.2 styles/biblio_style_cse.inc \biblio_style_cse()

File

./biblio_style_cse.inc, line 46

Code

function biblio_style_cse($node, $base = 'biblio', $inline = FALSE) {
  $output = '';
  $author_options = biblio_style_cse_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>.&nbsp; \n";
  switch ($node->biblio_type) {
    default:
      if (isset($node->biblio_year)) {
        $output .= check_plain($node->biblio_year) . ".&nbsp;&nbsp;";
      }
      $output .= '<span class="biblio-title">';
      $url = biblio_get_title_url_info($node, $base, $inline);
      $output .= l($node->title, $url['link'], $url['options']);
      $output .= strpos($node->title, '?') ? " </span>" : ". </span>";

      // if the title ends in a question mark, don't put a period after it.
      $output .= !empty($node->biblio_secondary_title) ? check_plain($node->biblio_secondary_title) . '. ' : '';
      $output .= !empty($node->biblio_volume) ? check_plain($node->biblio_volume) : '';
      $output .= !empty($node->biblio_issue) ? '(' . check_plain($node->biblio_issue) . ')' : '';
      $output .= !empty($node->biblio_pages) ? ':' . str_replace(" ", "", 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());
}