3 ##### YADChat
\94Å
\8d\8b\89Ø
\88ºà£
\83`
\83\83\83b
\83g #####
4 ### $Id: kenranchat.cgi,v 1.5 2007/07/14 14:00:19 jyugoya Exp $
5 ### YADChat / 2007 ©
\8c\8b\8fé
\97R
\97\85\81\97\90¢
\8aE
\94E
\8eÒ
\8d\91 / BSD Lisence
6 ### Kent-Web
\82Ìcomchat
\82Ì
\81i
\82Ù
\82Ú
\81j
\8cÝ
\8a·
\95i
\81A
\82ð
\82³
\82ç
\82É
\8f\91\82«
\8a·
\82¦
\82½
\82à
\82Ì
8 #
\83o
\81[
\83W
\83\87\83\93\94Ô
\8d\86
9 $ver = 'KENRANCHAT 1.2';
11 #
\90Ý
\92è
\8d\80\96Ú
\93Ç
\82Ý
\8d\9e\82Ý
12 require './config.cgi';
14 # CGI
\8aÖ
\98A
\8f\88\97\9d\83\89\83C
\83u
\83\89\83\8a\93Ç
\82Ý
\8d\9e\82Ý
15 require './cgilib.pl';
17 # KENRANCHAT
\83\89\83C
\83u
\83\89\83\8a
18 require './kenranlib.pl';
20 ########################
21 #####
\83\81\83C
\83\93\8f\88\97\9d\95\94 #####
22 ########################
24 ##### CGI
\83p
\83b
\83P
\81[
\83W #####
25 use CGI qw/:standard/;
27 #####
\83O
\83\8d\81[
\83o
\83\8b\95Ï
\90\94 #####
28 # CGI
\83I
\83u
\83W
\83F
\83N
\83g
31 #
\93ü
\97Í
\83f
\81[
\83^
\89ð
\90Í (
\83O
\83\8d\81[
\83o
\83\8b\95Ï
\90\94)
34 #
\83N
\83b
\83L
\81[
\82ð
\8eæ
\93¾ (
\83O
\83\8d\81[
\83o
\83\8b\95Ï
\90\94)
35 %CK = &getCookie($CONF{'cookiekey'});
37 #
\83_
\83C
\83XON
\82È
\82ç
\82Î
\83_
\83C
\83X
\95¶
\8e\9a\97ñ
\92u
\82«
\8a·
\82¦
38 if ( $CONF{'dicemode'} ) {
39 if ($IN{'comment'} =~ /([1-9][0-9]*)[dD]([1-9][0-9]*)/) {
40 local($dstr) = &dice($1, $2);
41 $IN{'comment'} =~ s/[1-9][0-9]*[dD][1-9][0-9]*/$dstr/;
45 # RP
\8b@
\94\
\82ªON
\82È
\82ç
\82Î
\95¶
\8e\9a\97ñ
\82Élogclear
\82ª
\82 \82Á
\82½
\82çRP
\83\8d\83O
\8fÁ
\8b\8e
46 if ( $CONF{'rplog'} ) {
47 if ($IN{'comment'} =~ /^logclear$/) {
52 #
\8aç
\95¶
\8e\9a\82ª
\82 \82ê
\82Î
\81A
\93ü
\97Í
\95¶
\8e\9a\97ñ
\82É
\95t
\8bL
53 if ( $IN{'face'} ne "" ) {
54 $IN{'comment'} = "$IN{'comment'} $IN{'face'}";
57 #
\83N
\83\89\83C
\83A
\83\93\83g
\82ÌIP
\83A
\83h
\83\8c\83X
\82Ì
\8eæ
\93¾ (
\83O
\83\8d\81[
\83o
\83\8b\95Ï
\90\94)
58 $client = $ENV{'REMOTE_ADDR'};
60 #
\96³
\96¼
\82Ì
\8fê
\8d\87\82Í
\83N
\83\89\83C
\83A
\83\93\83gIP
\83A
\83h
\83\8c\83X
\82ð
\96¼
\91O
\82Æ
\82·
\82é
61 if ($IN{'name'} eq "") {
62 $IN{'name'} = $client;
65 #
\8e\9e\8aÔ
\82ð
\8eæ
\93¾
68 #
\83g
\83\8a\83b
\83v
\95Ï
\8a·
69 if ($CONF{'usetrip'} && $IN{'name'} =~ /(.*)(#|
\81\94)(.*)/){
70 $trip = &genTrip($1, $3);
71 $tripped = "<b>" . $name . "</b>
\81\9f" . $trip;
73 $tripped = $IN{'name'};
74 $tripped =~ s/
\81\9f/
\81\9e/g;
77 #
\83A
\83N
\83Z
\83X
\8b\91\94Û
\83`
\83F
\83b
\83N
80 #
\83C
\83\93\83f
\83b
\83N
\83X
\83t
\83@
\83C
\83\8b\82©
\82ç
\95\94\89®
\83^
\83C
\83g
\83\8b\82ð
\8eæ
\93¾
\82µ
\82Ä
\8fã
\8f\91\82«
81 $CONF{'title'} = &getRoomTitle($IN{'room'});
83 #
\95\94\89®
\83`
\83F
\83b
\83N
84 if ($IN{'room'} ne "") {
85 $datfile = $CONF{'datdir'}.'/'.$IN{'room'}.'.dat';
87 $logfile = $CONF{'logdir'}.'/'.$IN{'room'}.'.html';
91 &printError("
\8ew
\92è
\82³
\82ê
\82½
\83`
\83\83\83b
\83g
\83\8b\81[
\83\80\82Í
\83\8d\83O
\82à
\91¶
\8dÝ
\82µ
\82Ä
\82¢
\82Ü
\82¹
\82ñ");
95 &printError("
\95\94\89®
\94Ô
\8d\86\82ª
\8ew
\92è
\82³
\82ê
\82Ä
\82¢
\82Ü
\82¹
\82ñ");
98 #
\8cy
\97Ê
\89»ON
\82É
\82æ
\82é
\93®
\8dì
\95ª
\8aò
99 if ($IN{'weight'} eq 'light') {
100 if ($IN{'mode'} eq '' || $IN{'mode'} eq 'view' || $IN{'mode'} eq 'form') {
101 &printEntryFormAndDat();
102 } elsif ($IN{'mode'} eq 'login' || $IN{'mode'} eq 'chat') {
103 &printChatFormAndDat();
104 } elsif ($IN{'mode'} eq 'logout') {
105 &printLogout($tripped);
107 &printError("
\82»
\82Ì
\82æ
\82¤
\82È
\83\82\81[
\83h
\82Í
\91¶
\8dÝ
\82µ
\82Ü
\82¹
\82ñ");
111 # mode
\82É
\82æ
\82é
\93®
\8dì
\95ª
\8aò
112 if ($IN{'mode'} eq '') {
114 } elsif ($IN{'mode'} eq 'view') {
116 } elsif ($IN{'mode'} eq 'form') {
118 } elsif ($IN{'mode'} eq 'login') {
120 } elsif ($IN{'mode'} eq 'chat') {
121 if ($IN{'comment'}) {
122 &writeDat($IN{'mode'});
125 } elsif ($IN{'mode'} eq 'logout') {
126 &printLogout($tripped);
128 &printError("
\82»
\82Ì
\82æ
\82¤
\82È
\83\82\81[
\83h
\82Í
\91¶
\8dÝ
\82µ
\82Ü
\82¹
\82ñ");
131 ### Main
\8f\88\97\9d\8fI
\97¹