-$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
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
}\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
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
}\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
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
\r
if(ipbanlist.IsBlockedToWrite(ip))\r
{\r
- socket.emit("error",$block_message);\r
+ socket.emit("error",resource.block_message);\r
return;\r
}\r
\r
\r
if(ipbanlist.IsBlockedToWrite(ip))\r
{\r
- socket.emit("error",$block_message);\r
+ socket.emit("error",resource.block_message);\r
return;\r
}\r
\r
\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
\r
if(ip in ipbanlist)\r
{\r
- socket.emit("error",$block_message);\r
+ socket.emit("error",resource.block_message);\r
return;\r
}\r
\r
--- /dev/null
+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
//\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
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
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
-$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
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
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
\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
{\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
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
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
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
}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
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
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
{\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
<li><a href="http://www-jp.mysql.com/">ここ</a>のダウンロードからMySQLをダウンロードし、インストールする</li>\r
<li>mysql -u root -p < 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
<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
--- /dev/null
+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