OSDN Git Service

設定とメッセージ関連を別ファイルに分離した
authorkonekoneko <jbh03215@hotmail.co.jp>
Fri, 16 Nov 2012 11:39:02 +0000 (20:39 +0900)
committerkonekoneko <jbh03215@hotmail.co.jp>
Fri, 16 Nov 2012 11:39:02 +0000 (20:39 +0900)
chat.js
configure.js [new file with mode: 0644]
main.js
profile.js
readme.html
resources.js [new file with mode: 0644]

diff --git a/chat.js b/chat.js
index a2fd994..5b68ad5 100644 (file)
--- a/chat.js
+++ b/chat.js
@@ -1,23 +1,16 @@
-$max_room_number = 3;       //最大ルーム数\r
-$spilt_size = 1024 * 512;      //分割するサイズ\r
+$spilt_size = 1024 * 512;   //分割するサイズ\r
 $reset_password_diff = 1000 * 60 * 60; //ルームパスワードをリセットする間隔\r
 $gc_time_interval = 1000 * 60 * 60;    //ゴミ掃除を行う間隔\r
-$invaild_token_message = "トークンが一致しませんでした";\r
-$block_message = "メッセージの送信に失敗しました";      //ブロック時のメッセージ\r
-$not_match_password = "パスワードが一致しませんでした"; //パスワードが一致しない場合に表示されるメッセージ\r
-$password_setted_message = "パスワードを設定しました";     //パスワードが設定されたときに表示されるメッセージ\r
-$password_resetted_message = "パスワードをリセットしました";     //パスワードが再設定されたときに表示されるメッセージ\r
-$failed_set_password_message = "パスワードの設定に失敗しました";        //パスワードが再設定されたときに表示されるメッセージ\r
 $ip_ban_list_file_name = "ipbanlist.txt";      //アクセスを禁止するIPが記録されているファイル\r
 $room_configure_file_name = "roomlist.txt";    //ルームの設定が記録されているファイル\r
-$username = "admin";   //管理者用のページにアクセスできるユーザ名\r
-$password = "admin";   //管理者用のページにアクセスするのに必要なパスワード\r
 $system_name = "system";       //システム発言を表す名前\r
 $log_directory = "log";        //ログファイルを置くフォルダー\r
 $log_file_name = "logfile%d.txt";      //ログファイル名(%dはそのままにしておくこと)\r
 $splited_log_file_name = "logfile%d_%s.txt"    //分割後のファイル名(%dと%sはそのままにしておくこと)\r
 $pastlogfile_pattern = "logfile%d(_+.*)?\.txt";        //過去ログと判定する正規表現\r
 \r
+var resource = require("./resources.js");\r
+var config = require("./configure.js");\r
 var lazy = require("./lazy.js");\r
 var security = require("./security.js");\r
 var fs = require("fs");\r
@@ -49,7 +42,7 @@ module.exports = function(app,server,express,session){
        io.set("log level", 1);                    // ログレベルを設定(デフォルトより下げている)\r
        });\r
 \r
