xref: /plugin/description/action.php (revision 5bbfd4a0c314db1f8ab2b0a8f515607530e53dbb)
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