56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * Refbase entry renderer using simple hyperlink and tooltip
 | |
|  */
 | |
| class RefbaseRendererLink extends RefbaseRenderer {
 | |
| 
 | |
| 	/// Object generating citations
 | |
| 	private $citationCreator;
 | |
| 
 | |
| 	/**
 | |
| 	 * Constructor (simply inherit from parent)
 | |
| 	 */
 | |
| 	public function __construct( $citationType ) {
 | |
| 		parent::__construct();
 | |
| 
 | |
| 		$this->citationCreator = new RefbaseCitationCreator( $citationType );
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * List fields required to build template
 | |
| 	 */
 | |
| 	public function getFieldList() {
 | |
| 		$citeList = $this->citationCreator->getFieldList();
 | |
| 		return array_unique( array_merge( array( 'serial' ), $citeList ) );
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Render output: add wiki link to refbase page, include citation in tooltip
 | |
| 	 */
 | |
| 	public function render( $entry, & $cite, $options ) {
 | |
| 
 | |
| 		$citekey = $options['citekey'];
 | |
| 		$cite = "";
 | |
| 		// Simply link to refbase, and add tooltip
 | |
| 		// (form string [URL <span title="CITATION"> KEY </span>] )
 | |
| 
 | |
| 		// Display the key (cite_key or serial number as wiki text)
 | |
| 		$wikiText = $citekey;
 | |
| 
 | |
| 		// Add full citation as a tooltip
 | |
| 		$toolTip  = "";
 | |
| 		$this->citationCreator->createCitation( $entry, $toolTip );
 | |
| 
 | |
| 		// Link to refbase page for current entry
 | |
| 		$link = $this->refbaseURL . "show.php?record=" . $entry['serial'];
 | |
| 
 | |
| 		// Build full string
 | |
| 		$cite .= "[" . $link . " ";
 | |
| 		$cite .= Html::openElement( 'span', array( 'title' => "\"" . $toolTip . "\"" ) );
 | |
| 		$cite .= $wikiText . Html::closeElement( 'span' ) . "]";
 | |
| 
 | |
| 		return true;
 | |
| 	}
 | |
| 
 | |
| } |