-       for(var i = 0; i < $max_room_number; i++)\r
+       for(var i = 0; i < config.max_room_number; i++)\r
        {\r
                clients[i] =io\r
                .of(GetNameFromRoomNumber(i))\r
@@ -69,7 +62,7 @@ function chat_proc(req, res){
 }\r
 \r
 function auth_proc(user, pass) {\r
-       return user === $username && pass === $password;\r
+       return user === config.username && pass === config.password;\r
 }\r
 \r
 function log_proc(req, res) {\r
@@ -89,7 +82,7 @@ function adminchat_proc(req, res){
 function admin_postproc(req,res){\r
        if(req.session.items.token != req.body.token)\r
        {\r
-               res.send($invaild_token_message);\r
+               res.send(resource.invaild_token_message);\r
                return;\r
        }\r
        if(typeof(req.body.erase) != "undefined")\r
@@ -244,7 +237,7 @@ function RoomInfomationCollection()
        }\r
        function Clear(){\r
                collection = {};\r
-               for(var i = 0; i < $max_room_number; i++)\r
+               for(var i = 0; i < config.max_room_number; i++)\r
                        Add(i,null,null);\r
        };\r
        function Add(rno,pass,hiddenlogflag){\r
@@ -539,9 +532,9 @@ function ParseSetPassword(socket,msg)
                message:null,\r
        };\r
        if($rooms.Get(rno).IsVolatile() == false && $rooms.Get(rno).SetPassword(msg.owner,msg.password))\r
-               newMeg.message = $password_setted_message;\r
+               newMeg.message = resource.password_setted_message;\r
        else\r
-               newMeg.message = $failed_set_password_message;\r
+               newMeg.message = resource.failed_set_password_message;\r
        ParseSendMsg(socket,newMeg);\r
 }\r
 \r
@@ -551,7 +544,7 @@ function ParseJoin(socket,msg)
 \r
        if(ipbanlist.IsBlockedToWrite(ip))\r
        {\r
-               socket.emit("error",$block_message);\r
+               socket.emit("error",resource.block_message);\r
                return;\r
        }\r
 \r
@@ -595,7 +588,7 @@ function ParseQuit(socket,msg)
 \r
        if(ipbanlist.IsBlockedToWrite(ip))\r
        {\r
-               socket.emit("error",$block_message);\r
+               socket.emit("error",resource.block_message);\r
                return;\r
        }\r
 \r
@@ -603,7 +596,7 @@ function ParseQuit(socket,msg)
 \r
        var newMeg = {\r
                name:$system_name,\r
-               message:$password_resetted_message,\r
+               message:resource.password_resetted_message,\r
        };\r
 \r
        $rooms.Get(rno).AddRom(ip);\r
@@ -638,7 +631,7 @@ function ParseSendMsg(socket,msg)
 \r
        if(ip in ipbanlist)\r
        {\r
-               socket.emit("error",$block_message);\r
+               socket.emit("error",resource.block_message);\r
                return;\r
        }\r
 \r
diff --git a/configure.js b/configure.js
new file mode 100644 (file)
index 0000000..f02ca1b
--- /dev/null
@@ -0,0 +1,14 @@
+module.exports = {\r
+       enable_profile : true,  //プロファイル機能を使用するなら真。そうでないなら、偽\r
+       port : process.env.port || 3000,        //ポート\r
+       redisHost : "localhost",        //redisサーバのアドレス\r
+       redisPort : 6379,       //redisサーバのポート\r
+       redisPassword : "",     //redisサーバのパスワード\r
+       db_user : "user",       //MySQLサーバーのユーザー名\r
+       db_password : "user",   //MySQLサーバーのパスワード\r
+       db_host : "localhost",  //MySQLサーバーのアドレス\r
+       db_limit : 50,  //一度に表示する件数\r
+       username : "admin",     //管理者用のページにアクセスできるユーザ名\r
+       password : "admin",     //管理者用のページにアクセスするのに必要なパスワード\r
+       max_room_number : 3,    //最大ルーム数\r
+};\r
diff --git a/main.js b/main.js
index 04e9a91..cd72b94 100644 (file)
--- a/main.js
+++ b/main.js
@@ -2,13 +2,7 @@
 //\r
 //設定\r
 //\r
-$enable_profile = true;        //プロファイル機能を使用するなら真。そうでないなら、偽\r
-\r
-$port = process.env.port || 3000;      //ポート\r
-$redisHost = "localhost";      //redisサーバのアドレス\r
-$redisPort = 6379;     //redisサーバのポート\r
-$redisPassword = "";   //redisサーバのパスワード\r
-\r
+var config = require("./configure.js");\r
 //\r
 //\r
 //\r
@@ -20,7 +14,11 @@ var express = require("express");
 var app = express();\r
 var http = require("http");\r
 var RedisStore = require("connect-redis")(express);\r
-var sessionStore = new RedisStore({host:$redisHost,port:$redisPort,pass:$redisPassword});\r
+var sessionStore = new RedisStore({\r
+       host:config.redisHost,\r
+       port:config.redisPort,\r
+       pass:config.redisPassword\r
+});\r
 \r
 // Configuration\r
 \r
@@ -48,10 +46,10 @@ app.configure("production", function(){
   app.use(express.errorHandler()); \r
 });\r
 \r
-if($enable_profile)\r
+if(config.enable_profile)\r
        require("./profile")(app);\r
 \r
-var server = http.createServer(app).listen($port);\r
-console.log("Express server listening on port %d in %s mode", $port, app.settings.env);\r
+var server = http.createServer(app).listen(config.port);\r
+console.log("Express server listening on port %d in %s mode", config.port, app.settings.env);\r
 \r
 require("./chat")(app,server,express,sessionStore);\r
index 2960b83..06bc5d2 100644 (file)
@@ -1,14 +1,5 @@
-$db_user = "user";\r
-$db_password = "user";\r
-$db_limit = 50;\r
-\r
-$unmatch_password = "パスワードが一致しません";\r
-$invaild_parameter = "パラメーターが正しくありません";\r
-$success_registor = "登録に成功しました";\r
-$success_remove = "削除に成功しました";\r
-$success_edit = "編集に成功しました";\r
-$notfound_name = "該当名が存在しません";\r
-\r
+var config = require("./configure.js");\r
+var resource = require("./resources.js");\r
 var util = require("util");\r
 var async = require("async");\r
 var security = require("./security.js");\r
@@ -49,7 +40,7 @@ function admin_proc(req, res)
 function admin_postproc(req,res)\r
 {\r
        if(req.session.items.token != req.body.token){\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
                return;\r
        }\r
        async.waterfall([\r
@@ -63,7 +54,7 @@ function admin_postproc(req,res)
                if(err != null)\r
                        RenderMessage(res,err,req.session.items);\r
                else\r
-                       RenderMessage(res,$success_remove,req.session.items);\r
+                       RenderMessage(res,resource.success_remove,req.session.items);\r
        });\r
 }\r
 \r
@@ -85,7 +76,7 @@ function list_proc(req, res)
 \r
 function PrepaerListAsync(req,callback)\r
 {\r
-       var limit = $db_limit;\r
+       var limit = config.db_limit;\r
        var start = 0;\r
        var parttern = "";\r
        if(typeof(req.query.start) != "undefined")\r
@@ -122,7 +113,7 @@ function detail_proc(req, res)
 {\r
        if(typeof(req.query.name) == "undefined")\r
        {\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
                return;\r
        }\r
 \r
@@ -137,7 +128,7 @@ function detail_proc(req, res)
                if(err != null)\r
                        RenderMessage(res,err,req.session.items);\r
                else if(result.length == 0)\r
-                       RenderMessage(res,$notfound_name,req.session.items);\r
+                       RenderMessage(res,resource.notfound_name,req.session.items);\r
                else{\r
                        res.render("profile\\detail",{list:result,token:req.session.items.token,admin:req.session.items.admin});\r
                }\r
@@ -147,7 +138,7 @@ function detail_proc(req, res)
 function detail_postproc(req, res)\r
 {\r
        if(req.session.items.token != req.body.token){\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
                return;\r
        }\r
        if(typeof(req.body.remove) != "undefined"){\r
@@ -168,9 +159,9 @@ function detail_postproc(req, res)
                        if(err != null)\r
                                RenderMessage(res,err,req.session.items);\r
                        else if(result == null)\r
-                               RenderMessage(res,$unmatch_password,req.session.items);\r
+                               RenderMessage(res,resource.unmatch_password,req.session.items);\r
                        else\r
-                               RenderMessage(res,$success_remove,req.session.items);\r
+                               RenderMessage(res,resource.success_remove,req.session.items);\r
                });\r
        }else if(typeof(req.body.edit) != "undefined"){\r
                async.waterfall([\r
@@ -192,23 +183,23 @@ function detail_postproc(req, res)
                        }else if(result != null){\r
                                res.render("profile\\edit",{list:result,token:req.body.token});\r
                        }else{\r
-                               RenderMessage(res,$unmatch_password,req.session.items);\r
+                               RenderMessage(res,resource.unmatch_password,req.session.items);\r
                        }\r
                });\r
        }else{\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
        }\r
 }\r
 \r
 function edit_postproc(req, res)\r
 {\r
        if(req.session.items.token != req.body.token){\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
                return;\r
        }\r
        if(typeof(req.body.name) == "undefined")\r
        {\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
                return;\r
        }else if(typeof(req.body.edit) != "undefined"){\r
                async.waterfall([\r
@@ -219,17 +210,17 @@ function edit_postproc(req, res)
                        if(err != null)\r
                                RenderMessage(res,err,req.session.items);\r
                        else\r
-                               RenderMessage(res,$success_edit,req.session.items);\r
+                               RenderMessage(res,resource.success_edit,req.session.items);\r
                });\r
        }else{\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
        }\r
 }\r
 \r
 function registor_postproc(req, res)\r
 {\r
        if(req.session.items.token != req.body.token){\r
-               RenderMessage(res,$invaild_parameter,req.session.items);\r
+               RenderMessage(res,resource.invaild_parameter,req.session.items);\r
                return;\r
        }\r
        if(typeof(req.body.registor) != "undefined"){\r
@@ -241,10 +232,10 @@ function registor_postproc(req, res)
                        if(err != null)\r
                                RenderMessage(res,err,req.session.items);\r
                        else\r
-                               RenderMessage(res,$success_registor,req.session.items);\r
+                               RenderMessage(res,resource.success_registor,req.session.items);\r
                });\r
        }else{\r
-               RenderMessage($invaild_parameter,req.session.items);\r
+               RenderMessage(resource.invaild_parameter,req.session.items);\r
        }\r
 }\r
 \r
