#!/usr/local/bin/perl #--------------------------------------# # # # # # w c h a t . c g i - 1.00 # # # # powered by ssw-1.00 # # # # # #--------------------------------------# use ssw; use cgis; # プロパティ # ----------------------------------------------------------------------- #チャットのタイトル $Title="ホワイトチャット"; # 最大保持行数 $MaxLines=30; # 戻り先のURL $URLReturn="index.shtml"; # 表示色の名前とカラーコード @ColorName=("黒", "茶", "オリーブ","青", "紫", "緑" ); @ColorCode=("#000000","#800000","#808000","#000080","#800080","#008000"); # クッキー賞味期限(日) $CExpires =120; # ファイルロック 使用=1,不使用=0 $EnableLock=0; # ログのパス $LogFile="chat.log"; # 人工無脳のプロパティ # 名前 $ssw::Name = "まな"; # 辞書のパス $ssw::MainDicPath = "mana_m.txt"; $ssw::RenderDicPath = "mana_r.txt"; $ssw::GreenDicPath = "mana_g.txt"; # 体調が変化する周期(日) $ssw::VCondInterv = 10; # すべてのユーザに教育を(許可する=1 許可しない=0) $ssw::IsAuthorized = 1; # deck -UCPAE $ssw::Deck = "UUUUC---"; # 発言色 $MunoColor = 0; # ここまで #-------------------------------------------------------------------------- $URLThis="wchat.cgi"; %EventList=("OnStart" =>1, "OnExecute" =>1, "OnLogout" =>1, "OnEducateExecute"=>1, ); $Color=0; @ChatUpkeep=("::Name","::Color","::Next","::Text"); @MunoUpkeep=("ssw::UName","ssw::Queue","ssw::Reserved","ssw::Message", "ssw::PrevInput","ssw::PrevOutput","ssw::PrevTheme", "ssw::CurrentTheme"); @EduUpkeep =("::Key","::Theme","::Command","::Hearsay","::Opinion", "ssw::Teacher","ssw::Value"); #------------- # M A I N cgis::get_param((@ChatUpkeep,@MunoUpkeep,@EduUpkeep)); if( exists $EventList{$Next} ){ &{$Next}; exit 0; } &OnStart; exit 1; #------------------------- # E V E N T # sub OnStart() { %cookie=cgis::get_cookie($URLThis); $ssw::UName=$Name =$cookie{"name"} || ""; $Color=$cookie{"color"} || "0"; ssw::login; &FormShow; exit 0; } sub OnLogout() { ssw::logout; print "Location: $URLReturn\n\n"; exit 1; } sub OnExecute() { if($Name eq "") { print "Content-type: text/html\n\n"; print "