#!/usr/bin/perl #語りかけ # 99/06/05 update(v5.0) by 普通 #==================================================================== #ご協力を頂いた方 #oidon$chatname";} else {$chatname_disp = $chatname;} #語り掛けメッセージ編集 $msg = $in{'msg'}; $msg =~ s//>/g; $msg =~ s/\r//g; $msg =~ s/\n//g; $msg =~ s/([^=\"]|^)(http:\/\/[\w\-\?\#\+\.\/~:]{9,})/$1$2<\/A>/ig; if ($tag_usefnc) {$msg = &tag_use($msg);} if ($ic_chat) {$msg =~ s/\[(\w{3,8})\]//g;} #語り掛け相手解析&部屋表現セット $calluserw = $in{'calluser'}; $moji = 'に居る'; ################フラッシュバージョンへ変更################ if ($ficon eq 'y') { # $roomdisp = ""; # $roomdisp2 = ""; $roomdisp = ""; $roomdisp2 = ""; ################################################### if ($calluserw =~ /(.*)\((.*)\).*/) { $gochatname = $1; $goroomno = $2; #######################変更疑問点################### ########### $goroomdisp = ""; $goroomdisp2 = ""; } else {;} } else { $roomdisp = $bhf_roomname; $roomdisp2 = $bhf_roomname; if ($calluserw =~ /.*$moji(.*)\((.*)\).*/) { $gochatname = $1; $goroomno = $2; } else {;} } &goroomset(); #語り掛け先部屋属性取得 if (!($icon eq 'y')) { $goroomdisp = $ghf_roomname; $goroomdisp2 = $ghf_roomname; } } sub main { print "$title2\n"; print<<"__EOF__"; $ghf_pgbody

ここは、$title - $roomdisp2です。

〜も!「$chatname」さん。$goroomdisp2の「$gochatname」さん宛に下記内容で語りかけを完了!
$chatname($roomdisp2)>『$gochatname』さん!$msg[$date$rhost]
__EOF__ if ($wind) { print "部屋に戻るには、上の「発言/リロード」をクリックしてください。\n"; } else { print<<"__EOF__";
__EOF__ } #他Chat室へのメッセージ投稿 &WriteComment ($goroomno,"$chatname_disp$cend1($roomdisp2)>『$gochatname』さん!$msg$cend2\[$date$rhost\]
\n"); if ($ranking) {&ranking();} print "
\n"; exit(0); } #語り掛け先部屋属性取得 sub goroomset { &ReadHeader ($goroomno); ($ghf_roomname,$ghf_intime,$ghf_outtime,$ghf_memcnt,$ghf_page,$ghf_ccolor,$ghf_roomenv,$ghf_roompass,$ghf_bkurl,$ghf_yobi1,$ghf_yobi2,$ghf_yobi3) = split(/||\n/,$hf_list); ($ghf_pgbody,$ghf_line) = split(/,/,$ghf_page); ($ghf_roomenvi1,$ghf_roomenvi2,$ghf_roomenvo,$ghf_roomenvd,$ghf_imaxcnt) = split(/,/,$ghf_roomenv); } #自部屋属性取得 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_pgbody,$bhf_line) = split(/,/,$bhf_page); ($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_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,|$tmf_yobi|\n"; $bmf_profno = $tmf_profno; $memcnt++; $actmem = 1; } else {$memcnt++;} } } &UnlockWriteMember($roomno); if ($actmem eq 0) {&error("一定時間($aout_time秒)のアクセスが無く自動退室された可能\性があります、
会話を継続する場合は再度入室して下さい。");} } #発言ランキング累計 sub ranking { if ($chatname =~ /@/) {@rk_chatname = split(/@/,$chatname);} else {push (@rk_chatname,$chatname);} &LockReadRanking; $mod = '0'; foreach (@rf_list) { ($rf_chatname,$rf_ltime,$rf_mon,$rf_cnt1,$rf_cnt2,$rf_cnt3,$rf_lhost,$rf_profno) = split(/||\n/); if ($rf_chatname eq $rk_chatname[0]) { if ($rf_mon eq $mon) { $mrf_cnt = $rf_cnt1 + 1; } else { $rf_mon = $mon; $rf_cnt3 = $rf_cnt2; $rf_cnt2 = $rf_cnt1; $mrf_cnt = 1; } $rkf_item = "$rf_chatname|$date_now|$rf_mon|$mrf_cnt|$rf_cnt2|$rf_cnt3|$rf_lhost|$profno\n"; $_ = ''; $mod = '1'; last; } } if ($mod eq '0') {unshift(@rf_list,"$rk_chatname[0]|$date_now|$mon|1|0|0||$profno\n");} else {unshift(@rf_list,$rkf_item);} &UnlockWriteRanking; } #タグ利用処理 sub tag_use { local($_) = $_[0]; ##################################################Option:005 by Add Start # 1 while s/(.*)(<(img([!-:A-~\s\=]+))>)/$1/i; ##################################################Option:005 by Add End 1 while s/(.*)(<(font[\s\w\=\#\"\'\+]+)\>(.*)\<\/font\>)/$1<$3>$4<\/FONT>/i; 1 while s/(.*)(<(b)>(.*)<\/b>)/$1$4<\/B>/i; 1 while s/(.*)(<(i)>(.*)<\/i>)/$1$4<\/I>/i; $_; } #エラー表示 sub error { print "$title2\n"; print<<"__EOF__"; $hp_bcolor
$_[0]
$title - Chat室(部屋選択)へ戻る。

__EOF__ exit(0); }