15153720fSfkaag71<?php 25153720fSfkaag71/** 35153720fSfkaag71 * @author François KAAG (francois.kaag@cardynal.fr) 45153720fSfkaag71 */ 55153720fSfkaag71// must be run within Dokuwiki 65153720fSfkaag71if(!defined('DOKU_INC')) die('Meh.'); 75153720fSfkaag71 85153720fSfkaag71/** 95153720fSfkaag71 * New enum type for Strata 105153720fSfkaag71 */ 115153720fSfkaag71class plugin_strata_type_enum extends plugin_strata_type { 125153720fSfkaag71 function render($mode, &$R, &$triples, $value, $hint) { 135153720fSfkaag71 global $ID; 145153720fSfkaag71 // use the hint if available 155153720fSfkaag71 $scope=getNS($ID); 16a7cb8011SFKaag if ($scope != "") $scope .=":"; 1794005e5cSFKaag if (substr($hint,0,1)===':') 18fccbf4c8SFKaag { $hint = substr($hint,1); } 19fccbf4c8SFKaag else 20fccbf4c8SFKaag { $hint = $scope.$hint; } 21fccbf4c8SFKaag 22*84c19ddfSFKaag $labels = $triples ->fetchTriples ($hint,null,$value,null,null); 235153720fSfkaag71 $label = ($labels? $labels[0]['predicate']: '#NA'); 24fccbf4c8SFKaag 25fccbf4c8SFKaag $R->internallink($hint,$label); 265153720fSfkaag71 return true; 275153720fSfkaag71 } 285153720fSfkaag71 295153720fSfkaag71 function getInfo() { 305153720fSfkaag71 return array( 315153720fSfkaag71 'desc'=>'Displays a value or a key by using the corresponding prefix in a given data fragment', 325153720fSfkaag71 'tags'=>array('string'), 335153720fSfkaag71 'hint'=>'data fragment' 345153720fSfkaag71 ); 355153720fSfkaag71 } 365153720fSfkaag71} 375153720fSfkaag71 38