\r
module.exports = function(app){\r
app.get("/profile",list_proc);\r
+ app.get("/profile/admin",admin_proc);\r
+ app.post("/profile/admin",admin_postproc);\r
app.get("/profile/detail",detail_proc);\r
app.post("/profile/detail",detail_postproc);\r
app.post("/profile/edit",edit_postproc); \r
app.post("/profile/registor",registor_postproc); \r
};\r
\r
+function admin_proc(req, res)\r
+{\r
+ var info = new security.SessionInfomation(true);\r
+ req.session.items = info;\r
+ async.waterfall([\r
+ function(callback){\r
+ PrepaerListAsync(req,callback);\r
+ }\r
+ ],function(err,result){\r
+ if(err != null)\r
+ RenderMessage(res,err,info);\r
+ else{\r
+ result.token = info.token;\r
+ res.render("profile\\admin",result);\r
+ }\r
+ });\r
+}\r
+\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
+ return;\r
+ }\r
+ async.waterfall([\r
+ function(cb){\r
+ if(typeof(req.body.removeall) != "undefined")\r
+ collection.ClearAsync(cb);\r
+ if(typeof(req.body.remove) != "undefined")\r
+ collection.RemoveRangeAsync(req.body.names,cb);\r
+ }\r
+ ],function(err,result){\r
+ if(err != null)\r
+ RenderMessage(res,err,req.session.items);\r
+ else\r
+ RenderMessage(res,$success_remove,req.session.items);\r
+ });\r
+}\r
+\r
function list_proc(req, res)\r
{\r
+ if(typeof(req.session.items) != "undefined")\r
+ req.session.items.admin = false;\r
+ async.waterfall([\r
+ function(cb){\r
+ PrepaerListAsync(req,cb);\r
+ }\r
+ ],function(err,result){\r
+ if(err != null)\r
+ RenderMessage(res,err,req.session.items);\r
+ else\r
+ res.render("profile\\list",result);\r
+ });\r
+}\r
+\r
+function PrepaerListAsync(req,callback)\r
+{\r
var limit = $db_limit;\r
var start = 0;\r
var parttern = "";\r
}\r
],function(err,result){\r
if(err != null){\r
- res.render("profile\\message",{message:err});\r
+ cb(err,null);\r
}else{\r
var next = start + limit;\r
var prev = start - limit;\r
if(prev < 0)\r
prev = 0;\r
- result[0].lastmodified = result[0].lastmodified.toFormat("YYYY/MM/DD HH:MI:SS");\r
- res.render("profile\\list",{list:result,search:parttern,next:next,prev:prev,limit:limit});\r
+ for(var i = 0; i < result.length; i++)\r
+ result[i].lastmodified = result[i].lastmodified.toFormat("YYYY/MM/DD HH:MI:SS");\r
+ callback(null,{list:result,search:parttern,next:next,prev:prev,limit:limit});\r
}\r
});\r
}\r
{\r
if(typeof(req.query.name) == "undefined")\r
{\r
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage(res,$invaild_parameter,req.session.items);\r
return;\r
}\r
\r
- var info = new security.SessionInfomation(false);\r
- req.session.items = info;\r
+ if(typeof(req.session.items) == "undefined")\r
+ req.session.items = new security.SessionInfomation(false);\r
\r
async.waterfall([\r
function(cb){\r
},\r
],function(err,result){\r
if(err != null)\r
- res.render("profile\\message",{message:err});\r
+ RenderMessage(res,err,req.session.items);\r
else if(result.length == 0)\r
- res.render("profile\\message",{message:$notfound_name});\r
+ RenderMessage(res,$notfound_name,req.session.items);\r
else{\r
- res.render("profile\\detail",{list:result,token:info.token});\r
+ res.render("profile\\detail",{list:result,token:req.session.items.token});\r
}\r
});\r
}\r
function detail_postproc(req, res)\r
{\r
if(req.session.items.token != req.body.token){\r
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage(res,$invaild_parameter,req.session.items);\r
return;\r
}\r
if(typeof(req.body.remove) != "undefined"){\r
}\r
],function(err,result){\r
if(err != null)\r
- res.render("profile\\message",{message:err});\r
+ RenderMessage(res,err,req.session.items);\r
else if(result == null)\r
- res.render("profile\\message",{message:$unmatch_password});\r
+ RenderMessage(res,$unmatch_password,req.session.items);\r
else\r
- res.render("profile\\message",{message:$success_remove});\r
+ RenderMessage(res,$success_remove,req.session.items);\r
});\r
}else if(typeof(req.body.edit) != "undefined"){\r
async.waterfall([\r
}\r
],function(err,result){\r
if(err != null){\r
- res.render("profile\\message",{message:err});\r
+ RenderMessage(res,err,req.session.items);\r
}else if(result != null){\r
res.render("profile\\edit",{list:result,token:req.body.token});\r
}else{\r
- res.render("profile\\message",{message:$unmatch_password});\r
+ RenderMessage(res,$unmatch_password,req.session.items);\r
}\r
});\r
}else{\r
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage(res,$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
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage(res,$invaild_parameter,req.session.items);\r
return;\r
}\r
if(typeof(req.body.name) == "undefined")\r
{\r
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage(res,$invaild_parameter,req.session.items);\r
return;\r
}else if(typeof(req.body.edit) != "undefined"){\r
async.waterfall([\r
}\r
],function(err,result){\r
if(err != null)\r
- res.render("profile\\message",{message:err});\r
+ RenderMessage(res,err,req.session.items);\r
else\r
- res.render("profile\\message",{message:$success_edit});\r
+ RenderMessage(res,$success_edit,req.session.items);\r
});\r
}else{\r
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage(res,$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
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage(res,$invaild_parameter,req.session.items);\r
return;\r
}\r
if(typeof(req.body.registor) != "undefined"){\r
}\r
],function(err,result){\r
if(err != null)\r
- res.render("profile\\message",{message:err});\r
+ RenderMessage(res,err,req.session.items);\r
else\r
- res.render("profile\\message",{message:$success_registor});\r
+ RenderMessage(res,$success_registor,req.session.items);\r
});\r
}else{\r
- res.render("profile\\message",{message:$invaild_parameter});\r
+ RenderMessage($invaild_parameter,req.session.items);\r
}\r
}\r
+\r
function registor_proc(req, res)\r
{\r
- var info = new security.SessionInfomation(false);\r
- req.session.items = info;\r
+ if(typeof(req.session.items) == "undefined")\r
+ req.session.items = new security.SessionInfomation(false);\r
\r
- res.render("profile\\registor",{token:info.token});\r
+ res.render("profile\\registor",{token:req.session.items.token});\r
+}\r
+\r
+function RenderMessage(res,msg,info)\r
+{\r
+ if(typeof(info) == "undefined")\r
+ res.render("profile\\message",{message:msg});\r
+ else\r
+ res.render("profile\\message",{message:msg,admin:info.admin});\r
}\r
\r
//\r
}\r
],cb);\r
}\r
+ this.ClearAsync = function(cb){\r
+ async.waterfall([\r
+ function(callback){\r
+ pool.acquire(callback);\r
+ },\r
+ function(client,callback){\r
+ client.query("TRUNCATE TABLE list",function(err,result){\r
+ callback(err,result,client);\r
+ });\r
+ },\r
+ function(result,client,callback){\r
+ pool.release(client);\r
+ callback(null,result);\r
+ }\r
+ ],cb);\r
+ }\r
+ this.RemoveRangeAsync = function(names,cb){\r
+ async.waterfall([\r
+ function(callback){\r
+ pool.acquire(callback);\r
+ },\r
+ function(client,callback){\r
+ var query = client.query("DELETE FROM list WHERE name IN (?)",[names],function(err,result){\r
+ callback(err,result,client);\r
+ });\r
+ },\r
+ function(result,client,callback){\r
+ pool.release(client);\r
+ callback(null,result);\r
+ }\r
+ ],cb);\r
+ }\r
this.RemoveAsync = function(name,cb){\r
async.waterfall([\r
function(callback){\r
pool.acquire(callback);\r
},\r
function(client,callback){\r
- client.query("DELETE FROM list WHERE name = ?",[name],function(err,result){\r
+ var query = client.query("DELETE FROM list WHERE name = ?",[name],function(err,result){\r
callback(err,result,client);\r
});\r
},\r