#!/usr/local/bin/perl #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # # The Endless Battle program Satellite # Copyright Net Game Communications All Rights reserved # メインスクリプト # # フリーウェアですが、著作権は放棄していません。 # 再配布、商用利用する場合はご報告願います。 #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # # The Endless Battle sub program # Copyright masimaro All Rights reserved # 掲示板スクリプト # #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #設定 $SCRIPTNM="bbs.cgi"; #掲示板スクリプト名(パーミッション755) $logfile="bbslog.cgi"; #ログファイル名(パーミッション666) $timer = "60"; #使用できる時間の間隔(秒) $bbstitle ="専用掲示板"; #掲示板名 $maxlog="300"; #ログ保存数 $maxlines="30"; #表示件数 $tate="30"; #アイコン縦サイズ $yoko="30"; #アイコン横サイズ $mojisuu="100"; #投稿最大文字数 $siyouflag="0"; #無国籍の使用可否:0 で使用不可 / 1 で使用可 # #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ require 'ebs_sub1.cgi'; &ERROR('直リンクは禁止です','入り口からのアクセスお願いします。') if $ENV{'HTTP_REFERER'} !~ m/^$THIS_DIR/ && $DIRECT_LINK && $SUB ne 'MY_LIST' && $SUB ne 'C_LIST'; !$SUB && ($SUB='BBS'); &$SUB; sub BBS {&BBSNANCE;} sub TOUKOU {&TOUKOU2;} sub SYUSEI {&SYUSEI2;&TOUKOU2;} sub BBSNANCE{ @pair = split(/;/, $ENV{'HTTP_COOKIE'}); foreach (@pair) {my($key, $value) = split(/=/, $_);$DUMMY{$key} = $value;} @pairs = split(/,/, $DUMMY{EB}); foreach (@pairs) {my($key, $value) = split(/:/, $_);$COOKIE{$key} = $value;} &HEADER; if($FORM{'medal'} eq ''){$FORM{'medal'}=0;} print << " -----END-----";
 BBS Mode
ID $COOKIE{'pname'}
PASS $COOKIE{'pass'}
-----END----- } sub TOUKOU2{ &ERROR('ID入力エラー!!') if $FORM{'plname'} eq ''; &ERROR('パスワードエラー!!') if $FORM{'pass'} eq ''; &DBM_INPORT(P); @VALS = split(/\s/,$P{"$FORM{'plname'}"}); &ERROR('パスワードエラー!!') if crypt ($FORM{'pass'},eb) ne "$VALS[2]"; &HEADER; &LOCK; open(IN,"$logfile"); @bbslines = ; close(IN); &UNLOCK; if($VALS[5] eq ''){$NATION=$NONE_NATIONALITY;}else{$NATION=$VALS[5];} if($siyouflag == 0 and $NATION eq $NONE_NATIONALITY){&ERROR('どこの国にも属していない方のご利用はできません')} print << "-----END-----";
[ $NATION $bbstitle ]
-----END----- print ""; print ""; print << "-----END-----"; -----END----- print "
【$FORM{'plname'}】現在時刻".&DATE_DECORD($DATE); print "
$info更新時刻".&DATE_DECORD($VALS[26]); print "
発言

\n"; $bb=0; foreach (@bbslines) { ($pname,$pcountry,$pcomment,$pdate,$picon) = split(/<>/); if($maxlines <= $bb) { last; } if($NATION eq $pcountry){ print "
$pname$pcomment".&DATE_DECORD($pdate); print "
"; $bb++; } } print << "-----END-----";
-----END----- print "
掲示板:EDIT BY MASIMARO
"; &FOOTER; print "
"; } sub SYUSEI2{ if($FORM{'com'} ne '' and $FORM{'ptime'} < time-$timer){ &LOCK; open(IN,"$logfile"); @bbslines = ; close(IN); $mes_max = @bbslines; if($mes_max >= $maxlog) { pop(@bbslines); } unshift(@bbslines,"$FORM{'plname'}<>$FORM{'pnation'}<>$FORM{'com'}<>$DATE<>$FORM{'picon'}<>\n"); open(OUT,">$logfile"); print OUT @bbslines; close(OUT); chmod(0666,"$logfile"); dbmopen (%P,"$DBM_P",0666); @VALS = split(/\s/,$P{"$FORM{'plname'}"}); $VALS[26] = $DATE ; $P{"$FORM{'plname'}"}="@VALS"; dbmclose %P; &UNLOCK; }elsif($FORM{'ptime'} >= time-$timer){$info="更新時刻から$timer秒以内の投稿はできません"; }elsif($FORM{'com'} eq ''){$info="コメントが未入力です";} }