OSDN Git Service

ある特定のパターンで名前を入力すると何も表示されなくなるバグを修正した
[webchat/WebChat.git] / public / scripts / chatclient.js
index 05ccd2d..77da651 100644 (file)
@@ -1,6 +1,7 @@
 $expires = 30;      //クッキーの保持日数\r
 $afk_time = 1000 * 60 * 60;    //AFKと判定する時間(ミリ秒で指定すること)\r
 $log_file_name = "logfile%d.txt";      //ログファイル名(%dはそのままにしておくこと)\r
+$pastlogfile_pattern = "logfile%d(_+.*)?\.txt";        //過去ログと判定する正規表現\r
 $system_name = "system";       //システム発言を表す名前(chat.phpと同じにすること)\r
 $entered_message = "%sが入室しました";\r
 $quited_message = "%sが退室しました";\r
@@ -43,7 +44,6 @@ $(document).ready(function(){
        $("input[name=close]").click(function(e){\r
                $("#help_frame").css("display","none");\r
        });\r
-       $("input[name=openPastlog]").click(openPastlogEventListener);\r
        $("#whisper_list_view").click(function(e){\r
                $("#whisper_list").toggle();\r
        });\r
@@ -60,7 +60,6 @@ $(document).ready(function(){
        $socket.on("connect",function(){\r
                $socket.on("req pastlog",pastLogEventListerner);\r
                $socket.on("req msg",getMessageEventListerner);\r
-               $socket.on("req pastloglist",CreatePastLogList);\r
        });\r
 });\r
 \r
@@ -92,7 +91,6 @@ function sendRoomInfoListerner(info)
                $("#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
@@ -113,23 +111,6 @@ function CreateColorList()
        }\r
 }\r
 \r
-function CreatePastLogList(text)\r
-{\r
-       $("#enter_frame form select[name=past]").empty();\r
-       var rno = document.chat_form.rno.value;\r
-       var file = text.split("\n");\r
-       for(var i = 0; i < file.length; i++)\r
-       {\r
-               var logname = file[i];\r
-               if(logname == "")\r
-                       continue;\r
-               var element = document.createElement("option");\r
-               element.value = logname;\r
-               element.appendChild(document.createTextNode(logname));\r
-               $("#enter_frame form select[name=past]").append(element);\r
-       }\r
-}\r
-\r
 function getCurretLog()\r
 {\r
        var rno = document.chat_form.rno.value;\r
@@ -137,15 +118,6 @@ function getCurretLog()
        $socket.emit("get pastLog",url);\r
 }\r
 \r
-function openPastlogEventListener()\r
-{\r
-       $tid = 0;\r
-       $("#message").empty();\r
-       $("#namelist").empty();\r
-       var url = document.enter_form.past.options[document.enter_form.past.selectedIndex].value;\r
-       $socket.emit("get pastLog",url);\r
-}\r
-\r
 function pastLogEventListerner(msg)\r
 {\r
        if(IsRomMode() && $roominfo.type != 0 && $roominfo.admin == false)\r
@@ -184,17 +156,18 @@ function ParseMessage(msg)
 \r
        var mailto = "";\r
        var date = new Date(Date.parse(msg.date));\r
-       if(msg.name != $system_name)\r
+       var name = util.htmlspecialchars(msg.name);\r
+       if(name != $system_name)\r
        {\r
-               color = $names[msg.name].color;\r
-               $names[msg.name].time = date.getTime();\r
+               color = $names[name].color;\r
+               $names[name].time = date.getTime();\r
                namepart = $("<a/>")\r
-                       .attr("href",GetNameLink(msg.name))\r
+                       .attr("href",GetNameLink(name))\r
                        .attr("target","_blank")\r
                        .css("color",color)\r
-                       .text(util.htmlspecialchars(msg.name));\r
+                       .text(name);\r
        }else{\r
-               namepart = $("<span/>").append(msg.name);\r
+               namepart = $("<span/>").append(name);\r
        }\r
        if(msg.ip != "")\r
                namepart.append("@" + msg.ip);\r