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
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
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
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
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
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
msg.date + "<>" +\r
ip + "<>" +\r
msg.message +\r
- ";";\r
+ "\n";\r
return text;\r
}\r
\r
username : "admin", //管理者用のページにアクセスできるユーザ名\r
password : "admin", //管理者用のページにアクセスするのに必要なパスワード\r
max_room_number : 3, //最大ルーム数\r
+ showip : false, //IPアドレスを表示するなら真。そうでないなら、偽\r
};\r
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;
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)
// 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
}
}
+ 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
//
$free_password2 = "この部屋は使用されています。パスワードを入力してください"; //自由パスワードメッセージ2\r
$fixed_password = "この部屋にはパスワードが設定されています"; //固定パスワードルーム\r
$hidden_log_to_rom = "この部屋ではROMできないようになっています"; //ROM禁止ルーム\r
-$adminmsg = "(管理モード)"; //管理モード\r
$romcount_msg = "ROM(%d人)" //ROMカウント\r
\r
//ここから先は変更しないでください\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
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
// 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