1<?php 2/** 3 * Description action plugin 4 * 5 * @lastmodified 2008-07-21 6 * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 7 * @author Ikuo Obataya <I.Obataya@gmail.com> 8 * @version 2010-11-09 9 */ 10 11if(!defined('DOKU_INC')) die(); 12if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 13require_once(DOKU_PLUGIN.'action.php'); 14 15class action_plugin_description extends DokuWiki_Action_Plugin { 16 function getInfo(){ 17 return array( 'author' => "Ikuo Obataya" 18 ,'email' => 'ikuo.obataya@gmail.com' 19 ,'date' => '2007-07-21' 20 ,'name' => "Description action plugin" 21 ,'desc' => "Add an abstract to a description meta header" 22 ,'url' => 'http://symplus.edu-wiki.org/en/description_plugin' 23 ); 24 } 25 function register(&$controller) { 26 $controller->register_hook('TPL_METAHEADER_OUTPUT','BEFORE',$this,'description',array()); 27 } 28 /** 29 * Add a metadata['description']['abstract'] to meta header 30 */ 31 function description(&$event, $param) { 32 if(empty($event->data)||empty($event->data['meta'])) return; 33 34 global $ID; 35 $d = p_get_metadata($ID,'description'); 36 if(empty($d)) return; 37 38 $a = str_replace("\n"," ",$d['abstract']); 39 if(empty($a)) return; 40 41 $m = array("name"=>"description","content"=>$a); 42 $event->data['meta'][] = $m; 43 } 44} 45