function biblio_contextObject in Bibliography Module 7.2
Same name and namespace in other branches
- 5 biblio.module \biblio_contextObject()
- 6.2 includes/biblio.util.inc \biblio_contextObject()
- 6 biblio.module \biblio_contextObject()
- 7 includes/biblio.util.inc \biblio_contextObject()
2 calls to biblio_contextObject()
- biblio_coins in includes/biblio.util.inc
- biblio_openurl in includes/biblio.theme.inc
File
- includes/biblio.util.inc, line 65
Code
function biblio_contextObject($biblio) {
global $base_url;
$wrapper = biblio_wrapper($biblio);
$title = $wrapper->biblio_title
->value();
$secondary_title = $wrapper->biblio_title_secondary
->value();
$short_title = $wrapper->biblio_short_title
->value();
$tertiary_title = $wrapper->biblio_title_tertiary
->value();
$issn = $wrapper->biblio_issn
->value();
$isbn = $wrapper->biblio_isbn
->value();
$year = $wrapper->biblio_year
->value();
$volume = $wrapper->biblio_volume
->value();
$issue = $wrapper->biblio_issue
->value();
$pages = $wrapper->biblio_pages
->value();
$publisher = $wrapper->biblio_publisher
->value();
$place_published = $wrapper->biblio_place_published
->value();
$doi = $wrapper->biblio_doi
->value();
$i = 0;
$co = array();
if ($biblio->publication_type == 'journal_article' || $biblio->publication_type == 'book_chapter') {
if (!empty($title)) {
$co["rft.atitle"] = check_plain($title);
}
if (!empty($secondary_title)) {
$co["rft.title"] = check_plain($secondary_title);
if ($biblio->publication_type == 'book_chapter') {
$co["rft.btitle"] = check_plain($secondary_title);
}
}
}
elseif (!empty($title)) {
$co["rft.title"] = check_plain($title);
}
if ($biblio->publication_type == 'book' && !empty($secondary_title)) {
$co["rft.btitle"] = check_plain($secondary_title);
}
if (!empty($short_title)) {
$co["rft.stitle"] = check_plain($short_title);
}
if (!empty($tertiary_title)) {
$co["rft.series"] = check_plain($tertiary_title);
}
if (!empty($issn)) {
$co["rft.issn"] = check_plain($issn);
}
if (!empty($isbn)) {
$co["rft.isbn"] = check_plain($isbn);
}
if (!empty($year)) {
$co["rft.date"] = check_plain($year);
}
if (!empty($volume)) {
$co["rft.volume"] = check_plain($volume);
}
if (!empty($issue)) {
$co["rft.issue"] = check_plain($issue);
}
if (!empty($pages)) {
if (preg_match("/[0-9] *- *[0-9]/", $pages)) {
list($pagestart, $pageend) = preg_split('/\\s*[-]\\s*/', $pages);
if ($pagestart < $pageend) {
$co["rft.spage"] = check_plain($pagestart);
$co["rft.epage"] = check_plain($pageend);
}
}
elseif ($biblio->publication_type == 'book') {
$pagetotal = preg_replace('/^(\\d+)\\s*pp?\\.?$/', "\\1", $pages);
$co["rft.tpages"] = check_plain($pagetotal);
}
else {
$co["rft.spage"] = check_plain($pages);
}
}
if (!empty($biblio->biblio_contributors)) {
if (!empty($biblio->biblio_contributors[0]['lastname'])) {
$co["rft.aulast"] = check_plain($biblio->biblio_contributors[0]['lastname']);
}
if (!empty($biblio->biblio_contributors[0]['firstname'])) {
$co["rft.aufirst"] = check_plain($biblio->biblio_contributors[0]['firstname']);
}
elseif (!empty($biblio->biblio_contributors[0]['initials'])) {
$co["rft.auinit"] = check_plain($biblio->biblio_contributors[0]['initials']);
}
for ($i = 1; $i < count($biblio->biblio_contributors); $i++) {
$author = $biblio->biblio_contributors[$i];
if ($author['category'] == 'primary') {
if (!empty($author['lastname'])) {
$au = $author['lastname'];
if (!empty($author['firstname']) || !empty($author['initials'])) {
$au .= ", ";
}
}
if (!empty($author['firstname'])) {
$au .= $author['firstname'];
}
elseif (!empty($author['initials'])) {
$au .= $author['initials'];
}
if (!empty($au)) {
$co["rft.au" . $i] = $au;
}
}
}
}
if (!empty($publisher)) {
$co["rft.pub"] = check_plain($publisher);
}
if (!empty($place_published)) {
$co["rft.place"] = check_plain($place_published);
}
if (!empty($doi)) {
$co["rft_id"] = "info:doi/" . check_plain($doi);
}
return $co;
}