#!/usr/bin/perl #待機 # 99/06/05 update(v5.0) by 普通 #==================================================================== #ご協力を頂いた方 #oidon"; # $roomdisp2 = ""; $roomdisp = ""; $roomdisp2 = "<"; ################################################### }else{ $roomdisp = $bhf_roomname; $roomdisp2 = $bhf_roomname; } #プロフィールリンク if ($profno) { $chatname_disp = "$chatname";} else {$chatname_disp = $chatname;} } #初回待機モード sub main1 { &waitmsg(); &hp_disp(); exit(0); } #2回目以降待機モード sub main2 { &hp_disp(); exit(0); } #待機モードメッセージ表示 sub waitmsg { &WriteComment ($roomno,"「$chatname_disp」待機モードに移行。\[$date$rhost\]
\n"); } #待機ページ表示 sub hp_disp { $b_chatname = $chatname; $e_chatname = &encode($b_chatname); if ($in{'bell'}) { $meta = ""; } else { $meta = ""; } print "ここは、$title2のChat室です、ただ今待機中。\n"; print<<"__EOF__"; $bhf_pgbody $meta __EOF__ #発言内容の表示 &prcom2(); ######復帰################################################## print<<"__EOF__";
__EOF__ ######Bell############################################## if ($in{'bell'}) { print<<"__EOF__";
__EOF__ } else { print<<"__EOF__";
__EOF__ } ######全参加者を見る################################################## print<<"__EOF__";


ここは、$title - $roomdispで、待機中です。

「$chatname」さん。どなたかお待ちですか?お見えになるといいですね!
現在、ここ待機中では$rtime秒おきに自動リロードしています。戻るのは上の「復帰」ボタンです。

__EOF__ exit(0); } #投稿内容の表示 sub prcom2 { if ($rom_disp) {&rom_disp();} $lcnt = 0; $bell = ''; &ReadComment ($roomno); foreach (@cf_list) { if (s///g) { next if ($1 ne $myid && $2 ne $myid); $_ = "$_"; } if ($in{'bell'} && s///g) { if ($1 > $bmf_latime) {$bell = 1;} } s///g; print $bmf_line, $_; last if (++$lcnt > $dmax); } if ($bell) { print "\n"; } } #部屋属性取得 sub roomset { &ReadHeader ($roomno); ($bhf_roomname,$bhf_intime,$bhf_outtime,$bhf_memcnt,$bhf_page,$bhf_ccolor,$bhf_roomenv,$bhf_roompass,$bhf_bkurl,$bhf_yobi1,$bhf_yobi2,$bhf_yobi3) = split(/||\n/,$hf_list); $bhf_page =~ s/body/BODY/gi; @page_set = split(/,/,$bhf_page); if ($bhf_page =~ /.+BODY.+BODY.+/) { if ($bgmode eq '1') { $bhf_pgbody = $page_set[0]; $bhf_pgbody2 = $page_set[1]; } else { $bhf_pgbody = $page_set[1]; $bhf_pgbody2 = $page_set[0]; } $bhf_line = $page_set[2]; } else { $bhf_pgbody = $page_set[0]; $bhf_pgbody2 = $page_set[0]; $bhf_line = $page_set[1]; } ($bhf_roomenvi1,$bhf_roomenvi2,$bhf_roomenvo,$bhf_roomenvd,$bhf_imaxcnt) = split(/,/,$bhf_roomenv); } #参加者登録、参加者・ROM精査 sub rom_proc { $memcnt = 0; $actmem = 0; &LockReadMember($roomno); foreach (@mf_list) { ($tmf_roomno,$tmf_roomname,$tmf_chatname,$tmf_inenv,$tmf_inproc,$tmf_yobi) = split(/||\n/); ($tmf_ipaddr,$tmf_intime,$tmf_latime,$tmf_agent,$tmf_profno,$tmf_yobi21) = split(/,/,$tmf_inproc); if ($tmf_ipaddr eq 'ROM') { $timewk = time - $tmf_intime; if ($timewk > $rom_time) {$_ = '';} elsif ($tmf_chatname eq $rom_name) {$_ = '';} } else { $timewk = time - $tmf_latime; if ($timewk > $aout_time) {$_ = '';} # elsif ($tmf_ipaddr eq $ipaddr) {$_ = '';} elsif ($tmf_chatname eq $chatname) { $bmf_latime = $tmf_latime; ($bmf_ccolor,$bmf_seq,$bmf_java,$bmf_yobi11,$bmf_yobi12) = split(/,/,$tmf_inenv); $_ = "$tmf_roomno|$tmf_roomname|$tmf_chatname|$bmf_ccolor,$bmf_seq,$bmf_java,$bmf_yobi11,$bmf_yobi12|$ipaddr,$tmf_intime,$times,$tmf_agent,$tmf_profno,|,|\n"; $bmf_profno = $tmf_profno; $memcnt++; $actmem = 1; } else {$memcnt++;} } } &UnlockWriteMember($roomno); if ($actmem eq 0) {&error("一定時間($aout_time秒)のアクセスが無く自動退室された可能\性があります、
会話を継続する場合は再度入室して下さい。");} } #ROM表示 sub rom_disp { $rom_dsw = '0'; $rom_count = 0; foreach (@mf_list) { next if (!($_)); ($tmf_roomno,$tmf_roomname,$tmf_chatname,$tmf_inenv,$tmf_inproc,$tmf_yobi) = split(/||\n/); ($tmf_ipaddr,$tmf_intime,$tmf_latime,$tmf_agent,$tmf_profno,$tmf_yobi21) = split(/,/,$tmf_inproc); if ($tmf_ipaddr eq 'ROM') { if($rom_nmmd eq '1') {$rom_count++;} else { if ($rom_dsw eq '0') { print "ご案内>現在のROMさんは『$tmf_chatname』"; $rom_dsw = '1'; } else {print "『$tmf_chatname』";} } } } if ($rom_dsw eq '1') {print "
\n";} elsif ($rom_count > 0) {print "ご案内>ROM中!さんが$rom_count人、いらっしゃいます〜。
\n";} } #エンコード処理 sub encode { $_[0] =~ s/([^0-9A-Za-z_ ])/'%'.unpack('H2',$1)/ge; $_[0] =~ s/\s/+/g; $_[0]; } #エラー表示 sub error { print "$title2\n"; print<<"__EOF__"; $hp_bcolor
$_[0]
$title - Chat室(部屋選択)へ戻る。

__EOF__ exit(0); }