このスクリプトはPerl5以上の環境で動作します。
改定履歴:
2008/03/31 Ver4.4
コメントをメール送信した場合に文字変換が起こったままのバグ(>→>)修正。
Ver4.xをご利用の方はindex.cgi、sub.plを差し替えてご利用ください。
2007/08/15 Ver4.3
コメントなしpatiの際のメッセージ確認欄に「メッセージはありません」を表示しないようにしました。
また、サブ項目にクッキーが利用できるようになりました。
Ver4.xをご利用の方はindex.cgi、preset.cgi、また各デザインファイルを差し替えてご利用ください。
(クッキーを利用しない場合はデザインファイルは差し替えなくても問題ありません。)
2007/05/31 Ver4.2
最大保存ログ数が無効になってしまうバグ修正。Ver4.xをご利用の方はsub.plを差し替えるだけでOKです。
2007/03/12 Ver4.1
ビュー画面の初期表示を月表示にした場合、日表示が見られないバグ修正。
Ver4.0をお使いの方はview.cgiとsub.plを差し替えてご利用ください。
2007/02/28 Ver4.0
ビュー画面の初期表示を月表示/日表示の選択(初期設定で)
拍手のなかった日は空ログ生成しないように修正。
ログファイル拡張子を自由に変更できるように修正。(デフォルトを.cgiにしました。)
Ver3.xをお使いの方はindex.cgi、preset.cgi、view.cgi、sub.cgi を差し替えてください。
ログファイルを継続利用したい場合、現行ログファイルの拡張子を変更するか、preset.cgiのログファイル拡張子をご変更ください。
半角文字の文字化けをとっくに修正していたのですが書き忘れていました。多分Ver3.1あたりから直っています。
2006/11/18 Ver3.2
管理画面ログアウト機能追加。view.cgi、index.cgiを差し替えてご利用ください。
2006/11/02 Ver3.1
niftyなどのサーバー用モード、$shell_use = 1; に設定した時のビュー画面のバグ修正。
NGワード送信後のメッセージ見せかけ機能実装。
NGワードの日本語のNGワードは送られてしまうバグ修正。
送信メッセージの事後確認表示機能追加。
(前バージョンをお使いの方は、デザインファイルのform内に「<!--hidden-->」タグを埋め込んでください。表示は「<!--view_msg-->」)
お礼表示の順番制御(一度ブラウザを落としたらまた1から順番に表示させるように変更)
2006/01/23 Ver3.0
文字化けを防ぐためにスクリプト本体をEUCコードに変更。前バージョンまでのログファイルは流用できません。
(半角カナ文字+半角英数字のみのメッセージ(例:ハンカクモジAB69)は今のところ文字化けします。)
(デザインファイルはSJISのままなのでlast.html以外は流用可能です。)
月ビュー画面のグラフ化・ビュー画面をフレームにして見やすくなるよう改良しました。
月ビューから日ビューへのリンクを作成しました。
ブラックリスト入りしたコメントを非表示に。白文字での表示なので、反転でコメントを見ることもできます。
連続拍手後の制限時間を設定できるようになりました。(クッキー制御)
2005/03/10 Ver2.1
初期設定で設定された連続拍手数や文字制限数をお礼ページに反映できるようにしました。
2005/03/07 Ver2.0
ブラックリスト機能のIP表示を暗号化。生IPは直接ファイルを開かないと見ることができないように変更しました。
2005/02/28 Ver1.6
ファイルロックをflock関数に変更。
2005/02/02 Ver 1.5
複数管理人へメールが送られるようになりました。
ビュー画面をワンクリックで他の日を見れるように設定・月ビュー表示追加。
Ver 1.3以上をお使いの方はログファイルなどははそのままお使い頂けます。
2004/12/21 Ver 1.4
連続拍手回数以上の表示を固定デザインファイルに変更。
また、密かにブラックリスト表示ページでリスト解除ができなかったバグ修正。
view.cgiのシェル呼び出し禁止サーバー(niftyさんなど)対応。過去ログファイルが見れない方は、初期設定で $shell_use = 1; にしてみてください。 ただし、このモードは過去ログがうまく削除できないかも知れません。(ある程度は削除できますが、途中で保存ログ数を変更などした時には、過去ログを手動で削除願います。通常に設置しているぶんには自動削除できるはずです。)
Ver1.3以上をお使いの方は、ログファイルはそのままお使い頂けます。各CGIファイルとlast.htmlファイルを差し替えてお使いください。
2004/12/07 Ver 1.3
IP表示はどうも評判が悪いようなので、ブラックリスト機能に変更。
2004/12/07 Ver 1.2
管理者画面でコメントに対するIP表示をするかしないかの設定を追加。
メッセージ受信時に改行がされないバグ修正。
拍手設定数以上に拍手できてしまうバグ修正。
2004/09/28 Ver 1.1
お礼ページ表示方法に「ランダムにせずに、さらに繰り返し表示もしない」モードを追加
コメント以外にもフォームを反映できるようになりました。詳しくは下記の「フォームの追加方法」をご覧下さい。
2004/07/30 配布開始
いわゆるweb拍手と似たようなモンです。コメントのメール送信機能付。

