~epii/kagura/1.1

« back to all changes in this revision

Viewing changes to kagura/macros/plugin.php

  • Committer: epii
  • Date: 2009-12-27 06:14:34 UTC
  • Revision ID: svn-v4:9b580f6f-30a1-4087-afa3-92ba4f18fc20:trunk:26
Kagura ディレクトリとプラグインディレクトリを分離。
また Sample プログラムも別ディレクトリに。
それに伴いバージョンを v1.1 に変更。

ライセンスを LGPL に変更した。

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
/**
 
4
 * プラグイン一覧
 
5
 */
 
6
$kag_en_plugs = array();
 
7
 
 
8
/**
 
9
 * プラグインを読み込む
 
10
 */
 
11
function kag_load_plugins($conv){
 
12
        global $kag_en_plugs;
 
13
        $kag_en_plugs = array();
 
14
        $plugin_dir = $conv->plugins();
 
15
        if(!is_dir($plugin_dir))
 
16
                return;
 
17
        foreach(scandir($plugin_dir) as $dirname){
 
18
                if(!is_dir($plugin_dir.'/'.$dirname))
 
19
                        continue;
 
20
                $targ = $plugin_dir.'/'.$dirname.'/'.$dirname.'.plug.php';
 
21
                if(!file_exists($targ))
 
22
                        continue;
 
23
                $plugname = $dirname;
 
24
                $kag_en_plugs[] = $plugname;
 
25
                require_once($targ);
 
26
        }
 
27
}
 
28
 
 
29
function kag_plugin_oninitialize($conv){
 
30
        static $loaded = false;
 
31
        if(!$loaded){
 
32
                kag_load_plugins($conv);
 
33
                $loaded = true;
 
34
        }
 
35
        global $kag_en_plugs;
 
36
        foreach($kag_en_plugs as $plug_name){
 
37
                $func = 'kag_'.$plug_name.'_oninitialize';
 
38
                if(function_exists($func))
 
39
                        $func($conv);
 
40
        }
 
41
}
 
42
 
 
43
function kag_plugin_onconvert($conv){
 
44
        global $kag_en_plugs;
 
45
        foreach($kag_en_plugs as $plug_name){
 
46
                $func = 'kag_'.$plug_name.'_onconvert';
 
47
                if(function_exists($func))
 
48
                        $func($conv);
 
49
        }
 
50
}
 
51
 
 
52
?>