#!/usr/bin/perl #表紙 # 99/07/03 update(v5.1) by 普通 #==================================================================== #ご協力を頂いた方 #oidon\n"; # $disp2 = "\n"; $disp1 = "\n"; $disp2 = "\n"; } else { $disp1 = "\n"; $disp2 = "\n"; } if ($ranking) {$disp9 = "
  • 発言ランキング表\示\n"}; if ($func_prof) {$disp8 = "
  • プロフィール一覧・登録/更新\n"}; if ($func_rmenv) {$disp7 = "
  • 部屋動作モード一覧\n"}; if ($func_lglst) {$disp6 = "
  • 参加履歴一覧\n"}; if ($func_bordw) {$disp5 = "
  • 待ち合わせ掲示板\n"}; if ($func_icq) {$disp4 = "
  • 管理人ICQ呼び出し♪\n"}; print "Content-type: text/html\n\n"; print "$title2\n"; print<<"__EOF__"; $hp_bcolor
    $disp1
    $title $disp2

    1. 「入室、状況見学」はそれぞれの「部屋名称」ボタンをクリックしてください。
    2. 「現在の入室者照会」はそれぞれの「ご利用人数」をクリックしてください。
    3. 現在のご利用人数の確認は適宜リロードして下さい。
    4. ご利用方法はこちらです。 $disp5 $disp6 $disp9 $disp8 $disp7 $disp4
    5. 管理者ページへ戻る。

    \n"; &roomdisp(); } print<<"__EOF__";
    部屋名称最新日時ご利用
     人数
    入室退室 __EOF__ foreach $roomno (@room_list) { &rom_proc(); print "



    管理専用


    Zoo Chat Ver:$ver          
    Script written:普通のサラリーマン
    Flash(Design&Arenged):たぁきい
    Design&Arenged:KENT WEB
    Support HomePage:ZooChat広場

    __EOF__ exit; #各室状況の表示 sub roomdisp { $hf = "${fbase}chati$roomno.txt"; open (HF,"+<$hf"); flock (HF,2) if $FLK; $hf_list = ; ($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_roomenvi1,$bhf_roomenvi2,$bhf_roomenvo,$bhf_roomenvd,$bhf_imaxcnt) = split(/,/,$bhf_roomenv); #部屋・表示=内緒 if ($bhf_roomenvd eq '2') { $disp_memcnt = "$memcnt人"; } else { $disp_memcnt = "$memcnt人"; } ($sec9,$min9,$hour9,$mday9,$mon9,$year9,$wday9,$yday9,$isdst9) = localtime($bhf_intime); $mon9++; $d_intime = "$mon9月$mday9日$hour9時$min9分"; ($sec9,$min9,$hour9,$mday9,$mon9,$year9,$wday9,$yday9,$isdst9) = localtime($bhf_outtime); $mon9++; $d_outtime = "$mon9月$mday9日$hour9時$min9分"; ####################フラッシュバージョンへ変更################### if ($ficon eq 'y') { print "$d_intime$d_outtime$disp_memcnt\n";} ########################################################## else { print "$bhf_roomname$d_intime$d_outtime$disp_memcnt\n";} #自動退室対象時の部屋表紙ファイルの参加人数クリア if ($fupdate eq 1) { seek (HF,0,0); truncate (HF,0); #部屋属性が参加者パスワード設定&在室人数=0時はパスワードを消す if ($bhf_roomenvo && $memcnt eq 0) {$bhf_roompass = '';} $hf_list = "$bhf_roomname|$bhf_intime|$bhf_outtime|$memcnt|$bhf_page|$bhf_ccolor|$bhf_roomenv|$bhf_roompass|$bhf_bkurl|$bhf_yobi1|$bhf_yobi2|$bhf_yobi3\n"; print HF $hf_list; } close (HF); flock (HF,8) if $FLK; #部屋・退室=会話ログ消去 if ($bhf_roomenvo && ($fupdate eq 1) && ($memcnt eq 0)) { &DeleteComment ($roomno); &WriteComment ($roomno,"ご案内>発言ログは自動初期化(退室忘れ検出)しました。
    \n"); } } #参加者・ROM精査 sub rom_proc { $memcnt = 0; $fupdate = 0; &LockReadMember($roomno); foreach (@mf_list) { ($bmf_roomno,$bmf_roomname,$bmf_chatname,$bmf_inenv,$bmf_inproc,$bmf_yobi) = split(/||\n/); ($bmf_ipaddr,$bmf_intime,$bmf_latime,$bmf_agent,$bmf_profno,$bmf_yobi21) = split(/,/,$bmf_inproc); if ($bmf_ipaddr eq 'ROM') { $timewk = time - $bmf_intime; if ($timewk > $rom_time) {$_ = '';} } else { $timewk = time - $bmf_latime; if ($timewk > $aout_time) { $_ = ''; $fupdate = 1; } else {$memcnt++;} } } &UnlockWriteMember($roomno); } #アクセス制限チェック sub ng_check { $a_ng = '0'; foreach(@ng_ipa){if($ENV{'REMOTE_ADDR'} =~ /^$_/){$a_ng = '1';}} foreach(@ng_rmh){if($ENV{'REMOTE_HOST'} =~ /^$_/){$a_ng = '1';}} if($a_ng eq '1'){ print "Content-type: text/html\n"; print "Status: 401\n\n"; exit(0); } }