システム仕様&注意事項:
PatiPatiシステムのログ取得は、その日最初の拍手があった時に行われます。
ですので、拍手がなかった日はログファイルが生成されません。
日にちごとにログファイルを生成しているのでこのような仕様になっております。

各ファイルならびにフォルダと[パーミッション]
readme.html(説明ファイル=このファイルです)
test.html(ファーストページへの設置サンプルです)
patipati(フォルダ)
├─img(フォルダ)
├─lock(フォルダ) [777] *ない場合は作成してください。
├─log(フォルダ) [777]
│ └─blist.txt [666]
├─index.cgi [755]
├─preset.cgi [755]
├─view.cgi [755]
├─style.css
├─error.html
├─last.html
├─thanks.html
├─thanks2.html
├─jcode.pl
└─sub.pl
index.cgiにアクセスすることでプログラムが機能します。解析画面はview.cgiにアクセスしてご覧ください。
パーミッションの指定のないものはデフォルトのまま(644)で構いません。

cgiの設定
index.cgi, view.cgiをメモ帳などで開き、1行目を変更します。
 #!/usr/bin/perl    サーバで定められたパールへのパス
preset.cgiをメモ帳などで開き、各初期設定を変更します。
(設定の仕方はpreset.cgi内のコメントを参照してください。)

お礼画面htmlの設定
thanks.htmlなど、お礼画面を作成し、初期設定ファイルでお礼ファイル名を設定します。
お礼画面を作成する際、<!-- --> で囲まれた部分はソースから削除しないようにお願いします。

フォームの追加方法
thanks.htmlなどの作成したお礼画面のフォーム内に、ラジオボタンやチェックボックスを作成します。
その時、フォームオブジェクトの名前を、必ず「sub○」(○は1以上の任意の整数)として半角でご指定ください。
preset.cgiで追加ボックスをいくつまで作るか設定できます。
(初期設定は5つです。厳密に数を合わせることは必要ありませんが、ここで設定した以上の数のオブジェクトは反映されません)
(例) sub1〜sub8まで使用したい場合は、$sub_su の設定を8以上にしてください。(あまり大きくしすぎるとサーバ負荷の原因となります。)
解析画面では、コメント後に( )で囲まれてvalue値のみが表示されます。
なお、追加ボックスは改行が反映されません。
<追加項目設定例(ソースコード)>
1) 「名前」入力欄を追加したい
お名前:<input name="sub1" type="text" id="sub1" size="15">
 →お名前:
2) 「返信要・不要」など、ラジオボタンを追加したい
<input type="radio" name="sub1" value="要">要 <input type= "radio" name="sub1" value="不要">不要
 → 要  不要
3) 「返信不要」のチェックボックスを追加したい
<input name="sub1" type="checkbox" id="sub1" value="返信不要">返信不要
 → 返信不要
4) 簡易アンケートを追加したい
このサイトで好きなものは?:
< select name="sub1" id="sub1">
< option>テキスト</option><option>コミック</option><option>日記</option><option>エッセイ</option>
</select>
 →このサイトで好きなものは?:
5) 画面には表示させずに、隠し項目を追加したい
<input type="hidden" name="sub1" value="ページ1からの拍手">
 →  (表示されません)
フォームのクッキー対応方法
thanks.htmlなどの作成したお礼画面のフォーム内のサブ項目にクッキーを対応させることができます。
value値に「<!--フォーム名-->」を書くことで、クッキーを読み出すことができます。
下記に例を示しますので、ご参考ください。
また、ラジオボタンやチェックボックス、セレクトボックスなどは基本的にクッキー対応できません。
<項目設定例(ソースコード)>
1) 「名前」入力欄をsub1で設定し、クッキー対応させたい
お名前:<input name="sub1" type="text" id="sub1" size="15" value="<!--sub1-->">