diff --git a/db.js b/db.js
index f3d9a03..a7ef70a 100644
--- a/db.js
+++ b/db.js
@@ -12,7 +12,7 @@ logcon.connect();
// check_for
module.exports.cv = (table,key,value,callback) => {
- logcon.query('SELECT * FROM `'+table+'`', (err, rows, fields) => {
+ logcon.query(`SELECT * FROM ${table}`, (err, rows, fields) => {
let log = '';
if (err) {
console.log("sql err");
@@ -57,7 +57,7 @@ module.exports.cv = (table,key,value,callback) => {
module.exports.dl = (table,key,value,callback) => {
// console.log('SELECT * FROM `'+table+'` WHERE `'+key+'` = '+value);
- logcon.query('DELETE FROM `'+table+'` WHERE `'+key+'` = '+value, (err, rows, fields) => {
+ logcon.query(`DELETE FROM ${table} WHERE ${key} = ${value}`, (err, rows, fields) => {
if (err) {
console.log("sql err");
throw err;
@@ -70,7 +70,19 @@ module.exports.dl = (table,key,value,callback) => {
// get_from
module.exports.gv = (table,key,value,callback) => {
// console.log('SELECT * FROM `'+table+'` WHERE `'+key+'` = '+value);
- logcon.query('SELECT * FROM `'+table+'` WHERE `'+key+'` = '+value, (err, rows, fields) => {
+ logcon.query(`SELECT * FROM ${table} WHERE ${key} = ${value}`, (err, rows, fields) => {
+ if (err) {
+ console.log("sql err");
+ throw err;
+ }else{
+ callback(rows);
+ }
+ })
+}
+
+module.exports.gav = (table,callback) => {
+ // console.log('SELECT * FROM `'+table+'` WHERE `'+key+'` = '+value);
+ logcon.query(`SELECT * FROM ${table} WHERE 1`, (err, rows, fields) => {
if (err) {
console.log("sql err");
throw err;
@@ -83,7 +95,7 @@ module.exports.gv = (table,key,value,callback) => {
module.exports.ggv = (table,ekey,key,value,callback) => {
// console.log('SELECT * FROM `'+table+'` WHERE `'+key+'` = '+value);
- logcon.query('SELECT '+ekey+' FROM `'+table+'` WHERE `'+key+'` = '+value, (err, rows, fields) => {
+ logcon.query(`SELECT ${ekey} FROM ${table} WHERE ${key} = ${value}`, (err, rows, fields) => {
if (err) {
console.log("sql err");
throw err;
@@ -95,7 +107,7 @@ module.exports.ggv = (table,ekey,key,value,callback) => {
// set_in
module.exports.sv = (table,key,value,ekey,evalue,callback) => {
- logcon.query("UPDATE `"+table+"` SET `"+key+"` = '"+value+"' WHERE `"+ekey+"` = '"+evalue+"'", (err , rows) => {
+ logcon.query(`UPDATE ${table} SET ${key} = '${value}' WHERE ${ekey} = '${evalue}'`, (err , rows) => {
// console.log("UPDATE `"+table+"` SET `"+key+"` = '"+value+"' WHERE `"+ekey+"` = '"+evalue+"'");
if (err) {
console.log("sql err");
@@ -108,7 +120,7 @@ module.exports.sv = (table,key,value,ekey,evalue,callback) => {
module.exports.nr = (table,keys,values) =>{
// console.log('INSERT INTO `'+table+'`('+keys+') VALUES ('+values+')');
- logcon.query('INSERT INTO `'+table+'`('+keys+') VALUES ('+values+')',(err,res) =>{
+ logcon.query(`INSERT INTO ${table} (${keys}) VALUES (${values})`,(err,res) =>{
if (err) {
console.log("sql err");
throw err;
@@ -116,4 +128,16 @@ module.exports.nr = (table,keys,values) =>{
return true;
}
})
+}
+
+module.exports.glv = (table,last_value,callback) =>{
+ // console.log('INSERT INTO `'+table+'`('+keys+') VALUES ('+values+')');
+ logcon.query(`SELECT * FROM ${table} ORDER BY ${last_value} DESC LIMIT 1;`,(err,res) =>{
+ if (err) {
+ console.log("sql err");
+ throw err;
+ }else{
+ callback(res);
+ }
+ })
}
\ No newline at end of file
diff --git a/func.js b/func.js
index b5d5a12..30bf355 100644
--- a/func.js
+++ b/func.js
@@ -9,7 +9,7 @@ const moment = require("moment");
const vars = require('./vars');
module.exports.sendfile = (fileName, response) => {
- const filePath = "./files/"+fileName;
+ const filePath = "./"+fileName;
fs.exists(filePath, function (exists) {
if (exists) {
response.writeHead(200, {
@@ -49,38 +49,80 @@ module.exports.sendfile = (fileName, response) => {
// }
module.exports.sid = (cook,res,callback,auto = true)=>{
- let uuid = cook["uuid"];
- let sid = cook["sid"];
- if(cook["uuid"] != null && cook["sid"] != null){
- db.ggv("sids","`uid`","sid",`'${sid}'`,(sdata)=>{ sdata = sdata[0]
- // console.log(sdata);
- if(sdata != null){
- db.ggv("users","`uuid`,`id`","id",`'${sdata["uid"]}'`,(udata)=>{ udata = udata[0]
- if (udata != null && udata["id"] == sdata["uid"] && uuid == udata["uuid"]){
- callback(true);
- }
- else{
- if(auto) res.send({out:"bad",err:"wrong"});
- if(!auto) callback(false);
- }
- });
- }
- else{
- if(auto) res.send({out:"bad",err:"expired"});
- if(!auto) callback(false);
- }
- });
- }else{
- if(auto) res.send({out:"bad",err:"nocr"});
- if(!auto) callback(false);
+ try {
+ let uuid = cook["uuid"];
+ let sid = cook["sid"];
+ if(cook["uuid"] != null && cook["sid"] != null){
+ db.ggv("sids","`uid`","sid",`'${sid}'`,(sdata)=>{ sdata = sdata[0]
+ // console.log(sdata);
+ if(sdata != null){
+ db.ggv("users","`uuid`,`id`","id",`'${sdata["uid"]}'`,(udata)=>{ udata = udata[0]
+ if (udata != null && udata["id"] == sdata["uid"] && uuid == udata["uuid"]){
+ callback(true);
+ }
+ else{
+ if(auto) res.send({out:"bad",err:"wrong"});
+ if(!auto) callback(false);
+ }
+ });
+ }
+ else{
+ if(auto) res.send({out:"bad",err:"expired"});
+ if(!auto) callback(false);
+ }
+ });
+ }else{
+ if(auto) res.send({out:"bad",err:"nocr"});
+ if(!auto) callback(false);
+ }
+ } catch (error) {
+ this.log("backend sid checking err0r - "+error);
}
}
module.exports.log = (message) =>{
- var date = moment().format('YYYY-MM-DD')
- var time = moment().format('hh:mm:ss')
- console.log(`${date}_${time}|${message}`);
- db.nr("logs","`date`,`time`,`log`",`'${date}','${time}','${message}'`);
+ var date = moment().format('YYYY-MM-DD');
+ var time = moment().format('hh:mm:ss');
+ let clog = `${date}_${time}|${message}`;
+ console.log(clog);
+ // if(vars.log_to_file) fs.appendFile('./logs.txt', `${clog} \n`, function (err) {if (err) throw err;});
+ if(vars.log_to_db) db.nr("logs","`date`,`time`,`log`",`'${date}','${time}','${message}'`);
+}
+
+module.exports.logs_file = (res)=>{
+ let path = './logs.txt';
+ fs.exists(path, function(exists) {
+ if(exists) {
+ fs.unlink(path,function(err){
+ if(err) throw err;
+ write_logs(res);
+ });
+ } else {
+ write_logs(res);
+ }
+ });
+
+ function write_logs(res){
+ db.gav("logs",(db_logs)=>{
+ db.glv(`logs`,`id`,(last)=>{last = last[0];
+ db_logs.forEach(log => {
+ let date = moment(log[`date_time`]).utc().format('YYYY-MM-DD');
+ fs.appendFile(path, `${date}_${log["time"]}|${log["log"]} \n`, function (err) {
+ if (err) throw err;
+ if(log["id"] == last["id"]-1){
+ res.download(path, (err) => {
+ if (err) { throw err; }
+ console.log("logs downloaded");
+ fs.unlink(path, (err) => {
+ if (err) { throw err; }
+ });
+ });
+ }
+ });
+ });
+ })
+ });
+ }
}
diff --git a/index.js b/index.js
index 9399bc8..b3bf8ef 100644
--- a/index.js
+++ b/index.js
@@ -37,96 +37,149 @@ app.use(cookieParser());
app.post('/back_login', (req, res) => {
- let inp = req.body;
- let cook = req.cookies;
- user.login(inp,cook,res);
+ try {
+ let inp = req.body;
+ let cook = req.cookies;
+ user.login(inp,cook,res);
+ } catch (error) {
+ func.log("router login error - "+error);
+ }
});
app.post('/reg_user', (req, res) => {
- let inp = req.body;
- let cook = req.cookies;
- user.reg(inp,cook,res)
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ user.reg(inp,cook,res)
+ } catch (error) {
+ func.log("router registration error - "+error);
+ }
})
app.post("/sid_log",(req,res) =>{
- let inp = req.body;
- let cook = req.cookies;
- user.sid_log(inp,cook,res,req);
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ user.sid_log(inp,cook,res,req);
+ } catch (error) {
+ func.log("router sid logging in error - "+error);
+ }
})
app.post("/get_sid" , (req,res) =>{
- let inp = req.body;
- let sid = func.get_uuid();
- res.cookie("sid",sid,{maxAge:(vars.week),path:"/;SameSite=Strict"});
- res.send({out:"good"});
+ try{
+ let inp = req.body;
+ let sid = func.get_uuid();
+ res.cookie("sid",sid,{maxAge:(vars.week),path:"/;SameSite=Strict"});
+ res.send({out:"good"});
+ } catch (error) {
+ func.log("router sid getting error - "+error);
+ }
});
app.post("/clear_sid" , (req,res) =>{
- let inp = req.body;
- let cook = req.cookies;
- user.clear_sid(inp,cook,res);
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ user.clear_sid(inp,cook,res);
+ } catch (error) {
+ func.log("router sid clearing error - "+error);
+ }
});
app.post("/get_cr_uuid", (req,res) => {
- let inp = req.body;
- let cook = req.cookies;
- func.sid(cook,res,()=>{
- user.get_cr(inp,cook,res);
- })
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ func.sid(cook,res,()=>{
+ user.get_cr(inp,cook,res);
+ })
+ } catch (error) {
+ func.log("router getting user information by uuid error - "+error);
+ }
})
app.post("/save_proj", (req,res) => {
- let inp = req.body;
- let cook = req.cookies;
- func.sid(cook,res,()=>{
- proj.save(inp,cook,res);
- })
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ func.sid(cook,res,()=>{
+ proj.save(inp,cook,res);
+ })
+ } catch (error) {
+ func.log("router project saving error - "+error);
+ }
})
app.post("/load_proj", (req,res) => {
- let inp = req.body;
- let cook = req.cookies;
- func.sid(cook,res,()=>{
- proj.load(inp,cook,res);
- })
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ func.sid(cook,res,()=>{
+ proj.load(inp,cook,res);
+ })
+ } catch (error) {
+ func.log("router project loading error - "+error);
+ }
})
app.post("/get_projs", (req,res) => {
- let inp = req.body;
- let cook = req.cookies;
- func.sid(cook,res,()=>{
- proj.loads(inp,cook,res);
- })
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ func.sid(cook,res,()=>{
+ proj.loads(inp,cook,res);
+ })
+ } catch (error) {
+ func.log("router user projects getting error - "+error);
+ }
})
app.post("/new_obj", (req,res) => {
- let inp = req.body;
- let cook = req.cookies;
- func.sid(cook,res,()=>{
- obj.new(inp,cook,res);
- })
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ func.sid(cook,res,()=>{
+ obj.new(inp,cook,res);
+ })
+ } catch (error) {
+ func.log("router object creating error - "+error);
+ }
})
app.post("/get_objs", (req,res) => {
- let inp = req.body;
- let cook = req.cookies;
- // func.log(inp["name"]);
- func.sid(cook,res,()=>{
- obj.loads(inp,cook,res);
- })
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ // func.log(inp["name"]);
+ func.sid(cook,res,()=>{
+ obj.loads(inp,cook,res);
+ })
+ } catch (error) {
+ func.log("router objects getting error - "+error);
+ }
})
app.post("/get_obj", (req,res) => {
- let inp = req.body;
- let cook = req.cookies;
- // func.log(inp["name"]);
- func.sid(cook,res,()=>{
- obj.load(inp,cook,res);
- })
+ try{
+ let inp = req.body;
+ let cook = req.cookies;
+ // func.log(inp["name"]);
+ func.sid(cook,res,()=>{
+ obj.load(inp,cook,res);
+ })
+ } catch (error) {
+ func.log("router single object getting error - "+error);
+ }
})
+app.get("/get_logs", (req,res) => {
+ try{let cook = req.cookies;func.sid(cook,res,()=>{func.logs_file(res);})}
+ catch (error) {func.log("router logs download error - "+error);}
+})
+
// pages
app.get("/reg" , (req,res) =>{
res.render('reg');
diff --git a/object.js b/object.js
index 9104d9d..81a7c84 100644
--- a/object.js
+++ b/object.js
@@ -3,28 +3,40 @@ const func = require('./func');
const vars = require('./vars');
module.exports.loads = (inp,cook,res)=>{
- db.ggv("objects","`name`,`id`,`height`,`width`,`description`","gid",0,(odata)=>{
- // func.log(odata);
- res.send({out:"good",body:odata});
- })
+ try {
+ db.ggv("objects","`name`,`id`,`height`,`width`,`description`","gid",0,(odata)=>{
+ // func.log(odata);
+ res.send({out:"good",body:odata});
+ })
+ } catch (error) {
+ func.log("backend objects loading error - "+error);
+ }
}
module.exports.load = (inp,cook,res)=>{
- let keys = inp["key"];
- db.ggv("objects",keys,"name",`'${inp["name"]}'`,(odata)=>{
- // func.log(odata);
- res.send({out:"good",body:odata[0]});
- })
+ try {
+ let keys = inp["key"];
+ db.ggv("objects",keys,"name",`'${inp["name"]}'`,(odata)=>{
+ // func.log(odata);
+ res.send({out:"good",body:odata[0]});
+ })
+ } catch (error) {
+ func.log("backend single object loading err0r - "+error);
+ }
}
module.exports.new = (inp,cook,res)=>{
- db.cv("objects","name",inp["name"],(include)=>{
- if(include){
- res.send({out:"bad",err:"name"});
- }
- else if (!include){
- db.nr("objects","`name`,`img`,`height`,`width`,`description`",`'${inp["name"]}','${inp["img"]}','${inp["height"]}','${inp["width"]}','${inp["desc"]}'`);
- res.send({out:"good"});
- }
- })
+ try {
+ db.cv("objects","name",inp["name"],(include)=>{
+ if(include){
+ res.send({out:"bad",err:"name"});
+ }
+ else if (!include){
+ db.nr("objects","`name`,`img`,`height`,`width`,`description`",`'${inp["name"]}','${inp["img"]}','${inp["height"]}','${inp["width"]}','${inp["desc"]}'`);
+ res.send({out:"good"});
+ }
+ })
+ } catch (error) {
+ func.log("backend object creating error - "+error);
+ }
}
\ No newline at end of file
diff --git a/project.js b/project.js
index 4041fc4..5e69a93 100644
--- a/project.js
+++ b/project.js
@@ -3,58 +3,70 @@ const func = require('./func');
const vars = require('./vars');
module.exports.load = (inp,cook,res)=>{
- db.gv("users","uuid",`'${cook["uuid"]}'`,(udata)=>{ udata = udata[0];
- db.gv("projects","uid",udata["id"],(pdata)=>{
- let projt = null;
- // func.log(inp["name"]);
- pdata.forEach(proj => {
- if(proj["name"] == inp["name"]){
- projt = proj;
+ try {
+ db.gv("users","uuid",`'${cook["uuid"]}'`,(udata)=>{ udata = udata[0];
+ db.gv("projects","uid",udata["id"],(pdata)=>{
+ let projt = null;
+ // func.log(inp["name"]);
+ pdata.forEach(proj => {
+ if(proj["name"] == inp["name"]){
+ projt = proj;
+ }
+ })
+ if (projt != null){
+ func.log(`good boy ${udata["uuid"]} loaded project ${projt["name"]} from ${cook["sid"]}`);
+ res.send({out:"good",body:projt["body"]});
+ }
+ else{
+ res.send({out:"bad proj"});
}
})
- if (projt != null){
- func.log(`good boy ${udata["uuid"]} loaded project ${projt["name"]} from ${cook["sid"]}`);
- res.send({out:"good",body:projt["body"]});
- }
- else{
- res.send({out:"bad proj"});
- }
})
- })
+ } catch (error) {
+ func.log("backend project loading error - ");
+ }
}
module.exports.loads = (inp,cook,res)=>{
- db.ggv("users","`id`","uuid",`'${cook["uuid"]}'`,(udata)=>{ udata = udata[0];
- db.gv("projects","uid",udata["id"],(pdata)=>{
- res.send({out:"good",body:pdata});
+ try {
+ db.ggv("users","`id`","uuid",`'${cook["uuid"]}'`,(udata)=>{ udata = udata[0];
+ db.gv("projects","uid",udata["id"],(pdata)=>{
+ res.send({out:"good",body:pdata});
+ })
})
- })
+ } catch (error) {
+ func.log("backend projects loading err0r - " - error);
+ }
}
module.exports.save = (inp,cook,res)=>{
- db.gv("users","uuid",`'${cook["uuid"]}'`, (udata)=>{ udata = udata[0]
- db.gv("projects","uid",udata["id"],(pdata)=>{
- let projin = null;
- // func.log(pdata);
- pdata.forEach(projt => {
- if(projt["name"] == inp["name"] && projt["uid"] == udata["id"]){
- projin = projt;
- return;
+ try {
+ db.gv("users","uuid",`'${cook["uuid"]}'`, (udata)=>{ udata = udata[0]
+ db.gv("projects","uid",udata["id"],(pdata)=>{
+ let projin = null;
+ // func.log(pdata);
+ pdata.forEach(projt => {
+ if(projt["name"] == inp["name"] && projt["uid"] == udata["id"]){
+ projin = projt;
+ return;
+ }
+ })
+ if(projin == null){
+ // func.log("proj not in");
+ // func.log(pname,udata["id"],proj);
+ func.log(`good boy ${udata["uuid"]} created project ${inp["name"]} from ${cook["sid"]}`);
+ db.nr("projects","`uid`,`name`,`body`,`img`",`'${udata["id"]}','${inp["name"]}','${inp["proj"]}','${inp["img"]}'`);
+ res.send({out:"good"});
+ } else if (projin != null){
+ db.sv("projects","body",inp["proj"],"id",projin["id"],()=>{});
+ if(inp["img"] != "") db.sv("projects","img",inp["img"],"id",projin["id"],()=>{});
+ func.log(`good boy ${udata["uuid"]} saved project ${projin["name"]} from ${cook["sid"]}`);
+ // func.log("proj in");
+ res.send({out:"good"});
}
})
- if(projin == null){
- // func.log("proj not in");
- // func.log(pname,udata["id"],proj);
- func.log(`good boy ${udata["uuid"]} created project ${inp["name"]} from ${cook["sid"]}`);
- db.nr("projects","`uid`,`name`,`body`,`img`",`'${udata["id"]}','${inp["name"]}','${inp["proj"]}','${inp["img"]}'`);
- res.send({out:"good"});
- } else if (projin != null){
- db.sv("projects","body",inp["proj"],"id",projin["id"],()=>{});
- if(inp["img"] != "") db.sv("projects","img",inp["img"],"id",projin["id"],()=>{});
- func.log(`good boy ${udata["uuid"]} saved project ${projin["name"]} from ${cook["sid"]}`);
- // func.log("proj in");
- res.send({out:"good"});
- }
})
- })
+ } catch (error) {
+ func.log("backend project saving err0r - "+error);
+ }
}
\ No newline at end of file
diff --git a/public/lib/fn.js b/public/lib/fn.js
index 15f9d05..e3e23c1 100644
--- a/public/lib/fn.js
+++ b/public/lib/fn.js
@@ -36,23 +36,23 @@ function clear_ck(redirect = true){
let sid = $.cookie("sid");
$.removeCookie("uuid");
$.removeCookie('sid');
- console.log("sid");
+ // console.log("sid");
setTimeout(()=>{
$.post( "/clear_sid",{uuid:uuid,sid:sid})
.done(function( res ) {
- console.log("sid");
+ // console.log("sid");
if(res["out"] == "good"){
// get_sid();
if (redirect) goto("/login");
}
- console.log("clear");
+ // console.log("clear");
})
},100)
}
function check_sid(redirect = true){
- console.log("checking sid");
+ // console.log("checking sid");
if($.cookie('sid') == null || $.cookie('uuid') == null){
clear_ck(redirect);
}
diff --git a/public/lib/inter.js b/public/lib/inter.js
index 3638fd0..42f6225 100644
--- a/public/lib/inter.js
+++ b/public/lib/inter.js
@@ -40,7 +40,7 @@ function create(clas,x,y,body,id,size){
}
else if (db_data != null){
obj.src = img;
- obj.title = `${db_data["name"]}\n${db_data["description"]}\nwidth:${db_data["width"]}см height:${db_data["height"]}см`;
+ obj.title = `${db_data["name"]}\n${db_data["description"]}\n${lang("width")}:${db_data["width"]}см ${lang("height")}:${db_data["height"]}см`;
// drag.transform = `translate(${drag.getAttribute("data-y")}px, ${drag.getAttribute("data-y")}px) scale(${db_data["width"] * 2} ${db_data["height"] * 2})`;
if(size){
obj.style.width = `${db_data["width"] * 2}px`;
@@ -114,7 +114,7 @@ function load(objss){
function load_proj_cloud(){
document.getElementById("drags").innerHTML = "";
- document.getElementById("top_panel_center").innerText = `loading ${proj_name} from cloud`;
+ document.getElementById("top_panel_center").innerText = `${lang("loading")} ${proj_name} ${lang("from")} ${lang("cloud")}`;
$.post( "/load_proj",{name:proj_name})
.done(function( res ) {
if(res["out"] == "good"){
@@ -123,7 +123,7 @@ function load_proj_cloud(){
// console.log(JSON.parse(res["body"]));
// $.cookie("objs",res["body"]);
load(JSON.parse(res["body"]));
- document.getElementById("top_panel_center").innerText = `${proj_name} (cloud)`;
+ document.getElementById("top_panel_center").innerText = `${proj_name} (${lang("cloud")})`;
}
else if(res["out"] == "bad proj"){
console.log("bad");
@@ -139,7 +139,7 @@ function load_proj_local(){
if(localStorage.getItem(proj_name) == null){
save_local()
}
- document.getElementById("top_panel_center").innerText = `${proj_name} (local)`;
+ document.getElementById("top_panel_center").innerText = `${proj_name} (${lang("local")})`;
document.getElementById("drags").innerHTML = "";
load(JSON.parse(localStorage.getItem(proj_name)));
}
@@ -153,7 +153,7 @@ function save(callback){
// console.log(objs);
html2canvas(document.querySelector("body"),{height: document.getElementById("wall").style.height.split("p")[0], width:document.getElementById("wall").style.width.split("p")[0], y:document.getElementById("wall").getBoundingClientRect().top,x:document.getElementById("wall").getBoundingClientRect().left}).then(canvas => {
let scr = "";
- console.log(canvas.toDataURL().length);
+ // console.log(canvas.toDataURL().length);
scr = canvas.toDataURL();
// if (canvas.toDataURL().length < 120000) scr = canvas.toDataURL()
// console.log(scr);
@@ -161,7 +161,7 @@ function save(callback){
.done(function( res ) {
if(res["out"] == "good"){
// console.log(scr)
- console.log("good");
+ // console.log("good");
if(callback) callback(res);
}
})
@@ -232,10 +232,11 @@ interact('.trash').dropzone({
ondragenter: function (event) {
var drag = event.relatedTarget;
var zone = event.target;
- delete objs[drag.classList[0]][drag.id];
- drag.remove();
+ console.log(drag.classList);
+ if(objs[drag.classList[0]] != null&&objs[drag.classList[0]][drag.id] != null) delete objs[drag.classList[0]][drag.id];
zone.classList.add('drop-target');
drag.classList.add('can-drop');
+ drag.remove();
},
ondragleave: function (event) {var drag = event.relatedTarget;var zone = event.target;zone.classList.remove('drop-target');drag.classList.remove('in_zone');drag.classList.remove('can-drop');},
ondrop: function (event) {
diff --git a/user.js b/user.js
index 84be3a5..ccccaf6 100644
--- a/user.js
+++ b/user.js
@@ -3,131 +3,151 @@ const func = require('./func');
const vars = require('./vars');
module.exports.login = (inp,cook,res)=>{
- let ilogin = func.decrypt(inp["login"],inp["sid"]);
- let ipass = func.decrypt(inp["pass"],inp["sid"]);
-
- db.cv("users","login",ilogin,(login) => {
- if(login == null){
- res.status(210).send({out:"bad", err:"user"});
- }
- else if (login != null){
- db.gv("users","login",`'${ilogin}'`,(udata)=>{udata = udata[0];
- db.ggv("sids","`sid`","uid",udata["id"],(sdata)=>{sdata = sdata[0];
- // console.log(sdata);
- if(ipass == udata["pass"]){
- if (sdata != null){
- // res.send({out:"logged",sid:sdata["sid"]});
- // console.log(sdata);
- db.dl("sids","uid",`'${udata["id"]}'`,() =>{});
-
- }
- func.log("good boy "+udata["uuid"]+" logged in by login & pass from "+cook["sid"]);
- res.cookie("uuid",udata["uuid"],{maxAge:vars.week,path:"/;SameSite=Strict"});
+ try{
+ let ilogin = func.decrypt(inp["login"],inp["sid"]);
+ let ipass = func.decrypt(inp["pass"],inp["sid"]);
- // db.sv("users","sids",sids += inp["sid"]+";","uuid",udata["uuid"],()=>{});
- db.nr("sids",'`sid`,`uid`',`'${cook["sid"]}','${udata["id"]}'`);
- res.send({out:"goto",url:"/main"});
- }
- else{
- res.status(210).send({out:"bad", err:"pass"});
- }
-
- })
- });
- }
- })
+ db.cv("users","login",ilogin,(login) => {
+ if(login == null){
+ res.status(210).send({out:"bad", err:"user"});
+ }
+ else if (login != null){
+ db.gv("users","login",`'${ilogin}'`,(udata)=>{udata = udata[0];
+ db.ggv("sids","`sid`","uid",udata["id"],(sdata)=>{sdata = sdata[0];
+ // console.log(sdata);
+ if(ipass == udata["pass"]){
+ if (sdata != null){
+ // res.send({out:"logged",sid:sdata["sid"]});
+ // console.log(sdata);
+ db.dl("sids","uid",`'${udata["id"]}'`,() =>{});
+
+ }
+ func.log("good boy "+udata["uuid"]+" logged in by login & pass from "+cook["sid"]);
+ res.cookie("uuid",udata["uuid"],{maxAge:vars.week,path:"/;SameSite=Strict"});
+
+ // db.sv("users","sids",sids += inp["sid"]+";","uuid",udata["uuid"],()=>{});
+ db.nr("sids",'`sid`,`uid`',`'${cook["sid"]}','${udata["id"]}'`);
+ res.send({out:"goto",url:"/main"});
+ }
+ else{
+ res.status(210).send({out:"bad", err:"pass"});
+ }
+
+ })
+ });
+ }
+ })
+ } catch(error){
+ func.log("backend user logging in error - "+error);
+ }
// res.send("good");
}
module.exports.reg = (inp,cook,res)=>{
- let uuid = func.get_uuid(inp["login"]);
- let admin = inp["admin"];
- let pass = inp["pass"];
- let login = inp["login"];
- check_db();
- function check_db() {
- db.cv("users","login",inp["login"], (ldata)=>{
- db.cv("users","login",inp["uuid"],(udata) =>{
- // func.log("/reg_user same login recs = "+ldata);
- // func.log("/reg_user same uuid recs = "+udata);
- if(udata==null && ldata==null){
- good_reg();
- // func.log("/reg_user good reg");
- func.log(`good boy ${uuid} registered user ${login} with uuid = ${uuid} admin = ${admin}`);
-
- }
- else if(udata!=null){
- uuid = func.get_uuid(inp["login"]);
- check_db();
- // res.send({out:"bad", body:"uuid"});
- }
- else if (ldata != null){
- func.log(`bad boy ${uuid} tried to register user ${login} with uuid = ${uuid} admin = ${admin} but login in use`);
- res.send({out:"bad", body:"login"});
- return;
- }
- })
- })
- }
- function good_reg(){
- db.nr("users",'`login`,`pass`,`uuid`,`admin`',`'${login}','${pass}','${uuid}',${admin}`);
- if (admin){
- db.ggv("users","`id`","uuid",`'${uuid}'`,(udata)=>{ udata = udata[0]
- db.nr("admins",'`login`,`uid`',`'${login}',${udata["id"]}`);
+ try {
+ let uuid = func.get_uuid(inp["login"]);
+ let admin = inp["admin"];
+ let pass = inp["pass"];
+ let login = inp["login"];
+ check_db();
+ function check_db() {
+ db.cv("users","login",inp["login"], (ldata)=>{
+ db.cv("users","login",inp["uuid"],(udata) =>{
+ // func.log("/reg_user same login recs = "+ldata);
+ // func.log("/reg_user same uuid recs = "+udata);
+ if(udata==null && ldata==null){
+ good_reg();
+ // func.log("/reg_user good reg");
+ func.log(`good boy ${uuid} registered user ${login} with uuid = ${uuid} admin = ${admin}`);
+
+ }
+ else if(udata!=null){
+ uuid = func.get_uuid(inp["login"]);
+ check_db();
+ // res.send({out:"bad", body:"uuid"});
+ }
+ else if (ldata != null){
+ func.log(`bad boy ${uuid} tried to register user ${login} with uuid = ${uuid} admin = ${admin} but login in use`);
+ res.send({out:"bad", body:"login"});
+ return;
+ }
+ })
})
}
- res.send({out:"good", body:{uuid:uuid,login:login,admin:admin}});
+ function good_reg(){
+ db.nr("users",'`login`,`pass`,`uuid`,`admin`',`'${login}','${pass}','${uuid}',${admin}`);
+ if (admin){
+ db.ggv("users","`id`","uuid",`'${uuid}'`,(udata)=>{ udata = udata[0]
+ db.nr("admins",'`login`,`uid`',`'${login}',${udata["id"]}`);
+ })
+ }
+ res.send({out:"good", body:{uuid:uuid,login:login,admin:admin}});
+ }
+ } catch (error) {
+ func.log("backend user registration error - "+error);
}
}
module.exports.get_cr = (inp,cook,res)=>{
- db.ggv("users","`login`,`admin`,`id`","uuid",`"${inp["uuid"]}"`,(udata)=>{udata = udata[0];
- // delete re["sids"];
- if(udata != null){
- res.send({out:"good",body:udata});
- }else{
- res.send({out:"bad"});
- }
- });
+ try {
+ db.ggv("users","`login`,`admin`,`id`","uuid",`"${inp["uuid"]}"`,(udata)=>{udata = udata[0];
+ // delete re["sids"];
+ if(udata != null){
+ res.send({out:"good",body:udata});
+ }else{
+ res.send({out:"bad"});
+ }
+ });
+ } catch (error) {
+ func.log("backend user information pulling error - "+error);
+ }
}
module.exports.clear_sid = (inp,cook,res)=>{
- if(inp["sid"] != null){
- // res.send({out:"good"});
- db.dl("sids","sid",`'${inp["sid"]}'`,() =>{
- func.log("good boy "+inp["uuid"] + " logged out from "+inp["sid"]);
- });
- // db.ggv("sids","id","sid",`'${cook["sid"]}'`,(sids)=>{
- // Object.entries(sids).forEach(([key,value])=>{
- // db.dl("sids","id",`'${value["id"]}'`,() =>{});
- // })
- // })
- }
- else if(inp["uuid"] != null){
- // res.send({out:"good"});
- db.ggv("users","id","uuid",`'${inp["uuid"]}'`,(udata)=>{udata = udata[0]
- db.dl("sids","uid",`'${udata["id"]}'`,() =>{
+ try {
+ if(inp["sid"] != null){
+ // res.send({out:"good"});
+ db.dl("sids","sid",`'${inp["sid"]}'`,() =>{
func.log("good boy "+inp["uuid"] + " logged out from "+inp["sid"]);
});
- // db.ggv("sids","id","uid",`'${udata["id"]}'`,(sids)=>{
- // Object.entries(sids).forEach(([key,value])=>{
- // db.dl("sids","id",`'${value["id"]}'`,() =>{});
- // })
- // })
- });
+ // db.ggv("sids","id","sid",`'${cook["sid"]}'`,(sids)=>{
+ // Object.entries(sids).forEach(([key,value])=>{
+ // db.dl("sids","id",`'${value["id"]}'`,() =>{});
+ // })
+ // })
+ }
+ else if(inp["uuid"] != null){
+ // res.send({out:"good"});
+ db.ggv("users","id","uuid",`'${inp["uuid"]}'`,(udata)=>{udata = udata[0]
+ db.dl("sids","uid",`'${udata["id"]}'`,() =>{
+ func.log("good boy "+inp["uuid"] + " logged out from "+inp["sid"]);
+ });
+ // db.ggv("sids","id","uid",`'${udata["id"]}'`,(sids)=>{
+ // Object.entries(sids).forEach(([key,value])=>{
+ // db.dl("sids","id",`'${value["id"]}'`,() =>{});
+ // })
+ // })
+ });
+ }
+ res.send({out:"good"});
+ } catch (error) {
+ func.log("backend user sid clearing error -"+error);
}
- res.send({out:"good"});
}
module.exports.sid_log=(inp,cook,res,req)=>{
- func.sid(cook,res,(include) => {
- if (include){
- res.send({out:"good",url:"/main"});
- if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") func.log("good boy "+ id["uuid"]+" logged in by sid logs from " + id["sid"]);
- }
- else if (!include){
- res.send({out:"bad"});
- if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") func.log("bad boy "+ id["uuid"]+" tried to login by sid but sid expired from " + id["sid"]);
- }
- },false)
+ try {
+ func.sid(cook,res,(include) => {
+ if (include){
+ res.send({out:"good",url:"/main"});
+ if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") func.log("good boy "+ id["uuid"]+" logged in by sid logs from " + id["sid"]);
+ }
+ else if (!include){
+ res.send({out:"bad"});
+ if(req.headers.referer.split("http://n0rsrv2:3002/")[1] == "login") func.log("bad boy "+ id["uuid"]+" tried to login by sid but sid expired from " + id["sid"]);
+ }
+ },false)
+ } catch (error) {
+ func.log("backend user sid logging error - "+error);
+ }
}
\ No newline at end of file
diff --git a/vars.js b/vars.js
index 333035f..6e7363e 100644
--- a/vars.js
+++ b/vars.js
@@ -1 +1,3 @@
module.exports.week = 7 * 24 * 3600 * 1000;
+module.exports.log_to_file = true;
+module.exports.log_to_db = true;
\ No newline at end of file
diff --git a/views/admin.ejs b/views/admin.ejs
index 8f76b14..2974f77 100644
--- a/views/admin.ejs
+++ b/views/admin.ejs
@@ -18,14 +18,12 @@
height: 200px;
width: 200px;
}
-
-
-
+