名前欄に RGB() 関数または名前欄の先頭に@(16進数の組合せ)@を入れることにより色の付加を行うプラグインです。以下はルールと変換した値です。
# 赤、緑、青の強さを示す三つの数字(0-255)を入れると自動的に16進数に変換する # なお、255よりも大きい数字が指定された場合255として認識される 変換前: RGB(255,255,255)This is a test. 変換後: <span style="color:#ffffff">This is a test.</span> # Webで利用されるシャープ(#:省略可能)と6つの16進数の数字の組合せはそのまま反映される # 英字部分は大小の区別を行わなず、変換時に小文字に統一される 変換前: RGB(FF0000)This is a test. 変換後: <span style="color:#ff0000">This is a test.</span> # RGB()関数は名前欄内に何回でも利用できる # また、RGBの英字部分は大小の区別を行わない 変換前: RGB(FF0000)Foorgb(0000FF)BAR 変換後: <span style="color:#ff0000">FOO</span><span style="color:#0000ff">BAR</span> # 上記のルールに反するRGB関数の使い方が行われている場合その部分は無視される # これを逆に利用して名前欄の文字色を元に戻すことが出来る 変換前: RGB(-1,-1,-1)foorgb(invalid)bar 変換後: foobar # 名前欄の先頭に#を除いた16進数の数字の組合せを@ではさんだ文字列を入れる # 英字部分は大小の区別を行わなず、変換時に小文字に統一される # RGB関数よりも優先的に適用され、名前欄中に1度しか利用できない 変換前: @FfFfFf@test@000000@ 変換後: <span style="color:#ffffff">test@000000</span>
上記の処理を行う関数です。
標準では全てエスケープされる HTML のタグを有効にするプラグインです。本文のみ有効です。このプラグインを使用するには利用するサーバー側に HTML::Parser がインストールされている必要があります。
このプラグインは XSS の原因を作る危険性があります。使用する場合はそのことを考慮してください。
タグ許可の記述ルールは ini 形式を用いて行います。文法が間違っているとエラーが発生して書き込めなくなります。 config の TagsRuleConfig の項目を参照してください。
# この行は無視されます ; この行も無視されます # (キー名)=(値)形式で記述します。 # 値は 1 か 0 が入ります。1 にすると許可、0 にすると禁止を意味するようになります。 # キー名または値前後の空白は無視されます。 # なお、タグ記述ルールに入っていないタグ及び属性は全て無効とみなします。 # [(タグ名)]よりも前にキー名(以下属性)と値を # 記述すると全てのタグに影響します。 # この場合以下のタグに該当し、なおかつ属性に該当しない場合は # その属性が削除されることを意味します。 # allとnone は特別な意味が含まれています。説明は以下で。 none = 1 # E<lt>fontE<gt>タグに関する情報です。以下の場合はE<lt>fontE<gt>タグを # 有効にし、color 属性または size 属性があればタグとして表示することを # 許可することを意味します。 [font] color = 1 size = 1 # E<lt>bE<gt>タグに関する情報です。以下の場合はE<lt>bE<gt>タグを # 有効にしますが、属性を全て無効にすることを意味します。 [b] none = 1 # E<lt>s<gt>タグに関する情報です。以下の場合はE<lt>sE<gt>タグを # 有効にし、可能な限り属性を許可します。 [s] all = 1
以下は強制的に無効にされるタグ及び属性情報です。
style = 0 onmouseover = 0 onclick = 0 onmouseout = 0 [a] all = 0 [br] all = 0 [blink] all = 0 [hr] all = 0 [marquee] all = 0 [img] all = 0
上記の処理を行う関数です。
特殊スレッドを常時上げた状態にするためのプラグインです。
上記の処理を行う関数です。
アイコン付きの投稿を行えるようにするプラグインです。インストール方法はアイコンを利用可能にするを参照してください。
利用可能なアイコンの配列をテンプレートタグで利用可能にする関数です。このテンプレートタグは以下のように使います。
<TMPL_IF NAME=Icon> アイコン:<select name="icon"><option value="" selected>なし</option> <TMPL_LOOP NAME=Icons><option value="<TMPL_VAR NAME=id>"><TMPL_VAR NAME=name></option> </TMPL_LOOP> </select><br> </TMPL_IF>
上記 (add_tag_on_bbs) の処理を read.cgi の呼出し時に行う関数です。
アイコンの投稿情報を本文に付加する関数です。
index.html 生成時にアイコンのリンクを作成する関数です。
read.cgi による html 生成時にアイコンのリンクを作成する関数です。
最後に書き込みした記録を RSS として出力するプラグインです。現在バージョン 1.0 と 2.0 に対応しています。
Zeromin からクラス名 (Img0ch::Plugin::BBS::RSS) をクリックし、「配信するレス数」を変更することによって RSS で配信するレス数を掲示板単位で変更することが出来ます。デフォルトは 10 です。
RSS のバージョン 1.0 の xml を出力する関数です。
RSS のバージョン 2.0 の xml を出力する関数です。
Zeromin からクラス名 (Img0ch::Plugin::BBS::RSS) をクリックし、変更できるパラメータです。
設定変更には「掲示板設定関連」の「基本的で重要な設定」の権限が必要です。
RSSで配信するレス数を変更することが出来ます。掲示板単位で変更可能です。デフォルトは 10 です。
名無しをルールにあわせてランダムに表示させて変更するプラグインです。
このプラグインを利用するには config の [random774] を設定する必要があります。詳しくは config を参照してください。
変更された名前欄はトリップや fusianasan と同じように細い文字で表示されます。
上記の処理を行う関数です。
書き込みの勢いが少ないスレッドを対象にプーリングを自動化するプラグインです。
上記の処理を行う関数です。
Zeromin からクラス名 (Img0ch::Plugin::BBS::Reaper) をクリックし、変更できるパラメータです。
設定変更には「プール関連」の「作成」の権限が必要です。
何回の割合で自動プーリングを実行するかを指定します。掲示板単位で変更可能です。デフォルトは 16 です。
スレッドの最終書き込み時からの経過日数以上経過した場合にプーリングする基準の日数を指定します。0 または空欄を指定するとこの基準を無効にする (この基準でプーリングされなくなる)ことが出来ます。掲示板単位で変更可能です。デフォルトは 30 です。
スレッドのレス数が一定以上あった場合にプーリングする基準のレス数を指定します。 0 または空欄を指定するとこの基準を無効にする(この基準でプーリングされなくなる) ことが出来ます。掲示板単位で変更可能です。デフォルトは 1000 です。
スレッドが subject.txt から見て一定位置以下にあった場合にプーリングする基準の位置を指定します。0 または空欄を指定するとこの基準を無効にする (この基準でプーリングされなくなる)ことが出来ます。掲示板単位で変更可能です。デフォルトは 500 です。
スレッドの勢いが一定以下の場合にプーリングする基準の勢いを指定します。 0 または空欄を指定するとこの基準を無効にする (この基準でプーリングされなくなる)ことが出来ます。掲示板単位で変更可能です。デフォルトは 0.5 です。
レス数またはサイズが一定以上、停止または移転状態のスレッドをプーリングするかを指定します。掲示板単位で変更可能です。
utf8 に変換した dat を生成するプラグインです。 Ajax による読み込みに対応した read.html の組合せで使います。
このプラグインは有効にしてから次の書き込みが成功した時点でファイルが生成されます。
utf8 に変換した dat を生成する関数です。文字コードの変換に Unicode::Japanese を使用します。
utf8 に変換された dat を削除する関数です。スレッド削除時に呼び出されます。
存在する全てのスレッドに対して utf8 に変換した dat を生成し、存在しないスレッドの utf8 の dat を削除する関数です。サブジェクト再生成が実行された時に呼び出されます。
外部モジュールVIPクオリティ http://www.nullpo.org/pablic_html/vip_quality/vip_quality.html を使用してレスに変化をつけるプラグインです。使用可能な記述方法は上記のURLを参照してください。日時及びIDの変更がプラグイン側で出来ないため、 !noidといったIDの変更を行うコマンドは使用できません。
インストール方法は config の VIP クオリティを利用可能にするを参照してください
上記の処理を行う関数です。
Img0ch::Thread::Virtual を使ってスレッドごとに独自の掲示板設定や NG ワード、規制アドレスを設けることが出来るようにするためのプラグインです。
このプラグインを利用するには予め掲示板設定の BBS_ENABLE_ANNOTATION を有効にしておく必要があります。
スレッドごとに設定された独自の掲示板設定を読み込む処理を行います。スレッドが存在するときのみ読み込まれます。
スレッドごとに設定された NG ワードや規制アドレスによって振り分けする処理を行います。スレッドが存在するときのみ読み込まれます。
「PROXY 経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
スレッド作成時にアノテーションからスレッドごとの設定を作成する処理を行います。以下は利用できるアノテーションです。
ユーザー名を設定します。必須項目です。
パスワードを設定します。必須項目です。
書き込むスレッドが存在する掲示板内の設定を継承するスレッドのスレッドキーを設定します。継承元のスレッドが設定していたユーザー名とパスワードを一致させる必要があります。
NGワードを設定します。カンマ区切りで複数の単語をNGワードにすることが出来ます。正規表現は使うことが出来ません。
掲示板設定を設定します。利用できるキーは以下の通りです。
Zeromin からクラス名 (Img0ch::Plugin::BBS::VT) のうち create の項目をクリックすることで変更できるパラメータです。
設定変更には「掲示板設定関連」の「基本的で重要な設定」の権限が必要です。
投稿情報を Akismet を経由してスパム等の投稿を排除するプラグインです。 Akismet は wordpress 他ブログ等で利用されますが、かなり効果が高いとされています。
このプラグインは Akismet に IP アドレスが送信されます。また、以下の設定次第ではメールアドレス及びリファラー情報を送信します。このプラグインを利用するときは http://www.wordpress.com の API キーを取得し、img0ch-config.cgi に以下のように記述する必要があります。
[akismet] apikey = (wordpress.comで取得したAPIキー) # メールアドレスを送信する場合は次の行の#を削除する # mail = 1 # リファラー情報を送信する場合は次の行の#を削除する # referer = 1
なお、メールアドレスに含むキャップパスは事前に処理されて削除されるため、キャップパスが Akismet に送信されることはありません(mail が有効の場合に限る)。
Akismet の利用は基本的に個人利用でかつ利益をあまり上げていない場合無料ですが、個人利用で一定額の利益を上げているまたは商用利用の場合は有料です。詳細は Akismet ( http://www.akismet.com ) で確認してください。
このプラグインを使用するには利用するサーバー側にLWPがインストールされている必要があります。
上記の処理を行う関数です。「PROXY経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
英字のみで構成される本文をエラーとして排除するプラグインです。使用順は Encode、Unicode::Japanese の順です。
上記の処理を行う関数です。この関数は例外で全ての権限を持つキャップグループに所属するキャップの書き込みでも通過せずに処理します。
IP アドレスを DNSBL に問い合わせて書き込みの可否を行うプラグインです。
以下の関数は「PROXY 経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
niku.2ch.net に問い合わせて書き込みの可否を行う関数です。
bbx.2ch.net に問い合わせて書き込みの可否を行う関数です。
list.dsbl.org に問い合わせて書き込みの可否を行う関数です(現在使用不可)。
all.rbl.jp に問い合わせて書き込みの可否を行う関数です。
spamcop.net に問い合わせて書き込みの可否を行う関数です。
sbl-xbl.spamhaus.org に問い合わせて書き込みの可否を行う関数です。
opm.blitzed.org に問い合わせて書き込みの可否を行う関数です。 (opm.blitzed.orgはサービスを停止したため、この関数は利用しても拒否を行いません)
bsb.empty.us に問い合わせて書き込みの可否を行う関数です。
bsb.spamlookup.net に問い合わせて書き込みの可否を行う関数です。
あらかじめ Zeromin に登録された拒否ホストの投稿をエラーとして排除するプラグインです。
上記の処理を行う関数です。「PROXY 経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
あらかじめ Zeromin に登録された拒否 IP アドレスの投稿をエラーとして排除するプラグインです。
上記の処理を行う関数です。「PROXY 経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
リモートホストが日本のものであれば無条件で通過させ、それ以外の国であれば書き込みを禁止するプラグインです。まず先に install の 日本以外の投稿を禁止するの項目を参照してから有効にしてください。スクリプトのエラーが発生し、書き込みが出来なくなります。
この処理では先にリモートホストが .jp で終了しているかを見ます。それから IP::Country でリモートホストの国籍を割り出します。さらにこれが JP でなければ HOST-jp.ini から例外を見ます。例外に該当しなかった場合は偽を返し、エラーとして扱います。
上記の処理を行う関数です。「PROXY 経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
あらかじめZerominに登録された NG ワードを含む投稿をエラーとして排除するプラグインです。
※注意現在このプラグインはインストールされず、利用も非推奨となっています。代わりに Img0ch::Plugin::Filter::NGWord2 を利用してください。
上記の処理を行う関数です。「PROXY 経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
あらかじめZerominに登録されたNGワードを含む投稿をエラーとして排除するプラグインです。以下の点で Img0ch::Plugin::Filter::NGWord と動作が異なります
Img0ch::Plugin::Filter::NGWord は正規表現を扱っていましたが、これは扱いが難しく、スクリプト側でのエラーの原因になりました。そこで index 関数による単純一致に処理を置き換え、柔軟性を犠牲にする代わりに高速化を図っています。
Img0ch::Plugin::Filter::NGWord は全体に適用するため、規制範囲の細かい制御が出来ませんでしたが、このプラグインでは範囲指定が可能になっています。
上記の処理を行う関数です。「PROXY 経由での書き込みの許可」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
本文にプロトコルが http または https から始まるリンクを載せた場合に「フォームが正しく読めないです」のエラーを出力するプラグインです。本文にリンクを記載するスパムに有効です。
上記の処理を行う関数です。「投稿時の量にかかわる制限の解除」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
メール欄にメールアドレスを載せた場合に「フォームが正しく読めないです」のエラーを出力するプラグインです。普通に考えれば本末転倒な感じのプラグインですが、 2ch 型のスレッドフロート型掲示板においてメール欄にメールアドレスを記述することがあまり無いことから作られたものです。メールアドレスを載せるスパムに有効です。
上記の処理を行う関数です。「投稿時の量にかかわる制限の解除」の権限を持つキャップグループに所属するキャップをつけた人の書き込みはエラー無しで通過します。
特定の URL 以外の URL が含まれる書き込みを拒否するプラグインです。URL を許可するには /_system/URL-whitelist.txt に以下のような書式で記述する必要があります。なお、正規表現を使うことは出来ません。
yahoo.co.jp google.co.jp sourceforge.jp/project/img0ch
これ以外に Server の値が自動的に入ります。/_system/URL-whitelist.txt が存在しない場合 Server の値以外の URL を含めることが出来なくなります。なお、このプラグインは全角文字を全角文字に変換してから チェックするため、全角文字で URL が貼られてもその URL を検出することが可能です。
上記の処理を行う関数です。なお、キャップの有無関係なくチェックされます。
aタグまたはBBコードの[URL]タグを持つリンクが含まれる書き込みを拒否するプラグインです。例えば以下のような書き込みが拒否対象になります。
<a href="http://localhost">foo</a> [URL="http://localhost"]bar[/URL]
上記の処理を行う関数です。
本文の http://、!https://、!ftp:// の部分を <a> タグに変換してリンクさせるプラグインです。 config の EnableIDN の項目を参照してください。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
上記の処理を r.cgi による html 生成時に行う関数です。
アップロードされた画像ファイルのリンクを <img> タグに変換して画像表示をさせるプラグインです。それ以外のファイルでも特別なリンクに変換します。
このプラグインはImg0ch::Plugin::Rewrite::AutoLinkを有効にする必要があります。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
上記の処理を r.cgi による html 生成時に行う関数です。
アップロードされた動画ファイルのリンクを fileseek.net の外部リンクまたは <object> タグに変換して動画再生を行えるようにするプラグインです。
拡張子が mpg,avi,wmv,wma,mp3,wav であれば fileseek.net に対する外部リンクを作成します。また、拡張子が 3g2,3gp,amc であれば <object> で直接再生するためのリンクを作成します。
このプラグインは Img0ch::Plugin::Rewrite::AutoLink を有効にする必要があります。
上記の処理を r.cgi による html 生成時に行う関数です。
引用部分(>>)をリンクに変換させるプラグインです。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
上記の処理を r.cgi による html 生成時に行う関数です。
本文に ebitv.jp のリンクがあれば ebitv.jp 専用のリンクを作成するプラグインです。
※ 既にサービス自体がなくなっているため、3.1.6 以降廃止になりました。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
本文に flipclip.net のリンクがあれば flipclip.net 専用のリンクを作成するプラグインです。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
本文に video.google.com のリンクがあれば video.google.com 専用のリンクを作成するプラグインです。
※ サービス停止されるため、3.1.6 以降廃止になりました。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
本文に nicovideo.jp のリンクがあれば nicovideo.jp 専用のリンクを作成するプラグインです。
3.1.6 以降処理が変更され、動画情報を取得する代わりにクリックしてから動的に外部プレイヤーを生成するように変更されました。 また、nico.ms をリンク先に使うようにしています。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
本文にwatchme.tvのリンクがあれば watchme.tv専用のリンクを作成するプラグインです。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
本文に youtube.com のリンクがあれば youtube.com 専用のリンクを作成するプラグインです。
3.1.6 以降処理が変更され、プレイヤーを事前に生成せず、代わりにクリックしてから動的に プレイヤーを生成するように変更されました。これは大量にリンクを作ることにより、 ブラウザクラッシャーになってしまうことに依ります。また、youtu.be をリンク先に使うようにしています。
上記の処理を index.html 生成時に行う関数です。
上記の処理を read.cgi による html 生成時に行う関数です。
本文を長文であれば一部に切り取って再表示させるプラグインです。
上記の処理を index.html 生成時に行う関数です。
上記の処理を r.cgi による html 生成時に行う関数です。
アップロードされるファイルを ClamAV を使って検査するプラグインです。このモジュールを利用するには ClamAV::Client のインストールが必要になります。勿論 ClamAV をインストールする必要があります。
ClamAV 側に設定を行った上 (デーモンとして立ち上げる必要がある) で img0ch-config.cgi に以下の設定を行う必要があります。
[clamav] # Unixドメインを利用する場合はsocket_nameに # パスを指定する必要がある。デフォルトは値の通り socket_name = /var/run/clamav/clamd.ctl # TCPを利用する場合はtcp_hostとtcp_portに # それぞれアドレスとポート番号を指定する必要がある。 # デフォルトは値の通り tcp_host = 127.0.0.1 tcp_port = 3310
上記の処理を行う関数です。
アップロードファイルを一定の時間を経過している場合に削除するプラグインです。利用できる関数はそれぞれ処理内容が同一ですが、呼び出されるタイミングが異なります。有効にする場合は書き込み及びアップロードされる頻度に合わせてどちらかひとつを有効にしてください。
有効にした後掲示板設定で「ファイルの有効期限(BBS_IMG_EXPIRES)」の設定が必要になります。これを設定しない限りアップロードされたファイルはレスまたはスレッドが削除されるまで保持し続けます。
上記の処理をアップロードされた後に行う関数です。
上記の処理を書き込み後に行う関数です。
アップロードされるファイルを File::MMagic を使って検査するプラグインです。ファイル名とファイルの中身が一致しない場合はエラーにし、アップロードを中止させます。このプラグインは特に設定を行わなくても利用することが出来ます。
上記の処理を行う関数です。
裸体の画像を排除するプラグインです。 TryNT の API を利用しますので、有効にする際は必ず利用規程を参照してください。 (以下の URL から TryNT を利用していることを明示するリンクを張り付ければ良いようです)
※ サービスが実質的に停止したため、 3.1.6 で廃止されました。
http://www.trynt.com/attribution/
お絵書き投稿の支援とお絵書きアプレットに対するリンク生成を行うプラグインです。お絵書きアプレットを利用可能にするを参照してください。
お絵書きしたファイルをアップロードファイルとして処理する関数です。
「続きを描く」と「アニメーション」のリンク生成処理を index.html 生成時に行う関数です。
「続きを描く」と「アニメーション」のリンク生成処理を read.cgi による html 生成時に行う関数です。
アップロードファイルを画像であれば自動的に縮小させるプラグインです。 Img0ch::Plugin::Rewrite::Image との組合せで使います。 ImageHandler の項目を参照してください。
上記の処理を行う関数です。
掲示板またはスレッド内の全ての画像に対してサムネイルを生成する関数です。アップロードデータ修復が実行されたときに呼び出されます。
アップロードされたファイルのインデックスを CSV として出力するプラグインです。これは read.html での image プラグインを利用するときにこのプラグインが出力するファイルが必要になります。ちなみに名前の先頭が X になっているのはプラグインの処理順序の関係で最後に処理されるように指定する為です。
このプラグインは有効にしてから次の書き込みが成功した時点でファイルが生成されます。
上記の処理を行う関数です。
掲示板またはスレッドに対して generate() を呼び出す関数です。アップロードデータ修復が実行されたときに呼び出されます。
img0ch の 2.1.x 以降からプラグイン機構が導入され、プラグインによってさまざまな機能を自ら取り入れることが可能になります。ここではプラグイン作成の説明を行います。
Img0ch::Plugin で始まる必要があります。それ以降は任意ですが、なるべく自ら作成したプラグインは
Img0ch::Plugin::MyPlugin
として標準で導入されているプラグインと自ら作成したプラグインが分かるようにパッケージ名を決定してください。
プラグインが実行されるタイミングは以下のようになります。
スレッドを読み込む前
r.cgiにおいてスレッドを読み込む前
read.cgiにおいてスレッドを読み込む前
名前欄やメール欄などの入力チェックが完了して書き込みチェックを行う前
第一引数は Img0ch::App::BBS オブジェクト
アップロードする前(アップロードするファイルがある場合のみ)
第一引数は Img0ch::App::BBS オブジェクト
アップロードした後(アップロードするファイルがある場合のみ)
第一引数は Img0ch::App::BBS オブジェクト
書き込む前(アップロードした後)
第一引数は Img0ch::App::BBS オブジェクト
書き込みが完了した後
第一引数は Img0ch::App::BBS オブジェクト
index.html 生成時にレスごとに本文を書き換える場合これを実行するプラグインには必ずコンストラクタを実装する必要がある
第一引数はプラグインのオブジェクト
第二引数は現在のスレッドキー
第三引数は現在のスレッドのレス数
第四引数は現在のスレッドのレス番号
第五引数は第四引数に対応する本文のリファレンス
read.cgi からスレッドが読み込まれた時にレスごとに本文を書き換える場合これを実行するプラグインには必ずコンストラクタを実装する必要がある
第一引数はプラグインのオブジェクト
第二引数は現在のスレッドキー
第三引数は現在のスレッドのレス数
第四引数は現在のスレッドのレス番号
第五引数は第四引数に対応する本文のリファレンス
r.cgi からスレッドが読み込まれた時にレスごとに本文を書き換える場合これを実行するプラグインには必ずコンストラクタを実装する必要がある
第一引数はプラグインのオブジェクト
第二引数は現在のスレッドキー
第三引数は現在のスレッドのレス数
第四引数は現在のスレッドのレス番号
第五引数は第四引数に対応する本文のリファレンス
第六引数は呼び出されたときの拡張パラメータ
プラグインのインストーラとなるモジュールを作成します。モジュール名は先頭に Img0ch::Plugin ではじまり、最後に Install となるようにしてください。また、このファイルは /test/img0ch/3/Img0ch/Plugin/ ディレクトリ以下に配置してください。
以下の例では /test/img0ch/3/Img0ch/Plugin/MyPlugin/Install.pm となります。
package Img0ch::Plugin::MyPlugin::Install
use strict;
# Install.pm は install() と uninstall() の2つの関数が使用できる。
# install() には $zPlugin (Zeromin::Plugin) のメソッドとして定義されている
# install() を、uninstall() には $zPlugin (Zeromin::Plugin) のメソッドとして
# 定義されているuninstall() をそれぞれ使用する。
sub install {
my ($zPlugin) = @_;
# "package" はプラグインのパッケージ名を指定する
# "method" はプラグインが持つ関数を列記する
# "from_bbs" は関数名、"bbs.rewrite" は実行するタイミング
$zPlugin->install(
{ package => 'Img0ch::Plugin::Rewrite::XBreak',
method => {
'from_bbs' => 'bbs.rewrite',
'from_read' => 'read.rewrite',
},
}
);
}
sub uninstall {
my ($zPlugin) = @_;
#$zPlugin->uninstall(
# { package => 'Img0ch::Plugin::Rewrite::XBreak',
# method => {
# 'from_bbs' => 'bbs.rewrite',
# 'from_read' => 'read.rewrite',
# },
# }
#);
}
Zeromin から「プラグインの新規検索」を行うと自動的にプラグインが追加されます。