#!/usr/local/bin/perl # ↑あなたが加入しているプロバイダの「perl」言語が使用できる # パスを指定します。一般的に「#!/usr/local/bin/perl」で大丈夫 # 何度トライしてもサーバーエラーが出る場合は「perl5」にしてみる #======================================================================================= # CustomBBS Version 98.1 #======================================================================================= #日本語コード変換モジュール require './jcode.pl'; #--------------------------------------- #あなたのホームページのアドレス $homepage = 'http://www.tezukayama.com/index.html'; #--------------------------------------- #メッセージを格納するデータベースファイル $datafile = 'custom.txt'; #--------------------------------------- #バックグランドの画像ファイル $bg_gif = ''; #--------------------------------------- #管理者削除モードのパスワード $password = 'Tnoaz54N'; #--------------------------------------- #掲示板の名前 $title = 'コーヒーを飲みながら BBS COFFE TIME'; #タイトルを掲示板に表示 $titlevew = 'yes'; #タイトル画像 $title_gif = 'http://tezukayama.com/images/cup.gif'; #トップ画像 $top_gif = ''; #--------------------------------------- #バックグランドカラー $bg_color = '#000000'; #テキストの文字色 $text_color = '#FFFFFF'; #リンク文字色 $link_color = '#FF0000'; #Vリンク文字色 $vlink_color = '#FF0000'; #入力フォームの背景色 $form_bg_color = 'しない'; #記事テーブルの背景色 $tb_bg_color = 'なし'; #--------------------------------------- #本文文字の大きさ $font_size = 3; #--------------------------------------- #コメント最大記憶数(極端に多くするとパフォーマンスが低下します) $max = 100; #--------------------------------------- #1ページに表示する件数 $pagevew = 10; #--------------------------------------- #クッキーを格納する名前を設定する $CookieName = 'custombbs'; #--------------------------------------- #ホスト名の表示 $hostvew = ''; #ブラウザの表示 $agentvew = ''; #--------------------------------------- #項目名 $user_name = 'お名前'; $user_email = 'E-Mail'; $email_check = ''; $user_hpaddr = 'HP'; $user_subject = '件名'; #--------------------------------------- #ウィンドウの配置 'left' / 'center' $window = 'center'; #--------------------------------------- #入力フォームの枠の太さ $form_border = '0'; #記事テーブルの枠の太さ $table_border = '3'; #舞閧ニ本文のセパレータ $table_line = ''; #舞閧ニ本文のセパレータの背景色 $tb_line_bg_color = 'なし'; #題名の色 $sub_color = '#FFFFBD'; #記事テーブルのサイズ $table_width = 80; #--------------------------------------- #管理者メールアドレス $mailto = 'shinohara@tezukayama.com'; #--------------------------------------- #返信記事を投稿順にする 'yes' / 'no' #投稿順に設定すると速度が低下する $rev = 'no'; #--------------------------------------- #タグの許可 'yes' / 'no' / 'member' $tag_flag = 'no'; #======================================================================================= # 初期設定が必要なのはここまでです。 #======================================================================================= $ENV{'TZ'} = "JST-9"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; $month = sprintf("%02d",$mon + 1); $mday = sprintf("%02d",$mday); $hour = sprintf("%02d",$hour); $min = sprintf("%02d",$min); #日付時刻のフォーマットを整えます $youbi = ('日','月','火','水','木','金','土') [$wday]; $date_now = "$year年$month月$mday日($youbi) $hour時$min分"; $softagent = $ENV{'HTTP_USER_AGENT'}; $softagent =~ s/\,/\./g; $hosei = 1; if ($softagent =~ /Mozilla\/4/i && $softagent !~ /compatible/i) { $hosei = 0.8; } $textwidth = 70; if ($softagent =~ /MSIE\ 3/i) { $textwidth = $textwidth * 1.5; } $hostaddr = &domain_name; if ($hostchange eq 'yes' && $hostaddr eq '') { $hostaddr = 'on the Internet'; } if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'}); } else { $QUERY_DATA = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$QUERY_DATA); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/</g; $value =~ s/>/>/g; $value =~ s/\n//g; $value =~ s/\,/,/g; &jcode'convert(*value,'sjis'); $QUERY{$name} = $value; } if ($window ne 'center') { $table_width = 100; } if ($tb_bg_color eq 'なし') { $tb_bg_color = ''; } else { $tb_bg_color = "bgcolor=$tb_bg_color"; } if ($tb_line_bg_color eq 'なし') { $tb_line_bg_color = $tb_bg_color; } else { $tb_line_bg_color = "bgcolor=$tb_line_bg_color"; } &cookie_read; if (!open(NOTE,"$datafile")) { &error(bad_file); } @DATA =
; close(NOTE); #押されたボタンや、呼び出しに対しての分岐 if ($QUERY{'password'} eq $password) { &deletemode; } elsif ($QUERY{'action'} eq 'comment') { &com_html; } elsif ($QUERY{'action'} eq 'delete') { &delete; } elsif ($QUERY{'action'} eq 'regist') { ®ist; } &html; exit; #======================================================================================= sub html_head { print "Content-type: text/html\n\n"; print "
" . $title . "
\n"; print "\n"; } #======================================================================================= sub comment_form { if ($window eq 'center') { print "
\n"; } if ($top_gif ne '') { print "
\n"; } print "
\n"; print "
\n"; print "
\n"; if ($form_bg_color eq 'しない') { $form_bg_color = ''; } else { $form_bg_color = "bgcolor=$form_bg_color"; } print "
\n"; if ($titlevew eq 'yes') { print "
$title
\n"; } if ($title_gif ne '') { print "
\n"; } print "
\n"; print "
\n"; print "
$user_name:
\n"; print "
$user_email:
"; if ($user_hpaddr ne '') { print "
$user_hpaddr:
\n"; } if ($user_subject ne '') { print "
$user_subject:
\n"; } print "
\n"; print "
\n"; print "\n"; print "
"; print "
\n"; print "
\n"; if ($window eq 'center') { print "
\n"; } } #======================================================================================= sub html { foreach $line (@DATA) { ($date,$code,$re,$name,$email,$HPtitle,$HP,$subject,$comment,$host,$agent) = split(/\,/,$line); if ($re < 1) { push(@MATCH,$line); } } $match = @MATCH; &html_head; if ($window eq 'center') { print "
\n"; } &comment_form; &listvew; print "
\n"; print "
\n"; print "
\n"; print "
\n"; print "
\n"; if ($window eq 'center') { print "
\n"; } print "
CustomBBS by Terra
\n"; print "\n"; exit; } #======================================================================================= sub com_html { foreach $line (@DATA) { ($date,$code,$re,$name,$email,$HP,$subject,$comment) = split(/\,/,$line); if ($code == $QUERY{'res'}) { push(@MATCH,$line); last; } } &html_head; &comment_form; print "
\n"; print "
この記事への返信です。
\n"; &listvew; print "
\n"; print "