@@ -271,9 +262,9 @@ function ProfileCollection()
 {\r
        var MySQLPool = new require("./mysql_pool.js");\r
        var pool = new MySQLPool({\r
-                               host     : "localhost",\r
-                               user     : $db_user,\r
-                               password : $db_password,\r
+                               host     : config.db_host,\r
+                               user     : config.db_user,\r
+                               password : config.db_password,\r
                                database : "profile",\r
                        });\r
        this.AuthAsync = function(name,password,cb){\r
index b77369a..05d038b 100644 (file)
@@ -22,7 +22,8 @@
                <li><a href="http://www-jp.mysql.com/">ここ</a>のダウンロードからMySQLをダウンロードし、インストールする</li>\r
                <li>mysql -u root -p &lt; init.sqlを実行する</li>\r
                <li>npm installを実行する</li>\r
-               <li>chat.jsの$usernameと$passwordを適切なものに変更する</li>\r
+               <li>configue.jsのusernameとpasswordを適切なものに変更する</li>\r
+               <li>configue.jsのredisHost、redisPort、redisPasswordを変更する(ローカル内でRedisSeverを起動する場合は不要)</li>\r
                <li>redisを起動し、main.jsを起動する</li>\r
        </ol>\r
        <h3>CentOS系列</h3>\r
@@ -44,8 +45,8 @@
                <li>makeを実行し、make installも実行する</li>\r
                <li>git clone git://git.sourceforge.jp/gitroot/webchat/WebChat.gitを実行する</li>\r
                <li>npm installを実行する</li>\r
-               <li>chat.jsの$usernameと$passwordを適切なものに変更する</li>\r
-               <li>main.jsの$redisHost、$redisPort、$redisPasswordを変更する(ローカル内でRedisSeverを起動する場合は不要)</li>\r
+               <li>configue.jsのusernameとpasswordを適切なものに変更する</li>\r
+               <li>configue.jsのredisHost、redisPort、redisPasswordを変更する(ローカル内でRedisSeverを起動する場合は不要)</li>\r
                <li>main.jsを起動する</li>\r
        </ol>\r
        <h2>管理サイト</h2>\r
diff --git a/resources.js b/resources.js
new file mode 100644 (file)
index 0000000..5b281fd
--- /dev/null
@@ -0,0 +1,13 @@
+module.exports = {\r
+       unmatch_password : "パスワードが一致しません",\r
+       invaild_parameter : "パラメーターが正しくありません",\r
+       success_registor : "登録に成功しました",\r
+       success_remove : "削除に成功しました",\r
+       success_edit : "編集に成功しました",\r
+       notfound_name : "該当名が存在しません",\r
+       invaild_token_message : "トークンが一致しませんでした",\r
+       block_message : "メッセージの送信に失敗しました",\r
+       password_setted_message : "パスワードを設定しました",\r
+       password_resetted_message : "パスワードをリセットしました",\r
+       failed_set_password_message : "パスワードの設定に失敗しました",\r
+};\r