Project

General

Profile

Download (2.88 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
  global $theme_key; //TODO: implement in the palmae theme the concrete case
40
  $author_team = cdm_ws_get(CDM_WS_REFERENCE_AUTHORTEAM, $reference->uuid);
41

    
42
	if($style == "zoology"){
43
		$year = partialToYear($reference->datePublished->start);
44
		$citation = $author_team->titleCache . ($year ? '. '.$year : '');
45
	}elseif ($theme_key == 'palmweb_2') {
46
		$year = partialToYear($reference->datePublished->start);
47
    $citation = short_form_of_author_team ($author_team->titleCache) . ($year ? '. '.$year : '');
48
    $citation = str_replace('..', '.', $citation);
49
	} else {
50
		$citation = $reference->titleCache;
51
		
52
		//$year = partialToYear($reference->datePublished->start);
53
		//$citation = short_form_of_author_team ($author_team->titleCache) . ($year ? '. '.$year : '');
54
		//$citation = str_replace('..', '.', $citation);
55
	}
56

    
57
	if($doLink){
58
		$out = l('<span class="reference">'.$citation.'</span>'
59
          , path_to_reference($reference->uuid)
60
          , array("class"=>"reference")
61
          , NULL, NULL, FALSE ,TRUE);
62
    } else {
63
		$out = '<span class="reference">'.$citation.'</span>';
64
	}
65
    if(!empty($descriptionElementSource->citationMicroReference)){
66
        $out .= ': '. $descriptionElementSource->citationMicroReference;
67
     }
68
     
69
    return $out;
70
}
71

    
72
function short_form_of_author_team ($author_team){
73

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