現段階のままでも書き込みに支障はありませんが、せっかく色の指定できる掲示板なので色の指定もしたいですね。 巡回設定の利用、詳細設定の利用の2パターンで解説します。
まずは巡回設定を利用する方法です。 33行目に色の指定部分を追加します。
'#P:POST,$C,mode=write&name=$N&mail=$E&comment=$T&url=$H&color=$(PARAM1)',"\n",
「$(incm_BBS.iniのパラメータ名)」とすると「$N」などと同様に書き込み時にINCM側で置き換えてくれます。
続いて巡回設定で設定する時に分かりやすいようにラベルを表示するようにします。 20行目の
#_PARAM1=
の行を
#_PARAM1=記事色(番号選択 例:1)
のように文字を追加します。
フォルダプロパティの巡回設定タブを開いて確認してみて下さい。 プラグインに書いた内容がラベルとして表示されているはずです。
それではそのテキストボックスに適当な番号を入れてみましょう。 どの色が何番なのかはCGIのHTMLソースを見て下さい。 設定が終わったらわざと未読を取得し、CMTヘッダを書き換えます。 そして記事を投稿すると指定した番号の色で記事が書き込まれていると思います。
次は詳細設定を利用してみます。 巡回設定を利用で追加した色の指定部分を修正します。
'#P:POST,$C,mode=write&name=$N&mail=$E&comment=$T&url=$H&color=$(L_COLOR)',"\n",
「PARAM1」を「L_COLOR」に変えるだけですが、「COLOR」の部分は任意の名前でも構いません。 次に詳細設定に項目を表示させるために21行目の
#_PARAM2=未読ポインタ
の下に
#L000=TS,L_COLOR,記事色の指定(番号選択 例:1) #L001=.
の2行を追加します。 「#L000=詳細設定の項目」という形式で、「L000」の番号は項目が増えるのに合わせて増やします。 「TS」はテキストボックスの表示、「L_COLOR」はこの項目の名前、最後は説明のテキストです。 ラジオボタンやパレットなど他のものについては、INCMのサイトに 「incm_bbs.iniに関するテキスト」がありますので参考にして下さい。
最初に修正した「L_COLOR」と今回追加した「L_COLOR」の文字が一緒でなければいけません。 「L_」が付く理由ですが、このプラグインがCMLIB15を利用してるからです。 具体的にはCMLIB15のinitルーチンという初期設定の関数で、「incm_bbs.ini」を読み込む際に
elsif(/^L_([^=]*)=(.+)\n$/){ $L{$1}=$2; } # 拡張パラメーター
という構文で「L_」が頭に付くものを拡張パラメータとして「%L」というハッシュに一まとめにしてくれるからです。 ハッシュに関しては第7回のほうで解説しています。 このことでプラグイン中で拡張パラメータを利用しやすくなります。 「L_COLOR」なら「$L{'COLOR'}」という変数に設定された値が格納されてます。 ただし、今回は特にプラグイン中での処理は必要ありません。 何かで使う可能性もあるかもしれませんし、拡張パラメータとして統一しておいたほうが無難だということです。
説明が長くなりましたが、詳細設定を実際に試してみましょう。 まずは詳細設定を開いて色の番号を記入します。 そして未読を取得しCMTヘッダを書き換えて記事を投稿してみましょう。 記事の色は指定した色になったでしょうか?
今回はここまでです、これで「ちびぼーどプラグイン」も完成しました。 時系列タイプの掲示板なら大抵のものはこれまでの内容で作れるのではないかと思います。 次回からはYY-Boardのようなスレッドタイプのプラグイン作成を説明していきます。