Project

General

Profile

Download (2.29 KB) Statistics
| Branch: | Tag: | Revision:
1
<?php
2
// $Id$
3

    
4
/**
5
* Copyright (C) 2007 EDIT
6
* European Distributed Institute of Taxonomy
7
* http://www.e-taxonomy.eu
8
*
9
* The contents of this file are subject to the Mozilla Public License Version 1.1
10
* See http://www.mozilla.org/MPL/MPL-1.1.html for the full license terms.
11
*/
12

    
13
function theme_cdm_reference_pager($referencePager, $path, $parameters = array()){
14
	drupal_set_title(t('Bibliographic index'));
15
	$out = '';
16
	if(count($referencePager->records) > 0){
17
		$out .= '<ul>';
18
		foreach($referencePager->records as $reference){
19
			$reference->fullCitation = $reference->titleCache; //FIXME remove hack for matching cdm entity to STO
20
			$out .= '<li>'.theme('cdm_reference', $reference, null, TRUE).'</li>';
21
		}
22
		$out .= '</ul>';
23
		$out .= theme('cdm_pager', $referencePager,  $path, $parameters);
24
	} else {
25
		$out = '<h4 class="error">Sorry, this page contains not entries.</h4>';
26
	}
27
	return $out;
28
}
29

    
30

    
31
/**
32
 * used by
33
 *  - theme_cdm_typedesignations
34
 *  - theme_cdm_reference_pager
35
 *  - theme_cdm_taxonRelationships
36
 *
37
 */
38
function theme_cdm_reference($reference, $microReference = null, $doLink = FALSE, $referenceStyle = NULL ){
39

    
40
  $author_team = cdm_ws_get(CDM_WS_REFERENCE_AUTHORTEAM, $reference->uuid);
41

    
42
  if($referenceStyle == "zoology"){
43
  	$year = partialToYear($reference->datePublished->start);
44
  	$citation = $author_team->titleCache . ($year ? '. '.$year : '');
45
  } else {
46
  	$citation = $reference->titleCache;
47
  }
48

    
49

    
50
  if($doLink){
51
  	$out = l('<span class="reference">'.$citation.'</span>'
52
          , path_to_reference($reference->uuid)
53
          , array("class"=>"reference")
54
          , NULL, NULL, FALSE ,TRUE);
55
    } else {
56
  	$out = '<span class="reference">'.$citation.'</span>';
57
  }
58

    
59
  if(!empty($microReference)){
60
      $out .= ": " . $microReference;
61
  }
62

    
63
  return $out;
64
}
65

    
66
function _short_form_of_author_team ($author_team){
67

    
68
	$number_of_authors = substr_count($author_team, ' & ') + 1;
69
	//var_dump($author_team);
70
	//var_dump($number_of_authors);
71
	switch ($number_of_authors) {
72
		case 1:
73
			$result = $author_team;
74
			break;
75
		case 2:
76
			$result = str_replace(' & ', ' and ', $author_team);
77
			break;
78
		default:
79
			$result_parts = explode(' & ', $author_team);
80
      $result = $result_parts[0] . ' et al.';
81
	}
82
	return $result;
83
}
(7-7/8)