You are here

function biblio_page_content in Bibliography Module 7.2

Same name and namespace in other branches
  1. 7 includes/biblio.pages.inc \biblio_page_content()
2 calls to biblio_page_content()
biblio_page in includes/biblio.pages.inc
biblio_profile_page in includes/biblio.pages.inc

File

includes/biblio.pages.inc, line 173

Code

function biblio_page_content($bids = array(), $extras = array()) {
  $base = variable_get('biblio_base', 'biblio');
  $content = $raw_biblios = $biblios = array();
  $count = $section_id = 0;
  if (module_exists('popups')) {
    popups_add_popups();
  }
  if (count($bids)) {

    //  $nids = array_unique($nids);
    $raw_biblios = biblio_load_multiple($bids);
    $langcode = $GLOBALS['language_content']->language;

    // @todo determine the language programatically
    $field_language = 'und';
    field_attach_prepare_view('biblio', $raw_biblios, 'biblio_list', $langcode);
    entity_prepare_view('biblio', $raw_biblios, $langcode);
    foreach ($bids as $key => $bid) {
      if (!empty($extras)) {
        $biblios[] = (object) array_merge((array) $raw_biblios[$bid], (array) $extras[$key]);
      }
      else {
        $biblios[] = $raw_biblios[$bid];
      }
    }
  }
  foreach ($biblios as $biblio) {
    $count++;
    if (is_array($biblio)) {
      $biblio = (object) $biblio;
    }
    $biblio->language = $field_language;
    if (variable_get('biblio_hide_bibtex_braces', 0)) {
      $biblio->title = biblio_remove_brace($biblio->title);
    }
    $biblio->content = field_attach_view('biblio', $biblio, 'biblio_list');

    // output new section if needed
    if ($section = biblio_category_section($biblio)) {
      $section_id++;
      $content['section_' . $section_id] = $section;
    }
    $content['section_' . $section_id][] = biblio_entry($biblio);
  }
  $content['pager']['#markup'] = theme('pager');
  if ($count == 0) {
    $content .= "<h3>" . t("No items found") . "</h3>";
    if (strstr($content, "Filters:")) {
      $content['message']['#markup'] = t('!modify_link or !remove_link your filters and try again.', array(
        '!modify_link' => l(t('Modify'), "{$base}/filter"),
        '!remove_link' => l(t('remove'), "{$base}/filter/clear"),
      ));
    }
  }
  return $content;
}