15bbfd4a0SIkuo Obataya<?php 25bbfd4a0SIkuo Obataya/** 35bbfd4a0SIkuo Obataya * Description action plugin 45bbfd4a0SIkuo Obataya * 55bbfd4a0SIkuo Obataya * @lastmodified 2008-07-21 65bbfd4a0SIkuo Obataya * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 75bbfd4a0SIkuo Obataya * @author Ikuo Obataya <I.Obataya@gmail.com> 85bbfd4a0SIkuo Obataya * @version 2010-11-09 95bbfd4a0SIkuo Obataya */ 105bbfd4a0SIkuo Obataya 115bbfd4a0SIkuo Obatayaif(!defined('DOKU_INC')) die(); 125bbfd4a0SIkuo Obatayaif(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 13*e874628fSMatthias Schulte 145bbfd4a0SIkuo Obatayarequire_once(DOKU_PLUGIN.'action.php'); 155bbfd4a0SIkuo Obataya 16*e874628fSMatthias Schultedefine('KEYWORD_SOURCE_ABSTRACT', 'abstract'); 17*e874628fSMatthias Schultedefine('KEYWORD_SOURCE_GLOBAL', 'global'); 18*e874628fSMatthias Schultedefine('KEYWORD_SOURCE_SYNTAX', 'syntax'); 19*e874628fSMatthias Schulte 205bbfd4a0SIkuo Obatayaclass action_plugin_description extends DokuWiki_Action_Plugin { 21*e874628fSMatthias Schulte 225bbfd4a0SIkuo Obataya function register(&$controller) { 235bbfd4a0SIkuo Obataya $controller->register_hook('TPL_METAHEADER_OUTPUT','BEFORE',$this,'description',array()); 245bbfd4a0SIkuo Obataya } 25*e874628fSMatthias Schulte 265bbfd4a0SIkuo Obataya /** 275bbfd4a0SIkuo Obataya * Add a metadata['description']['abstract'] to meta header 285bbfd4a0SIkuo Obataya */ 295bbfd4a0SIkuo Obataya function description(&$event, $param) { 305bbfd4a0SIkuo Obataya if(empty($event->data) || empty($event->data['meta'])) return; 315bbfd4a0SIkuo Obataya 325bbfd4a0SIkuo Obataya global $ID; 33*e874628fSMatthias Schulte $source = $this->getConf('keyword_source'); 34*e874628fSMatthias Schulte if(empty($source)) $source = 'abstract'; 35*e874628fSMatthias Schulte 36*e874628fSMatthias Schulte if($source == KEYWORD_SOURCE_ABSTRACT) { 375bbfd4a0SIkuo Obataya $d = p_get_metadata($ID, 'description'); 385bbfd4a0SIkuo Obataya if(empty($d)) return; 395bbfd4a0SIkuo Obataya 405bbfd4a0SIkuo Obataya $a = str_replace("\n", " ", $d['abstract']); 415bbfd4a0SIkuo Obataya if(empty($a)) return; 42*e874628fSMatthias Schulte } 43*e874628fSMatthias Schulte 44*e874628fSMatthias Schulte if($source == KEYWORD_SOURCE_GLOBAL) { 45*e874628fSMatthias Schulte $a = $this->getConf('global_description'); 46*e874628fSMatthias Schulte if(empty($a)) return; 47*e874628fSMatthias Schulte } 48*e874628fSMatthias Schulte 49*e874628fSMatthias Schulte if($source == KEYWORD_SOURCE_SYNTAX) { 50*e874628fSMatthias Schulte $metadata = p_get_metadata($ID); 51*e874628fSMatthias Schulte $a = $metadata['plugin_description']['description']; 52*e874628fSMatthias Schulte } 535bbfd4a0SIkuo Obataya 545bbfd4a0SIkuo Obataya $m = array("name" => "description", "content" => $a); 555bbfd4a0SIkuo Obataya $event->data['meta'][] = $m; 565bbfd4a0SIkuo Obataya } 575bbfd4a0SIkuo Obataya} 58