#!/usr/bin/perl use strict; use Bbs; my ($tmpl, $msg); my $bbs = new Bbs; if ( $bbs->write_all() ) { # 書き込み出来た # 書き込み成功時のbbs.cgi・subbbs.cgi共通の罠を仕掛ける場合はこちらへ # end of 罠 if ( $bbs->flag('notice_response') ) { # 物申す事がある(2重書き込みや連続投稿の警告とか) $tmpl = $bbs->path('template').$bbs->conf('template_error'); } else { # 正常にレス書き込み処理が終了した $tmpl = $bbs->path('template').$bbs->conf('template_wait'); } } else { # 書き込み失敗 # 書き込み失敗時のbbs.cgi・subbbs.cgi共通の罠を仕掛ける場合はこちらへ # end of 罠 if ( $bbs->conf('RES_CHECK') eq 'checked' && $bbs->from('new') ne 'response' ) { # レス書き込み確認 $tmpl = $bbs->path('template').$bbs->conf('template_notice_response'); } elsif ( $bbs->from('new') eq 'thread' ) { # 新規スレ立てならスレ立てテンプレートを選択 $tmpl = $bbs->path('template').$bbs->conf('template_new_thread'); } elsif ( !defined $bbs->from('code') && defined $bbs->from('subject') && !defined $bbs->from('key') && defined $bbs->from('time') && !defined $bbs->{'error_reason'}->{'title'}) { # 新規スレ立て最終確認 $tmpl = $bbs->path('template').$bbs->conf('template_notice_new_thread'); } else { # 普通のエラーならばエラーのテンプレートを選択 $tmpl = $bbs->path('template').$bbs->conf('template_error'); } } $msg = $bbs->template(\$tmpl); $bbs->headerfields('Keep-Alive: ' => 'timeout=10, max=100', 'Connection: ' => 'Keep-Alive') if $ENV{'HTTP_USER_AGENT'} =~ /Mozilla/; $bbs->headerfields('Connection: ' => 'close') if $ENV{'HTTP_USER_AGENT'} =~ /Monazilla/; $bbs->print_headerfields(); print $$msg; exit; __END__