[[:CategoryDev]] **PukiWikiのPlug-inの仕様 #contents ***プラグインディレクトリについて PukiWikiのページのHTMLへのコンバート時と、プラグイン機能からの値を受け取って処理を行うプラグインを設置することができます。 ***ページ内でのプラグインの呼び出し #プラグイン名 #プラグイン名(arg1,arg2...) -行頭にスペースは含めることはできない。 -引数内に括弧()を使用することができる。ただし ) 単体は不可。 -引数を指定しなくても呼び出せる 実際には プラグインディレクトリ/プラグイン名.inc.php 内の plugin_プラグイン名_convert() が呼ばれます ***URL指定でのプラグインの呼び出し pukiwiki.php?plugin=プラグイン名 実際には プラグインディレクトリ/プラグイン名.inc.php 内の plugin_プラグイン名_action() が呼ばれます ***ファイル名 プラグイン名.inc.php ***関数 function plugin_プラグイン名_convert() -HTMLへのコンバート時に呼び出される。 -引数は func_get_args() で配列へ格納できる。([0]~[n]) -func_num_args() によって、渡された引数の数を求めることができる。 function plugin_プラグイン名_action() -GET・POSTメソッドでpluginを指定されたときに呼び出される -返値に array("msg" => "$1 is page") などを返すと $1 をページ名としてページタイトルに置換される -die() を実行することにより、ページに戻らないようにできる ***ファイル内容 ユーザに設定させる初期値などについては、define で定義する。 コンバート時のGET・POSTの出力内容に必要なものは refer と plugin という値で、 >refer : そのページの名前($vars["page"])~ >plugin : プラグイン名 とします。 以下の値を global でグローバル変数にすることによって値を取得できます。 $script : スクリプト名 $get : GETメソッドによるHTTPからの引数 $post : POSTメソッドによるHTTPからの引数 $vars : GET・POST両方のメソッドによるHTTPからの引数 $vars["page"] : 開いているページ名 (strip_bracket関数により[[]]を取り除ける)