$_<プラグイン名>_messages;のように宣言して使用します。ようにしてアクセスできることでしょう。設定するような値をダウンロードするユーザーの簡便性を考えてプラグイン中で設定しておく場合などに使用することでしょう。使用するとすでにその変数があった場合は上書きしません。設定のほうが優先されます。出力を開始してしまう関数やコードを置かないでください。sent」が出る原因になります。いう形式を推奨します。プラグイン名とします。グローバル変数にすることによって値を取得できます。書き換える必要があります。'plugin'プラグイン名を渡すために、予約されています。どちらか一方しか利用できません。呼び出す場合に使われます。プラグイン名を渡す場合のページ名。閲覧時などでページ名を得る場合に、使用することになる。プラグイン名を渡す場合のページ名。系なら、他のパラメータ名でも可。'pass'外部からメッセージ・文章やパスワードを受け取るために、予約されています。GETメソッドでこれらのパラメータが送られてきた場合に、アクセスを拒否します。'encode_hint'フォーム利用時に、文字化け防止用文字を自動付加するために予約されています。'word'本文中の特定の単語を色分けするために、予約されています。検索結果を表示する時などで使われています。設定によっては色分け処理が省略されます。本文をを分割する時に、利用されています。携帯向け利用を考慮するのなら、このパラメータを使わないようにしてください。ハッシュを格納するために、利用されています。他の目的でこのパラメータを使うのは、避けたほうが無難です。(特に、他のプラグインにデータを引き継ぐ場合)これ以外のパラメータ名は基本的に自由に使えます。他のプラグインを呼び出したりする場合は、同じ名前のパラメータが違う目的で使われている事によるトラブルを防ぐために、調整をする必要があります。代表的なものをいくつか。設定ファイルで使われている変数があります。タグ内に出力したい内容を、収めておく配列。?>)していないと、出力されない。出力するためのフラグ。受け入れるポリシーになっている事と、スキンが出力に対応している必要がある。$pkwk_dtd($html_transitional)出力するファイルの種類の宣言(DTD)を指定するフラグ。なるというものでした。スキンが対応していない(固定出力している)場合には、意味がありません。ページソースのmd5ハッシュ値が格納されます。対象としたいページとは別のものが入っている事があるため、自力で得たほうが無難です。$do_update_diff_table更新の衝突時に表示される、差分テーブルを格納するために予約。†これらの定義に応じて、プラグインの動作ポリシーを変更するようにしてください。PKWK_READONLYが有効の場合は、コメント用のフォームを表示しない、投稿を受け付けない)PKWK_READONLY変更を不可とする閲覧専用モードにするための設定。(BugTrack/744)同時に各種認証(管理者パス、ユーザー認証)が無効(正解でも拒否する状態)になるので、プラグイン設計時に注意する事。PKWK_SAFE_MODEもはや利用されていない機能、常時有効にする必要がない機能、その他安全ではないと思われる機能など、公開Web環境では使わない方がよい機能を、まとめて無効にするための設定。(BugTrack/787)PKWK_OPTIMISEきちんと動作確認を済ませたのであれば必要のない処理(ダブルチェックやデバッグ用メッセージなど)、有用ではあるがスパムやボットなどに大量にアクセス(実行)されるとパフォーマンスに影響がでる動作の重い機能、などを、まとめて無効にするための設定。(開発日記/2004-12-02)PKWK_ALLOW_JAVASCRIPTPukiWikiがJavaScriptを受け付けるかの設定。(BugTrack/578)無効の場合は、JavaScriptを用いずに出力する事。(設定を無視して、metaタグやJavaScriptを出力しない事)PKWK_QUERY_STRING_MAXPukiWikiが受け付けるQUERY_STRING(URIの?以降)の長さを制限するための設定。(開発日記/2005-01-02)長いアドレスを生成する場合には、受付拒否されないようにチェックが必要。SOURCE_ENCODINGPukiWikiスクリプトのソースで使われている文字エンコーディング。ページ名や各データがソースのエンコーディングに依存しているので、エンコーディング変換を行う際に使用されます。モジュールがサポートしているエンコーディング名を使用しているはずです。†func_get_args()でプラグインに渡される引数はサニタイズされていませんので、引数の値を出力するプラグインでは、プラグインの中でサニタイズしてから出力しないとクロスサイトスクリプティング(XSS)の脆弱性が発生します。引数の値をHTML・XHTMLのタグの属性値として出力する場合、プラグイン内で「>」や「&」、「"」などを実体参照に変換しておく必要があります。htmlspecialcharsを通すことで簡単に変換できますので、忘れずに処理しておきましょう。そのままHTMLに出力できるのようにします。barが省略された&plugin(foo);の場合でも、$barには空の文字列が入ります(上記参照)。代替として利用するようにしてください。適切な値を指定しておくことを強く推奨します。マニュアルにあるように、不一致による文字化けなどが原因となり正常に表示できないケースがあります。†PukiWiki1.4にはアクセス制御が組み込まれているため、プラグインからページを直接読み込んでいる場合はアクセス権のチェックをしないとセキュリティホールになります。1.1ではCDATAではなく#PCDATA)。XMLのCDATAセクション(<![CDATA[~]]>で囲む)を使用するか、scriptを外部ファイルにする必要があります。XMLに対応していないブラウザとの互換性を重視して、外部ファイルにするのが無難です。†1.4用のプラグインもしくはスキンで、amazonアソシエートによるamazonへのライブリンクを導入する場合、<iframe>を<object>に置き換える必要があります。src="..."をdata="..."に書き換え、type="text/html"を指定します。属性値の中の&を&amp;に書き換える必要があります。属性値を必ず引用符で囲む必要があります。タグ名や属性名は小文字にする必要があります。<map>タグのname属性をid属性に変更する必要があります。/>のように閉じタグ付きに書き換える必要があります。<img>タグ、<area>タグにalt属性を追加する必要があります。<img>タグのborder属性をstyle="border-width"に書き換える必要があります。1.1ではイメージマップを定義している<map>のid属性の値を指定するよう変更されています。したがって、<img>タグのusemap属性の属性値が#で始まっている場合は#を削除する必要があります。1.4用に書き換えると次のようになります。</table></object><iframe>を<object>に書き換えるとき、widthとheightの値を微調整する必要があるのと、style="overflow:hidden"を指定しておくのが無難です。IEの場合、style="overflow:hidden"が効かないバグがあるので、widthとheightの値を大きくしておく必要があります。ここではIEとその他のブラウザで条件分けしていますが、CSSファイルをIE用とその他のブラウザで分けている場合は、<object>のwidth、heightをCSSファイルで指定しておけば上記のような条件分けは必要ありません。width、height、styleをCSSファイルで指定した場合は<object>は次のように指定できます。&amp;search=%E3%82%A4%E3%83%A9%E3%82%AF&amp;mode=books-jp&amp;p=11&amp;o=9&amp;f=ifr">1.3系用のamazonkey.inc.phpも上記の修正で簡単に1.4系で使用できます。Explorerの<object>にはバグがあり、<object>内のリンクをクリックした場合、フレームでもないのに<object>内でリンク先のページを表示してしまいます。W3C準拠のブラウザではこのような症状は発生しません。独自プラグイン等での管理者パスワードのチェックはpkwk_login()を利用する事が推奨されています。