開始行: *plugin memo [#k7e18c20] -ちょっとPlus!に書き込まれていた記事をコピペ (^Q^ |プラグイン|既定される関数名|型|戻り値|h |プラグイン初期化|function plugin_XXX_init()|void|| |ブロック型|function plugin_XXX_convert()|string|本文| |インライン型|function plugin_XXX_inline()|string|本文| |アクション|function plugin_XXX_action()|array|'msg'=>'タ... ---- >PukiWiki公式より #lsx #contentsx *** Plugin開発者向け、主な内部関数 [#dfc0bf7e] |関数|内容|h |func_get_args()|引数で定義したオプションを配列へ格納でき... |func_num_args()|渡された引数の数を求めることができます| |get_source($page)|ページの内容をソース状態で取得| |is_editable($page)|ページが編集可能かどうか| |is_page($page,$reload=FALSE)|ページが存在するかどうか。$... |is_pagename($str)|文字列がページ名かどうか| |make_pagelink($page,$alias='',$anchor='',$refer='')|ペー... |strip_bracket($str)|[[ や ]] で囲まれたページ名から、Bra... *** 値をglobal(グローバル変数)で定義して取得できる変数 ... |$script|スクリプト名、ここなら(http://taru.s223.com/ind... |$get|GETメソッドによるHTTPからの引数 ※$varsの使用を推... |$post|POSTメソッドによるHTTPからの引数 ※$varsの使用を推... |$vars|GET・POST両方のメソッドによるHTTPからの引数| |$vars["page"]|開いているページ名| ***plugin実行関数 [#u29f985e] &include_in(PukiWiki/function,notitle,plugin.php); ***アクセス制御用の関数仕様 [#d1f02f47] -check_readable($page, $auth_flag=true, $exit_flag=true) > --閲覧することができるかチェックする。 --今のところread_authと全く同じ。内部でread_authのみを呼... -check_editable($page, $auth_flag=true, $exit_flag=true) > --編集することができるかチェックする。 --edit_auth+凍結などのチェックをする場合。 -read_auth($page, $auth_flag=true, $exit_flag=true) > --閲覧権限があるかチェックする。 -edit_auth($page, $auth_flag=true, $exit_flag=true) > --編集権限があるかチェックする。 ~ |引数 |説明|h |$page |ページ名文字列| |$auth_flag |true: 現在のログイン状態で認証NGであれば、BA... |~|false:現在のログイン状態で判断するだけ| |$exit_flag |true: 認証NGの場合、check_xxxable関数側でNG... |~|false:認証NGの場合でも、戻り値falseで戻ってくるだけ| ~ |戻り値 |true: 認証OK| |~|false:認証NG| -get_source, file関数を使用している全てのプラグインで、 以下の関数による事前チェックを行うように改造しなければ、 そこが''セキュリティホール''になるので注意!! -使わないプラグインはpukiwiki/plugin/disableディレクトリ... そこに入れておくなどして、無効化すると良い。 -check_xxxxable系とxxx_auth系の使い分けは、特に問題がなけ... 観点で読めるか書けるかを判断しているcheck_xxxx系の方を利... -第2、第3引数のデフォルト値は既存プラグインとの互換性のた... 今後プラグインを実装する場合は明示的に指定した方がよいと... ***関数名・グローバル変数名(案) [#f770bee3] プラグインは、PukiWiki 配下で稼動するため、本体に影響を及... 関数名およびグローバル変数名の命名には、注意が必要となる。 プラグイン内で利用するプライベート関数であっても、プラグ... 際には、無用な混乱や、今後の本体開発・プラグイン開発の負... これら命名には、プラグイン名をプレフィックスとして付加す... 1つの PHP のシステムとしては、命名規則を明確に定めないと... コンフリクトし、稼動しないこととなる。 -非互換ついでに、PukiWiki/1.4でプラグインをクラス化してし... class Plugin_xxx { var $... /* define()していた定数やその... function Plugin_xxx() { /* plugin_xxx_init() */ } function action() { /* plugin_xxx_action() */ } function convert() { /* plugin_xxx_convert() */ } function inline() { /* plugin_xxx_inline() */ } こうしておけば名前空間が独立するので、本体とのしがらみを... 終了行: *plugin memo [#k7e18c20] -ちょっとPlus!に書き込まれていた記事をコピペ (^Q^ |プラグイン|既定される関数名|型|戻り値|h |プラグイン初期化|function plugin_XXX_init()|void|| |ブロック型|function plugin_XXX_convert()|string|本文| |インライン型|function plugin_XXX_inline()|string|本文| |アクション|function plugin_XXX_action()|array|'msg'=>'タ... ---- >PukiWiki公式より #lsx #contentsx *** Plugin開発者向け、主な内部関数 [#dfc0bf7e] |関数|内容|h |func_get_args()|引数で定義したオプションを配列へ格納でき... |func_num_args()|渡された引数の数を求めることができます| |get_source($page)|ページの内容をソース状態で取得| |is_editable($page)|ページが編集可能かどうか| |is_page($page,$reload=FALSE)|ページが存在するかどうか。$... |is_pagename($str)|文字列がページ名かどうか| |make_pagelink($page,$alias='',$anchor='',$refer='')|ペー... |strip_bracket($str)|[[ や ]] で囲まれたページ名から、Bra... *** 値をglobal(グローバル変数)で定義して取得できる変数 ... |$script|スクリプト名、ここなら(http://taru.s223.com/ind... |$get|GETメソッドによるHTTPからの引数 ※$varsの使用を推... |$post|POSTメソッドによるHTTPからの引数 ※$varsの使用を推... |$vars|GET・POST両方のメソッドによるHTTPからの引数| |$vars["page"]|開いているページ名| ***plugin実行関数 [#u29f985e] &include_in(PukiWiki/function,notitle,plugin.php); ***アクセス制御用の関数仕様 [#d1f02f47] -check_readable($page, $auth_flag=true, $exit_flag=true) > --閲覧することができるかチェックする。 --今のところread_authと全く同じ。内部でread_authのみを呼... -check_editable($page, $auth_flag=true, $exit_flag=true) > --編集することができるかチェックする。 --edit_auth+凍結などのチェックをする場合。 -read_auth($page, $auth_flag=true, $exit_flag=true) > --閲覧権限があるかチェックする。 -edit_auth($page, $auth_flag=true, $exit_flag=true) > --編集権限があるかチェックする。 ~ |引数 |説明|h |$page |ページ名文字列| |$auth_flag |true: 現在のログイン状態で認証NGであれば、BA... |~|false:現在のログイン状態で判断するだけ| |$exit_flag |true: 認証NGの場合、check_xxxable関数側でNG... |~|false:認証NGの場合でも、戻り値falseで戻ってくるだけ| ~ |戻り値 |true: 認証OK| |~|false:認証NG| -get_source, file関数を使用している全てのプラグインで、 以下の関数による事前チェックを行うように改造しなければ、 そこが''セキュリティホール''になるので注意!! -使わないプラグインはpukiwiki/plugin/disableディレクトリ... そこに入れておくなどして、無効化すると良い。 -check_xxxxable系とxxx_auth系の使い分けは、特に問題がなけ... 観点で読めるか書けるかを判断しているcheck_xxxx系の方を利... -第2、第3引数のデフォルト値は既存プラグインとの互換性のた... 今後プラグインを実装する場合は明示的に指定した方がよいと... ***関数名・グローバル変数名(案) [#f770bee3] プラグインは、PukiWiki 配下で稼動するため、本体に影響を及... 関数名およびグローバル変数名の命名には、注意が必要となる。 プラグイン内で利用するプライベート関数であっても、プラグ... 際には、無用な混乱や、今後の本体開発・プラグイン開発の負... これら命名には、プラグイン名をプレフィックスとして付加す... 1つの PHP のシステムとしては、命名規則を明確に定めないと... コンフリクトし、稼動しないこととなる。 -非互換ついでに、PukiWiki/1.4でプラグインをクラス化してし... class Plugin_xxx { var $... /* define()していた定数やその... function Plugin_xxx() { /* plugin_xxx_init() */ } function action() { /* plugin_xxx_action() */ } function convert() { /* plugin_xxx_convert() */ } function inline() { /* plugin_xxx_inline() */ } こうしておけば名前空間が独立するので、本体とのしがらみを... ページ名: