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