*web拍手バグ報告*
ログが消えるバグ、ついにうちにも出ました。
拍手回数がなくなた。

コメは保存してたけど、拍手回数は(自分が押したのもあったから)とっといてなかった。

うーん、残念だ。

拍手ログをいつでも取れるように、ログ抜きリンクをどこかに隠しておくべきかな。

あ、ちなみにこのバグはファイルをロックすればなくなります。

ただ、うちみたいな弱小でも、ロックする必要あるんだなーってのがびっくり。そういうのは一日に1000とか2000とか拍手がくる人に初めて必要なんだと思ってた。

どれぐらいからはロックを使った方がいいとかの目安があればいいのにな。
ニョキニョキ(挨拶)。
今日はタイトル固定、話題豊富にお送りいたします。

*web拍手改造の続き*
今までは一行フォームだったところをテキストエリアにしてみました。今回改造するのも
・clap.cgi 本体
・kaiseki.cgi 拍手数とコメント解析画面
・clapinit.cgi お礼制御
です。
clap.cgi 本体改造
#====================さらに送るフォーム&メッセージ

if ($kaisuu n";
print ’<INPUT type="submit" value="もっと送る"><br><br>’,"n";
print "<input type=hidden name=kaisuu value=$kaisuu>n";
print ’<font size=2>リンク切れ・誤字の報告、簡単な感想等<BR>一言あればご利用ください。<BR>(匿名でどうぞ。拍手だけでも送れます)<br>’,"n";
------------------------------ここを改造---------------------------------
print ’<TEXTAREA rows=3 cols=40 name=hitokoto></TEXTAREA><br>’,"n";
---------------コピペはできないので参考にしつつ改造してね----------------
print ’</FORM>’,"n";

}else{

print ’<font size=2>いたずら防止のため、15回以上連続で拍手を送れないようになっています。</font>’;
   
clapinit.cgi 解析制御の改造
kaiseki.cgiの終わり(#ログ上書き保存パートの”}”のさらに下あたり)に
# 改行処理
if ($key eq "comment") {
$val =~ s/rn/<br>/g;
$val =~ s/r/<br>/g;
$val =~ s/n/<br>/g;
} else {
$val =~ s/r//g;
$val =~ s/n//g;
}
を参考にしつつ入力してください。この日記の仕様でタグが使えないため、<を全角にしているからコピペしないでください。

clapinit.cgi お礼画面制御の改造
clapinit.cgiの
# 改行処理
if ($key eq "comment") {
$val =~ s/rn/<br>/g;
$val =~ s/r/<br>/g;
$val =~ s/n/<br>/g;
} else {
$val =~ s/r//g;
$val =~ s/n//g;
}

↑部分にあるif ($key eq "comment") {
の"comment"を"hitokoto"に変えるだけ。
サポートスレ
http://www.webclap.com/cgi-bin/bbs/patio.cgi?
の皆様に感謝。ほとんどあそこのコピペです。
 
あくまで詳しい人が教えてくれたことの丸写しです。でも、調べられない人もいるんで、ここに貼っときますね。
テシェキュウ!!テシェキュウ!!!(挨拶)
今日は日記に書きたいネタが4つもあるんですが(笑。ありすぎだ)、タイトルはすべて祝!銀鉄25話です。

*今日取り上げたい話題メモ*
・「web拍手 改造」でヒットしてしまう問題について
・たまには日常生活について日記らしく語ってみたい

とりあえず上から優先度高。

*web拍手改造について*
日曜日辺りからヒットし始め、昨日からどっと来ました。ググルだけでなくヤフも引っ掛けやがる。

当初は確かに、「ズブの素人でも簡単にできる、超超初級拍手改造」をテキストにしようと、本当に書き始めてました。しかし、もっと詳しいサイト
http://seirei.ath.cx/suikahito/cgi/index.html
を見つけ、自分がやるまでもないと思ったので放り投げてそのままです。

まったくCGIにはうといんですが、それでも改造はできます。簡単です。なので今日は、できる範囲でやった程度の改造でよければ、ここに書こうと思います。

*インフォシークでの設置例になるけどいい?*

・外部スタイルシートを使ったデザイン制御
・お礼画面を増やしまくり
・送れる文字数を増やしまくり
をやりました。なので、これを改造したいひとの参考にはなれます。

まず、書き換えるCGIは
clap.cgi 拍手本体制御
kaiseki.cgi  拍手解析画面制御
clapinit.cgi  お礼画面制御
の3つです。

clap.cgi 拍手本体制御の改造
1行目を「#!/usr/local/bin/perl --」にします。

かなり下のほうのパートを変更します。こう書き換えました。
#-----------------------------------HTML表示
print "<BODY text=#000000>n";←ここに直接BODYタグを打ってデザインを制御することもできますが、文字以外やりませんでした。
#------メッセージ
$i = int(rand(15));←ここを15にして、お礼画面を激増しました。

print "<center>n";←ここで「中央揃え」を制御しています。
#====================さらに送るフォーム&メッセージ
if ($kaisuu リンク切れ・誤字の報告、簡単な感想等<BR>一言あればご利用ください。<BR>(匿名でどうぞ。拍手だけでも送れます)<br>’,"n";←「さらに送るボタン」の上の文章を変えました

print ’<input type=text name=hitokoto size=50 maxlength=500><br>’,"n";←送れる文字数を増やしました。256文字までぐらいが、システム的に安全です。

print ’<font size=2>いたずら防止のため、15回以上連続で拍手を送れないようになっています。</font>’;

kaiseki.cgi  拍手解析画面制御の改造
1行目を「#!/usr/local/bin/perl --」にします。

clapinit.cgi  お礼画面制御の改造

お礼画面を最初に「15個」まで増やしたので、デフォルトの5から15へコピペします。
#-----------
# 基本設定
#-----------
# 拍手送信後画面用お礼メッセージ1←わかりやすいようにこの数を1〜15まで変えていく(タグ使用可)
$message[0]←ここの個数を1個ずつ増やしていきます。ただし、メッセージと違って0から始まるので、メッセージのナンバーから1引いてください=’拍手が送信されました。<br>ありがとうございました!<BR>
<img src=お礼で出したい絵までのパスを書く width= height= border=0 ’;
#--------------
# HTMLヘッダー
#--------------
sub header{

print "Content-type: text/htmlnn";
print ’<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">’,"n";
print ’<html lang="ja"><head>’,"n";
print "<title>$title</title>n";
--------------------↓この間に外部スタイルシートを噛ませる---------------------
print "<LINK rel=stylesheet href=外部スタイルシートまでのパス type=text/css>n";←うちはフルパスで噛ませてます
--------------------↑この間に外部スタイルシートを噛ませる---------------------
print "</head>n";}


ここに書いたほかにも
・匿名性がウリなのにIP表示させる(邪道なのでだれも教えてくれないが、ウデのある人なら可能。実在している)

・自鯖設置版でもログをメールで送れる(成功者なし?)

・コメント書き込み欄を1行テキストからテキストボックスにする(←いまはこれがやってみたい。簡単)

・ランダムではなく順番にお礼を出す(キバ研さんとこの拍手はコレ?毎回同じ順番でお礼が出た。面白いかも。簡単にできる)
http://f31.aaacafe.ne.jp/~mmrondul/

・解析画面のコメント出力に改行を噛ませる(ウチのようにコメント文字数を増やしたサイトは必須の改造?今すぐやってみたい)

などがあります。一寸難しいものもあるのでここでは解説できませんが、実行したらまた日記に書く日もあるかもしれません。

追記:テキストエリア改造できました。いまんとこバグなし。

お気に入り日記の更新

最新のコメント

日記内を検索