OSDN Git Service

ログの形式を変更した
authorkonekoneko <jbh03215@hotmail.co.jp>
Sun, 18 Nov 2012 10:15:11 +0000 (19:15 +0900)
committerkonekoneko <jbh03215@hotmail.co.jp>
Sun, 18 Nov 2012 10:15:11 +0000 (19:15 +0900)
発言時に改行をbbcodeに変換するようにした
/admin_chatを廃止した

chat.js
configure.js
public/scripts/bbcode.js
public/scripts/chatclient.js
public/scripts/commandparser.js

diff --git a/chat.js b/chat.js
index 9ab0aea..4fb80fd 100644 (file)
--- a/chat.js
+++ b/chat.js
@@ -29,8 +29,6 @@ module.exports = function(app,server,express,session){
        app.get("/chat", chat_proc);\r
        app.all("/log/*",express.basicAuth(auth_proc));\r
        app.get("/log/*",log_proc);\r
-       app.all("/admin_chat",express.basicAuth(auth_proc));\r
-       app.get("/admin_chat", adminchat_proc);\r
        app.all("/admin",express.basicAuth(auth_proc));\r
        app.get("/admin", admin_proc);\r
        app.post("/admin",admin_postproc);\r
@@ -69,16 +67,6 @@ function log_proc(req, res) {
        res.sendfile(__dirname + req.url);\r
 }\r
 \r
-function adminchat_proc(req, res){\r
-       var info = new security.SessionInfomation(true);\r
-       req.session.items = info;\r
-\r
-       var room_number = 0;\r
-       if(typeof(req.query.rno) != "undefined")\r
-               room_number = req.query.rno;\r
-       res.render("chat",{rno:room_number,token:info.token});\r
-}\r
-\r
 function admin_postproc(req,res){\r
        if(req.session.items.token != req.body.token)\r
        {\r
@@ -464,7 +452,6 @@ function ParseConnect(socket)
        room.AddRom(ip);\r
 \r
        var roomconfig = room.GetConfig();\r
-       roomconfig.admin = socket.handshake.admin;\r
        socket.json.emit("send roominfo",roomconfig);\r
 \r
        var romcount = room.GetRomCount();\r
@@ -508,10 +495,7 @@ function ParseAuthorization(handshakeData, callback)
                        else if(handshakeData.query.token != session.items.token)\r
                                result = "invaild token";\r
                        if(typeof(session) != "undefined" && result == null)\r
-                       {\r
-                               handshakeData.admin = session.items.admin;\r
                                handshakeData.sessionID = sessionID;\r
-                       }\r
                        callback(result,result == null && !err);\r
                });\r
        } else {\r
@@ -703,7 +687,7 @@ function ParseGetPastLog(socket,file)
                return;\r
        var path = $log_directory + "/" + file;\r
        var log = new ChatLog(path);\r
-       log.ToArray(socket.handshake.admin,function(array){\r
+       log.ToArray(config.showip,function(array){\r
                socket.json.emit("req pastlog",array);\r
        });\r
 }\r
@@ -718,7 +702,7 @@ function ChatLog(path)
                        var array = new Array();\r
                        var stream = fs.createReadStream(path);\r
                        new lazy(stream)\r
-                               .spilt(";")\r
+                               .lines\r
                                .forEach(function(line){\r
                                        var msg = CreateMessageFromText(line.toString());\r
                                        if(hasIp == false)\r
@@ -745,7 +729,7 @@ function ChatLog(path)
                                msg.date + "<>" +\r
                                ip + "<>" +\r
                                msg.message +\r
-                               ";";\r
+                               "\n";\r
                return text;\r
        }\r
 \r
index 4897a06..ce3cb4b 100644 (file)
@@ -12,4 +12,5 @@
        username : "admin",     //管理者用のページにアクセスできるユーザ名\r
        password : "admin",     //管理者用のページにアクセスするのに必要なパスワード\r
        max_room_number : 3,    //最大ルーム数\r
+       showip : false, //IPアドレスを表示するなら真。そうでないなら、偽\r
 };\r
index 2417533..fb4050f 100644 (file)
@@ -44,7 +44,7 @@ var noparse = false;    // ignore BBCode tags?
 var urlstart = -1;      // beginning of the URL if zero or greater (ignored if -1)
 
 // aceptable BBcode tags, optionally prefixed with a slash
-var tagname_re = /^\/?(?:b|i|u|pre|samp|code|colou?r|size|noparse|url|s|q|blockquote)$/;
+var tagname_re = /^\/?(?:b|br|i|u|pre|samp|code|colou?r|size|noparse|url|s|q|blockquote)$/;
 
 // color names or hex color
 var color_re = /^(:?black|silver|gray|white|maroon|red|purple|fuchsia|green|lime|olive|yellow|navy|blue|teal|aqua|#(?:[0-9a-f]{3})?[0-9a-f]{3})$/i;
@@ -56,7 +56,7 @@ var number_re = /^[\\.0-9]{1,8}$/i;
 var uri_re = /^[-;\/\?:@&=\+\$,_\.!~\*'\(\)%0-9a-z]{1,512}$/i;
 
 // main regular expression: CRLF, [tag=option], [tag] or [/tag]
-var postfmt_re = /([\r\n])|(?:\[([a-z]{1,16})(?:=([^\x00-\x1F"'\(\)<>\[\]]{1,256}))?\])|(?:\[\/([a-z]{1,16})\])/ig;
+var postfmt_re = /([\r\n])|(?:\[([a-z]{1,16})(?:=([^\x00-\x1F"'\(\)<>\[\]]{1,256}))?\])|(?:\[\/([a-z]{1,16})\])|(?:\[([a-z]{1,16})\/\])/ig;
 
 // stack frame object
 function taginfo_t(bbtag, etag)
@@ -80,7 +80,7 @@ function isValidTag(str)
 // m3 - the option of the [tag=option] expression
 // m4 - the end tag of the [/tag] expression
 //
-function textToHtmlCB(mstr, m1, m2, m3, m4, offset, string)
+function textToHtmlCB(mstr, m1, m2, m3, m4, m5, offset, string)
 {
    //
    // CR LF sequences
@@ -97,6 +97,17 @@ function textToHtmlCB(mstr, m1, m2, m3, m4, offset, string)
       }
    }
 
+   if(isValidTag(m5)){
+      // if in the noparse state, just echo the tag
+      if(noparse)
+         return "[" + m5 + "/]";
+
+      switch (m5) {
+         case "br":
+            crlf2br = false;
+            return "<br/>";
+      }
+   }
    //
    // handle start tags
    //
index e09b65e..4b35312 100644 (file)
@@ -15,7 +15,6 @@ $free_password1 = "最初に入室する人が自由にパスワードを設定
 $free_password2 = "この部屋は使用されています。パスワードを入力してください";      //自由パスワードメッセージ2\r
 $fixed_password = "この部屋にはパスワードが設定されています";      //固定パスワードルーム\r
 $hidden_log_to_rom = "この部屋ではROMできないようになっています";   //ROM禁止ルーム\r
-$adminmsg = "(管理モード)";       //管理モード\r
 $romcount_msg = "ROM(%d人)"   //ROMカウント\r
 \r
 //ここから先は変更しないでください\r
@@ -83,11 +82,6 @@ function sendRoomInfoListerner(info)
                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
@@ -157,7 +151,7 @@ function pastLogEventListerner(msg)
 \r
 function getMessageEventListerner(msg)\r
 {\r
-       if(IsRomMode() && $roominfo.type != 0 && $roominfo.admin == false)\r
+       if(IsRomMode() && $roominfo.type != 0)\r
                return;\r
        ParseMessage(msg);\r
        createNameList();\r
index 6faa8e2..1bbf568 100644 (file)
@@ -90,6 +90,11 @@ CommandParserWhenGet.prototype = new CommandParser;
 //             null\82ð\95Ô\82µ\82½\8fê\8d\87\81A\91\97\90M\91\80\8dì\82ª\8ds\82í\82ê\82È\82­\82È\82é\r
 function CommandParserWhenPost()\r
 {\r
+       this.DefaultCommand = function(msg)\r
+       {\r
+               var text = msg.message.replace(/\r\n/g,"[br/]");\r
+               return text.replace(/(\n|\r)/g, "[br/]");\r
+       }\r
        this.CommandList = new Array;\r
        this.CommandList["/tell"] = function(msg,word)\r
        {\r