From 68b3f9bc750f6c21a82a7f7783eb7225a5574fd1 Mon Sep 17 00:00:00 2001 From: konekoneko Date: Sat, 22 Sep 2012 03:34:31 +0900 Subject: [PATCH] =?utf8?q?=E9=83=A8=E5=B1=8B=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?utf8?q?=E3=82=92=E4=BF=9D=E5=AD=98=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?utf8?q?=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- chatServer.js | 121 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 68 insertions(+), 53 deletions(-) diff --git a/chatServer.js b/chatServer.js index 687d819..16ae00e 100644 --- a/chatServer.js +++ b/chatServer.js @@ -10,6 +10,7 @@ $password_setted_message = "パスワードを設定しました"; //パスワ $password_resetted_message = "パスワードをリセットしました"; //パスワードが再設定されたときに表示されるメッセージ $failed_set_password_message = "パスワードの設定に失敗しました"; //パスワードが再設定されたときに表示されるメッセージ $ip_ban_list_file_name = "ipbanlist.txt"; //アクセスを禁止するIPが記録されているファイル +$room_configure_file_name = "roomlist.txt"; //ルームの設定が記録されているファイル $port = process.env.port || 3000; //ポート $username = "admin"; //管理者用のページにアクセスできるユーザ名 $password = "admin"; //管理者用のページにアクセスするのに必要なパスワード @@ -23,18 +24,6 @@ $log_file_name = "logfile%d.txt"; //ログファイル名(%dはそのままに $splited_log_file_name = "logfile%d_%s.txt" //分割後のファイル名(%dと%sはそのままにしておくこと) $pastlogfile_pattern = "logfile%d(_+.*)?\.txt"; //過去ログと判定する正規表現 $logfile_pattern = "logfile[0-9]+(_*.*)?\.txt" //過去ログと判定する正規表現 -//パスワードを自由に設定できる部屋のリスト -// rno 設定したい部屋番号 -// password パスワードを設定する。nullにすると利用者がパスワードの設定をすることができる -//記述例: -// new RoomInfomationCollection( -// {rno:"1",password:"test"}, -// {rno:"2",password:null} -// ) -$rooms = new RoomInfomationCollection( - {rno:"1",password:"test"}, - {rno:"2",password:null} -); /** * Module dependencies. @@ -134,8 +123,9 @@ app.post("/admin",function(req,res){ } if(typeof(req.body.updateroom) != "undefined") { - CreateRoomsFromString(req.body.newroomlist); - renderAdmin(req,res); + $rooms.Update(req.body.newroomlist,function(){ + renderAdmin(req,res); + }); } }); @@ -194,6 +184,7 @@ io.configure('production', function(){ var clients = new Array(); var ipbanlist = new IpBanCollecion(); +var $rooms = new RoomInfomationCollection(); createLogDirectory(); @@ -537,17 +528,6 @@ function CreateMessageFromText(text) function RoomInfomationCollection() { var collection = {}; - this.Clear = function(){ - collection = {}; - }; - this.Add = function(rno,pass){ - collection[rno] = {time : null, - password : pass, - owner : null, - authed_list : {}}; - if(pass != null) - collection[rno].owner = $system_name; - }; this.Reset = function(rno,owner){ var date = new Date(); var time = date.getTime(); @@ -636,35 +616,70 @@ function RoomInfomationCollection() } return retval; } - - for(var i=0; i