ホーム > HTMLに役立つヒント
> ADSLでMACサーバ・実験室 > Web Forum改造室
このページ、ドジって一度消してしまいました。恐ろしいことにバックアップもなくなってしまった。で、しきり直しで書いてます。
KENT WEBさんのWeb ForumをMacPerlで動くように改造しましたが、その改造箇所の解説です。本家web forumがこの後バージョンアップしても、ぼくとしては対応mac版を出す気はないので、各自下記を参照して改造してくださいページです。
ベースは3.23です。今ではオリジナルのバージョンが上がっているので、このページは役に立たないかも。
OS Xで動かすならUNIX perlなので改造の必要はありません。
●$lockfile
●オリジナル
# ロックファイル名
$lockfile = './lock/wforum.lock';●変更後
# ロックファイル名
$lockfile = 'lock:wforum.lock'; # 水沢。MAC OSがロックしてくれるはずなのでロックは必要ないのだが、こうしておかないとエラーになる。
●$pastdir
●オリジナル
# 過去ログのディレクトリ(最後は / で閉じる)
$pastdir = './past/';●変更後
# 過去ログのディレクトリ(最後は : で閉じる)
$pastdir = ':past:'; # 水沢
●# 不要な改行を削除
●オリジナル
# 不要な改行を削除
if ($name ne "message") {
$value =~ s/\r//g;
$value =~ s/\n//g;
}●変更後
# 不要な改行を削除
if ($name ne "message") {
$value =~ s/\r\n//g; # 水沢追加
$value =~ s/\n\r//g; # 水沢追加
$value =~ s/\r//g;
$value =~ s/\n//g;
}
●# 改行コード処理
●オリジナル
# 改行コード処理
$in{'message'} =~ s/\r\n/<br>/g;
$in{'message'} =~ s/\r/<br>/g;
$in{'message'} =~ s/\n/<br>/g;
while ($in{'message'} =~ /<br>$/) { $in{'message'} =~ s/<br>$//g; }●変更後
# 改行コード処理
$in{'message'} =~ s/\r\n/<br>/g;
$in{'message'} =~ s/\n\r/<br>/g; #水沢追加
$in{'message'} =~ s/\r/<br>/g;
$in{'message'} =~ s/\n/<br>/g;
$in{'message'} =~ s/<br><br>/<br>/g; # 無駄な空行を削除・水沢
while ($in{'message'} =~ /<br>$/) { $in{'message'} =~ s/<br>$//g; }
●著作権表示(「プログラムの著作権表示部には、改造品であることが分かるように改造者のリンクを表示するようにして下さい。」という再配布規定による)
●オリジナル
# 著作権表示(削除しないで下さい)
print "<P><center><small><!-- $ver -->\n";
print "- <a href='http://www.kent-web.com/' target='_top'>Web Forum</a> -\n";
print "</small></center>\n</body>\n</html>\n";
exit;●変更後
# 著作権表示(削除しないで下さい)
print "<P><center><small><!-- $ver -->\n";
print "- <a href='http://www.kent-web.com/' target='_top'>Web Forum</a> -\n";
print "改造者:<a href='http://www.kiwi-us.com/~mizusawa/penguin/index.html' target='_top'>penguin-19</a>\n"; # 水沢追加
print "</small></center>\n</body>\n</html>\n";
exit;
●Cookie対策
●オリジナル
sub set_cookie {
local(@mon,@week,$gmt,$cook);
local($sec,$min,$hour,$mday,$mon,$year,$wday) = gmtime(time + 60*24*60*60);
@mon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
@week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');●変更後
sub set_cookie {
if ($in{'smail'} ne "on"){$in{'smail'} = "0" ; } # 水沢追加行。Cookie誤動作対策
local(@mon,@week,$gmt,$cook);
local($sec,$min,$hour,$mday,$mon,$year,$wday) = gmtime(time + 60*24*60*60);
@mon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
@week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
ホーム > HTMLに役立つヒント
> ADSLでMACサーバ・実験室 > Web Forum改造室