$quited_message = "%sが退室しました";\r
$system_msg_color ="#000000";\r
$profile_link = "" //プロフィールシステムへのリンク先(%nで名前を表す)\r
-$fanble_message = "[color=blue]%s ファンブル![/color]"; //ファンブル時のメッセージ\r
-$critical_message = "[color=red]%s クリティカル![/color]"; //クリティカル時のメッセージ\r
+$fanble_message = "[color=blue]%s ファンブル![/color]";\r
+$critical_message = "[color=red]%s クリティカル![/color]";\r
$send_message = "%sからの送信 %s";\r
-$failed_connect_message = "failed connect or ip banned";\r
+$failed_connect_message = "接続に失敗しました";\r
+$invaild_name_message = "名前を空欄にすることはできません";\r
+$free_password1 = "最初に入室する人が自由にパスワードを設定できます"; //自由パスワードメッセージ1\r
+$free_password2 = "この部屋は使用されています。パスワードを入力してください"; //自由パスワードメッセージ2\r
+$fixed_password = "この部屋にはパスワードが設定されています"; //固定パスワードルーム\r
+$hidden_log_to_rom = "この部屋ではROMできないようになっています";\r
\r
//ここから先は変更しないでください\r
$prefix_filelist = "!";\r
$socket = new Object();\r
$names = {};\r
+$roominfo = {};\r
$dateFormat = new DateFormat("yyyy/MM/dd HH:mm:ss");\r
+$romcount = 0;\r
//ここまで\r
\r
$(document).ready(function(){\r
$("#help_frame").css("display","none");\r
});\r
$("input[name=openPastlog]").click(openPastlogEventListener);\r
- $("#enter_frame input[name=name]").keydown(function(e){\r
- if(e.keyCode == 13)\r
- enterEventListener();\r
- });\r
- $("#chat_frame input[name=message]").keydown(function(e){\r
- if(e.keyCode == 13)\r
- sidEventListener();\r
- });\r
document.chat_form.onsubmit = function(){return false;};\r
document.enter_form.onsubmit = function(){return false;};\r
\r
- $socket = io.connect(location.hostname + "/" + document.chat_form.rno.value + "?token="+ encodeURI(document.chat_form.token.value));\r
+ $socket = io.connect(location.hostname + "/" + document.chat_form.rno.value + "?token="+ encodeURIComponent(document.chat_form.token.value));\r
$socket.on("error",getErrorMessage);\r
+ $socket.on("send roominfo",sendRoomInfoListerner);\r
+ $socket.on("send romcount",sendRomCountListerner);\r
$socket.on("connect",function(){\r
$socket.on("req pastlog",pastLogEventListerner);\r
$socket.on("req msg",getMessageEventListerner);\r
$socket.on("req pastloglist",CreatePastLogList);\r
- $socket.json.emit("get pastLogList",{rno:document.chat_form.rno.value});\r
- getCurretLog();\r
});\r
});\r
\r
+function sendRomCountListerner(count)\r
+{\r
+ $romcount = count;\r
+ createNameList();\r
+}\r
+\r
+function sendRoomInfoListerner(info)\r
+{\r
+ $roominfo = info;\r
+ var logflag = true;\r
+ var msg = "";\r
+ var adminmsg = "(管理モード)";\r
+ if(info.type == 1){\r
+ if(info.IsOwned)\r
+ msg = $free_password2;\r
+ else\r
+ msg = $free_password1;\r
+ logflag = false;\r
+ }else if(info.type == 2){\r
+ msg = $fixed_password;\r
+ logflag = false;\r
+ }else if(info.type == 3){\r
+ msg = $hidden_log_to_rom;\r
+ logflag = false;\r
+ }\r
+ if(info.admin)\r
+ {\r
+ logflag = true;\r
+ msg += adminmsg;\r
+ }\r
+ if(msg != "")\r
+ $("#enter_message").append(msg);\r
+ if(logflag)\r
+ {\r
+ $socket.json.emit("get pastLogList",{rno:document.chat_form.rno.value});\r
+ getCurretLog();\r
+ }\r
+}\r
+\r
function CreateColorList()\r
{\r
var c = new Array("00","33","66","99","CC","FF");\r
\r
function pastLogEventListerner(msg)\r
{\r
- ParseMessage(msg);\r
+ if(IsRomMode() && $roominfo.type != 0 && $roominfo.admin == false)\r
+ return;\r
+ for(var i = 0; i < msg.length; i++)\r
+ ParseMessage(msg[i]);\r
+ createNameList();\r
}\r
\r
function getMessageEventListerner(msg)\r
{\r
+ if(IsRomMode() && $roominfo.type != 0 && $roominfo.admin == false)\r
+ return;\r
ParseMessage(msg);\r
+ createNameList();\r
if( document.getElementById("bell").checked == true && msg.name != document.enter_form.name.value)\r
document.getElementById("NoticeSound").play();\r
}\r
\r
+var $messageTag = null;\r
function ParseMessage(msg)\r
{\r
var util = new Util();\r
}else{\r
ptag.append(msg.name);\r
}\r
+ if(msg.ip != "")\r
+ ptag.append(" " + msg.ip);\r
ptag.append(":");\r
ptag.append(childtag);\r
ptag.append("(" + $dateFormat.format(date) +")");\r
\r
ptag.css("color",color);\r
\r
- if($("#message > p").length == 0)\r
- $("#message").append(ptag);\r
- else\r
- $("#message > p:first").before(ptag);\r
+ if($messageTag == null)\r
+ $messageTag = $("#message");\r
\r
- createNameList();\r
+ $messageTag.prepend(ptag);\r
}\r
\r
function GetNameLink(name)\r
{\r
var util = new Util();\r
if($names[name].mailto == "")\r
- return $profile_link.replace("%n",encodeURI(name));\r
+ return $profile_link.replace("%n",encodeURIComponent(name));\r
return "mailto:" + util.htmlspecialchars($names[name].mailto);\r
}\r
\r
var date = new Date();\r
$("#namelist").empty();\r
$("#namelist").append("<ul></ul>");\r
+ $("#namelist > ul").append($("<li/>").append("ROM人数:" + $romcount));\r
for(var name in $names)\r
{\r
var diff = date.getTime() - $names[name].time;\r
}\r
}\r
\r
-function enterEventListener(){\r
+function enterEventListener()\r
+{\r
+ if(document.enter_form.name.value == "")\r
+ {\r
+ alert($invaild_name_message);\r
+ return;\r
+ }\r
+\r
$("#enter_frame").css("display","none");\r
$("#chat_frame").css("display","block");\r
\r
$.cookie("name",document.enter_form.name.value,{ expires: $expires });\r
$.cookie("color_index",document.enter_form.color.selectedIndex,{ expires: $expires });\r
\r
- var text = "/enteredby " + document.enter_form.name.value + " " + color + " " + document.enter_form.mailto.value;\r
-\r
- $socket.json.emit("send msg",{name:$system_name,message:text});\r
+ $socket.json.emit("join",{name:document.enter_form.name.value,color:color,mailto:document.enter_form.mailto.value,password:document.enter_form.password.value});\r
}\r
\r
function quitEventListener(){\r
- var text = "/quitedby " + document.enter_form.name.value;\r
- $socket.json.emit("send msg",{name:$system_name,message:text});\r
+ $socket.json.emit("quit",{name:document.enter_form.name.value});\r
\r
- $socket.json.emit("get pastLogList",{rno:document.chat_form.rno.value});\r
$("#enter_frame").css("display","block");\r
$("#chat_frame").css("display","none");\r
+\r
+ if($roominfo.type != 0 && $roominfo.admin == false)\r
+ {\r
+ $("#message").empty();\r
+ $("#namelist").empty();\r
+ $names = {};\r
+ createNameList();\r
+ }\r
+ else\r
+ $socket.json.emit("get pastLogList",{rno:document.chat_form.rno.value});\r
}\r
\r
function sidEventListener(){\r
alert(text);\r
}\r
\r
+function IsRomMode()\r
+{\r
+ return $("#chat_frame").css("display") == "none";\r
+}\r
+\r
//NameCollectionクラス\r
function GetNameCollection(text)\r
{\r
\r
return null;\r
}\r
+ this.CommandList["/setpassword"] = function(msg,word)\r
+ {\r
+ if(word.length != 2)\r
+ return msg.message;\r
+\r
+ $socket.json.emit("set password",{owner:document.enter_form.name.value,password:word[1]});\r
+\r
+ return null;\r
+ }\r
}\r
CommandParserWhenPost.prototype = new CommandParser;\r
\r