templates,admin logs,password encryption,route logs change,uuid gen change

This commit is contained in:
N0rdye 2023-10-03 02:10:55 +05:00
parent b431a2ce75
commit 38adc1be00
14 changed files with 276 additions and 63 deletions

View File

@ -8,6 +8,9 @@ module.exports.get_users = (inp,cook,res)=>{
db.crc("users",(row_count)=>{
// console.log(row_count);
db.gav("users",`${inp["from"]},${inp["load_interval"]}`,(data)=>{
Object.entries(data).forEach(([key,user]) => {
data[key]["pass"] = func.decrypt(user["pass"],"umni_pass");
});
db.gav("admins",`0`,(admins)=>{
if(data["length"] > 0){
res.send({body:data,admins:admins,count:row_count,out:"good"});
@ -65,6 +68,10 @@ module.exports.edit_user = (inp,cook,res)=>{
res.send({out:"good"});
},true,true)
}
else if (inp["key"] == "pass"){
inp["value"] = func.encrypt(inp["value"],"umni_pass");
change();
}
else {change();}
function change(){
@ -131,7 +138,7 @@ module.exports.new_user = (inp,cook,res)=>{
},true)
}
function good_reg(){
db.nr("users",'`login`,`pass`,`uuid`,`admin`',`'${login}','${pass}','${uuid}',${admin}`,true);
db.nr("users",'`login`,`pass`,`uuid`,`admin`',`'${login}','${func.encrypt(pass,"umni_pass")}','${uuid}',${admin}`,true);
if (admin == "true"){
console.log("admin");
db.ggv("users","`id`","uuid",`'${uuid}'`,(udata)=>{ udata = udata[0]

2
db.js
View File

@ -1,6 +1,6 @@
const mysql = require('mysql');
const vars = require('./vars');
const db_host = "db";
const db_host = "localhost";
const admin = mysql.createConnection({
host: db_host,

19
func.js
View File

@ -126,9 +126,24 @@ module.exports.logs_file = (res)=>{
}
module.exports.get_uuid = (name = "/") =>{
module.exports.get_logs = (res)=>{
db.gav("logs","0",(db_logs)=>{
let logs_str = "";
for (let i = Object.keys(db_logs).length-1; i >= 0; i--) {
const log = Object.values(db_logs)[i];
let date = moment(log[`date_time`]).utc().format('YYYY-MM-DD');
logs_str+=`${date}_${log.time}|${log.log} \n`;
if(i == 0){
res.send(logs_str);
}
}
},true);
}
module.exports.get_uuid = (name = "e621") =>{
// if (name != "/") name = this.encrypt(name,"name");
let unid = uuid.v4() + '%%'+name+'#e'+(621);
let unid = `${uuid.v4()}%${name}%${uuid.v4()}`;
return unid;
}

132
index.js
View File

@ -6,6 +6,7 @@ const admin = require('./admin');
const obj = require('./object');
const proj = require('./project');
const vars = require('./vars');
const templates = require('./templates.js');
const cookieParser = require('cookie-parser');
const CssFilterConverter = require('css-filter-converter');
@ -52,26 +53,26 @@ app.post('/back_login', (req, res) => {try {
let inp = req.body;
let cook = req.cookies;
user.login(inp,cook,res);
} catch (error) {func.log("router login error - "+error);}
} catch (error) {route_err({req:req,error:error});}
});
app.post("/sid_log",(req,res) =>{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);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/get_sid" , (req,res) =>{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);}
} catch (error) {route_err({req:req,error:error});}
});
app.post("/clear_sid" , (req,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);}
} catch (error) {route_err({req:req,error:error});}
});
app.post("/get_cr_uuid", (req,res) => {try{
let inp = req.body;
@ -79,7 +80,7 @@ app.post("/get_cr_uuid", (req,res) => {try{
func.sid(cook,res,()=>{
user.get_cr(inp,cook,res);
})
} catch (error) {func.log("router getting user information by uuid error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
/// project
@ -92,7 +93,7 @@ app.post("/save_proj", (req,res) => {try{
func.sid(cook,res,()=>{
proj.save(inp,cook,res);
})
} catch (error) {func.log("router project saving error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/load_proj", (req,res) => {try{
let inp = req.body;
@ -100,7 +101,7 @@ app.post("/load_proj", (req,res) => {try{
func.sid(cook,res,()=>{
proj.load(inp,cook,res);
})
} catch (error) {func.log("router project loading error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/proj/delete", (req,res) => {try{
let inp = req.body;
@ -108,7 +109,7 @@ app.post("/proj/delete", (req,res) => {try{
func.sid(cook,res,()=>{
proj.del(inp,cook,res);
})
} catch (error) {func.log("router project loading error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/proj/download", (req,res) => {try{
let inp = req.body;
@ -116,7 +117,7 @@ app.post("/proj/download", (req,res) => {try{
func.sid(cook,res,()=>{
proj.download(inp,cook,res);
})
} catch (error) {func.log("router project loading error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/proj/rename", (req,res) => {try{
let inp = req.body;
@ -124,7 +125,7 @@ app.post("/proj/rename", (req,res) => {try{
func.sid(cook,res,()=>{
proj.rename(inp,cook,res);
})
} catch (error) {func.log("router project loading error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/get_projs", (req,res) => {
try{
@ -133,7 +134,7 @@ app.post("/get_projs", (req,res) => {
func.sid(cook,res,()=>{
proj.loads(inp,cook,res);
})
} catch (error) {func.log("router user projects getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/get_objs", (req,res) => {
try{
@ -143,7 +144,7 @@ app.post("/get_objs", (req,res) => {
func.sid(cook,res,()=>{
obj.loads(inp,cook,res);
})
} catch (error) {func.log("router objects getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/get_obj", (req,res) => {try{
let inp = req.body;
@ -152,7 +153,7 @@ app.post("/get_obj", (req,res) => {try{
func.sid(cook,res,()=>{
obj.load(inp,cook,res);
})
} catch (error) {func.log("router single object getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/get_groups", (req,res) => {try{
let inp = req.body;
@ -161,7 +162,7 @@ app.post("/get_groups", (req,res) => {try{
func.sid(cook,res,()=>{
obj.load_groups(inp,cook,res);
})
} catch (error) {func.log("router single object getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/object/parts/get", (req,res) => {try{
let inp = req.body;
@ -170,7 +171,7 @@ app.post("/object/parts/get", (req,res) => {try{
func.sid(cook,res,()=>{
obj.load_parts(inp,cook,res);
})
} catch (error) {func.log("router single object getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/object/group/get", (req,res) => {try{
let inp = req.body;
@ -179,7 +180,7 @@ app.post("/object/group/get", (req,res) => {try{
func.sid(cook,res,()=>{
obj.load_group(inp,cook,res);
})
} catch (error) {func.log("router single object getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
// colors
@ -190,7 +191,7 @@ app.post("/object/colors/get", (req,res) => {try{
func.sid(cook,res,()=>{
obj.load_colors(inp,cook,res);
})
} catch (error) {func.log("router single object getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
@ -201,7 +202,7 @@ app.get("/admin", (req,res) =>{try {
func.sid(cook,res,(rights)=>{
res.render('admin');
},true,true)
} catch (error) {func.log("router admin page error - "+error);}
} catch (error) {route_err({req:req,error:error});}
});
app.get("/admin/:type", (req,res) =>{try {
let inp = req.body;
@ -215,11 +216,11 @@ app.get("/admin/:type", (req,res) =>{try {
}
else{res.redirect('/admin');}
},true,true)
} catch (error) {func.log("router admin page error - "+error);}
} catch (error) {route_err({req:req,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);}
catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/colors/new", (req,res) => {try{
let inp = req.body;
@ -228,7 +229,7 @@ app.post("/admin/colors/new", (req,res) => {try{
func.sid(cook,res,()=>{
obj.new_color(inp,cook,res);
})
} catch (error) {func.log("router single object getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/colors/delete", (req,res) => {try{
let inp = req.body;
@ -237,7 +238,7 @@ app.post("/admin/colors/delete", (req,res) => {try{
func.sid(cook,res,()=>{
obj.del_color(inp,cook,res);
})
} catch (error) {func.log("router single object getting error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/objects/new", (req,res) => {try{
let inp = req.body;
@ -245,7 +246,7 @@ app.post("/admin/objects/new", (req,res) => {try{
func.sid(cook,res,()=>{
obj.new(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/objects/edit", (req,res) => {try{
let inp = req.body;
@ -253,7 +254,7 @@ app.post("/admin/objects/edit", (req,res) => {try{
func.sid(cook,res,()=>{
obj.save(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/objects/delete", (req,res) => {try{
let inp = req.body;
@ -261,7 +262,7 @@ app.post("/admin/objects/delete", (req,res) => {try{
func.sid(cook,res,()=>{
obj.del(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/objects/find", (req,res) => {try{
let inp = req.body;
@ -269,7 +270,7 @@ app.post("/admin/objects/find", (req,res) => {try{
func.sid(cook,res,()=>{
obj.find(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/groups/new", (req,res) => {try{
let inp = req.body;
@ -277,7 +278,7 @@ app.post("/admin/groups/new", (req,res) => {try{
func.sid(cook,res,()=>{
obj.new_group(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/parts/new", (req,res) => {try{
let inp = req.body;
@ -285,7 +286,7 @@ app.post("/admin/parts/new", (req,res) => {try{
func.sid(cook,res,()=>{
obj.new_part(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/parts/delete", (req,res) => {try{
let inp = req.body;
@ -293,7 +294,7 @@ app.post("/admin/parts/delete", (req,res) => {try{
func.sid(cook,res,()=>{
obj.del_part(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/groups/delete", (req,res) => {try{
let inp = req.body;
@ -301,7 +302,7 @@ app.post("/admin/groups/delete", (req,res) => {try{
func.sid(cook,res,()=>{
obj.del_group(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/users/get", (req,res) => {try{
let inp = req.body;
@ -309,7 +310,7 @@ app.post("/admin/users/get", (req,res) => {try{
func.sid(cook,res,()=>{
admin.get_users(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post('/admin/users/new', (req, res) => {try{
let inp = req.body;
@ -317,7 +318,7 @@ app.post('/admin/users/new', (req, res) => {try{
func.sid(cook,res,()=>{
admin.new_user(inp,cook,res);
},true,true)
} catch (error) {func.log("router registration error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/users/edit", (req,res) => {try{
let inp = req.body;
@ -325,7 +326,7 @@ app.post("/admin/users/edit", (req,res) => {try{
func.sid(cook,res,()=>{
admin.edit_user(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/users/delete", (req,res) => {try{
let inp = req.body;
@ -333,7 +334,7 @@ app.post("/admin/users/delete", (req,res) => {try{
func.sid(cook,res,()=>{
admin.del_user(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/users/find", (req,res) => {try{
let inp = req.body;
@ -341,10 +342,53 @@ app.post("/admin/users/find", (req,res) => {try{
func.sid(cook,res,()=>{
admin.find_user(inp,cook,res);
},true,true)
} catch (error) {func.log("router object creating error - "+error);}
} catch (error) {route_err({req:req,error:error});}
})
// templates
app.post('/admin/template/save', (req, res) => {try{
let inp = req.body;
let cook = req.cookies;
func.sid(cook,res,()=>{
templates.save(inp,cook,res);
},true,true)
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/template/rename", (req,res) => {try{
let inp = req.body;
let cook = req.cookies;
func.sid(cook,res,()=>{
templates.rename(inp,cook,res);
},true,true)
} catch (error) {route_err({req:req,error:error});}
})
app.post("/admin/template/delete", (req,res) => {try{
let inp = req.body;
let cook = req.cookies;
func.sid(cook,res,()=>{
templates.del(inp,cook,res);
},true,true)
} catch (error) {route_err({req:req,error:error});}
})
app.post("/template/load", (req,res) => {try{
let inp = req.body;
let cook = req.cookies;
func.sid(cook,res,()=>{
templates.load(inp,cook,res);
})
} catch (error) {route_err({req:req,error:error});}
})
app.post("/template/loads", (req,res) => {try{
let inp = req.body;
let cook = req.cookies;
func.sid(cook,res,()=>{
templates.loads(inp,cook,res);
})
} catch (error) {route_err({req:req,error:error});}
})
// main routes
app.get('/', (req, res) => {
let inp = req.body;
let cook = req.cookies;
@ -362,21 +406,28 @@ app.get("/main", (req,res) =>{try{
func.sid(cook,res,()=>{
res.render('main');
})
} catch (error) {func.log("router getting user information by uuid error - "+error);}
} catch (error) {route_err({req:req,error:error});}
});
app.get("/logs", (req,res) =>{try{
let inp = req.body;let cook = req.cookies;
func.sid(cook,res,()=>{
func.get_logs(res);
})
} catch (error) {route_err({req:req,error:error});}
});
app.get("/help", (req,res) =>{try{
let inp = req.body;let cook = req.cookies;
func.sid(cook,res,()=>{
res.render('help');
})
} catch (error) {func.log("router getting user information by uuid error - "+error);}
} catch (error) {route_err({req:req,error:error});}
});
app.get("/temp", (req,res) =>{try{
let inp = req.body;let cook = req.cookies;
func.sid(cook,res,()=>{
res.render('templates');
})
} catch (error) {func.log("router getting user information by uuid error - "+error);}
} catch (error) {route_err({req:req,error:error});}
});
app.get("/htc/:hex",(req,res) =>{
res.send(CssFilterConverter.hexToFilter(`#${req.params["hex"]}`));
@ -390,3 +441,8 @@ app.all('*', (req, res) => {
res.render("static/404");
});
app.listen(process.env.PORT || 8080, () => func.log("server for puzzle started UwU"));
function route_err(params = {req:null,error:null}) {
func.log(`router ${req.route.path} error - `+error)
}

View File

@ -15,7 +15,7 @@ module.exports.load = (inp,cook,res)=>{
}
})
if (projt != null){
func.log(`good boy ${udata["uuid"]} loaded project ${projt["name"]} from ${cook["sid"]}`);
func.log(`good boy ${udata["uuid"]} loaded project ${projt["name"]}`);
res.send({out:"good",body:projt["body"]});
}
else{
@ -71,7 +71,7 @@ module.exports.del = (inp,cook,res)=>{
// res.send({out:"good",body:pdata});
db.dl("projects","id",pdata["id"],()=>{
res.send({out:"good"});
func.log(`good boy ${cook["uuid"]} deleted project ${inp["name"]} from ${cook["sid"]}`);
func.log(`good boy ${cook["uuid"]} deleted project ${inp["name"]}`);
})
})
// db.ggv("users","`name`,`id`","uuid",`'${cook["uuid"]}'`,(udata)=>{ udata = udata[0];
@ -91,7 +91,7 @@ module.exports.save = (inp,cook,res)=>{
if(pdata == 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"]}`);
func.log(`good boy ${udata["uuid"]} created project ${inp["name"]}`);
db.nr("projects","`uid`,`name`,`body`,`img`,creation_date",`'${udata["id"]}','${inp["name"]}','${inp["proj"]}','${inp["img"]}','${date+"T"+time}'`);
res.send({out:"good"});
} else if (pdata != null && pdata["uid"] == udata["id"]){
@ -100,7 +100,7 @@ module.exports.save = (inp,cook,res)=>{
db.sv("projects","body",inp["proj"],"id",projin["id"],()=>{});
db.sv("projects","last_change_date",`${date+"T"+time}`,"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(`good boy ${udata["uuid"]} saved project ${projin["name"]}`);
// func.log("proj in");
res.send({out:"good"});
})
@ -115,3 +115,4 @@ module.exports.save = (inp,cook,res)=>{
func.log("backend project saving err0r - "+error);
}
}

View File

@ -327,7 +327,6 @@ async function removeImageBackground(image) {
}
var list = preloadImages.list;
for (var i = 0; i < array.length; i++) {
console.log(array[i],is_cached(array[i]));
if(!is_cached(array[i])){
var img = new Image();
img.onload = function() {
@ -360,6 +359,9 @@ async function removeImageBackground(image) {
preloadImages(sources,()=>{
// console.log("cached");
callback();
sources.forEach(element => {
console.log(element,is_cached(element));
});
})
}
});

View File

@ -214,7 +214,6 @@ function load(objss){
}
if (keys == Object.keys(objs).at(-1)){
proj_state = "loaded";
loaded();
}
});
resize_drags();

96
templates.js Normal file
View File

@ -0,0 +1,96 @@
const db = require('./db');
const func = require('./func');
const moment = require("moment");
const vars = require('./vars');
module.exports.load = (inp,cook,res)=>{
try {
db.gv("projects","id",inp["id"],(pdata)=>{pdata = pdata[0];
if (pdata != null){
func.log(`good boy ${cook["uuid"]} loaded project ${pdata["name"]}`);
res.send({out:"good",body:pdata["body"]});
}
else{
res.send({out:"bad proj"});
}
})
} catch (error) {
func.log("backend project loading error - ");
}
}
module.exports.loads = (inp,cook,res)=>{
try {
db.gav("projects","0",(pdata)=>{
res.send({out:"good",body:pdata});
})
} catch (error) {
func.log("backend projects loading err0r - " - error);
}
}
module.exports.rename = (inp,cook,res)=>{
try {
db.gv("projects","`id`",`'${inp["id"]}'`,(proj_name)=>{ proj_name = proj_name[0];
// console.log(proj_name);
if(proj_name == null){
db.sv("projects","name",`${inp["name"]}`,"id",`${inp["id"]}`, (db)=>{
res.send({out:"good"});
})
}
})
} catch (error) {
func.log("backend projects loading err0r - " - error);
}
}
module.exports.del = (inp,cook,res)=>{
try {
db.gv("projects","id",`'${inp["id"]}'`,(pdata)=>{pdata=pdata[0]
// res.send({out:"good",body:pdata});
if(pdata != null){
db.dl("projects","id",pdata["id"],()=>{
res.send({out:"good"});
func.log(`good boy ${cook["uuid"]} deleted project ${inp["name"]}`);
})
}
else{
res.send({out:"bad"});
}
})
} catch (error) {
func.log("backend projects delete err0r - " - error);
}
}
module.exports.save = (inp,cook,res)=>{
try {
db.gv("projects","id",`'${inp["id"]}'`,(pdata)=>{pdata = pdata[0]
var date = moment().format('YYYY-MM-DD');
var time = moment().format('hh:mm:ss');
if(pdata == null){
// func.log("proj not in");
// func.log(pname,udata["id"],proj);
func.log(`good boy ${cook["uuid"]} created project ${inp["name"]}`);
db.nr("projects","`name`,`body`,`img`,creation_date",`'${inp["name"]}','${inp["proj"]}','${inp["img"]}','${date+"T"+time}'`,true);
res.send({out:"good"});
} else if (pdata != null){
if(inp["proj"] != JSON.stringify({height:"2",width:"4"})){
db.gv("projects","id",pdata["id"],(projin)=>{projin = projin[0]
db.sv("projects","body",inp["proj"],"id",projin["id"],()=>{},true);
db.sv("projects","last_change_date",`${date+"T"+time}`,"id",projin["id"],()=>{},true);
if(inp["img"] != "") db.sv("projects","img",inp["img"],"id",projin["id"],()=>{});
func.log(`good boy ${cook["uuid"]} saved project ${projin["name"]}`);
// func.log("proj in");
res.send({out:"good"});
})
}
else{
res.send({out:"bad",err:"proj"});
}
}
})
} catch (error) {
func.log("backend project saving err0r - "+error);
}
}

10
user.js
View File

@ -15,13 +15,13 @@ module.exports.login = (inp,cook,res)=>{
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(ipass == func.decrypt(udata["pass"],"umni_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"]);
func.log("good boy "+udata["uuid"]+" logged in by login & pass");
res.cookie("uuid",udata["uuid"],{maxAge:vars.week,path:"/;SameSite=Strict"});
// db.sv("users","sids",sids += inp["sid"]+";","uuid",udata["uuid"],()=>{});
@ -73,7 +73,7 @@ module.exports.clear_sid = (inp,cook,res)=>{
// 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"]);
func.log("good boy "+inp["uuid"] + " logged out");
});
// db.ggv("sids","id","uid",`'${udata["id"]}'`,(sids)=>{
// Object.entries(sids).forEach(([key,value])=>{
@ -93,11 +93,11 @@ 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("https://n0r.su/")[1] == "login") func.log("good boy "+ id["uuid"]+" logged in by sid logs from " + id["sid"]);
if(req.headers.referer.split("/").at(-1) == "login") func.log("good boy "+ cook["uuid"]+" logged in by sid");
}
else if (!include){
res.send({out:"bad"});
if(req.headers.referer.split("https://n0r.su/")[1] == "login") func.log("bad boy "+ id["uuid"]+" tried to login by sid but sid expired from " + id["sid"]);
func.log("bad boy "+ cook["uuid"]+" tried to login by sid but sid expired");
}
},false)
} catch (error) {

View File

@ -21,12 +21,47 @@
</section>
<br>
<section style="display: flex;">
<h1 style="width: 7.5vw;height: 600px;">Логи</h1>
<div style="background-color: white;width: 70vw;"></div>
<div style="width: 7.5vw;">
<h1>Логи</h1>
<button onclick="logs();" class="btn_white">Обновить</button>
<br>
<label for="logs_check" style="font-size: calc(var(--main-font-size)/1.5);">Автозагрузка</label>
<input type="checkbox" id="logs_check" oninput="logs_check(event)">
</div>
<div id="logs" style="background-color: white;width: 70vw;font-size: calc(var(--main-font-size)/1.4);overflow: auto;height: 80vh;"></div>
</section>
<%- include('./static/end.ejs') %>
<script>
log_check();
function log_check(){
if($.cookie("auto_log") != null){
if(JSON.parse($.cookie("auto_log")) == true){
logs();
}
document.getElementById("logs_check").checked = JSON.parse($.cookie("auto_log"));
}else{
$.cookie("auto_log",true)
log_check()
}
}
function logs() {
let wait_msg = msg("Загрузка логов",{type:"wait"});
$.get("/logs")
.done(function( res ) {
document.getElementById("logs").innerText = res;
msg_del(wait_msg.id);
msg("Логи загружены")
})
}
function logs_check(event){
let log_inp = event.target;
let check = log_inp.checked;
$.cookie("auto_log",check);
}
setTimeout(()=>{
loaded()
},1000);

View File

@ -50,7 +50,7 @@
<h1>пользователи</h1>
<div id="find_user_btns">
<button onclick="load_users_data(users_from,true);" class="btn_blue">Найти по имени</button>
<button onclick="load_users_data(users_from)" class="btn_blue">Очистить</button>
<button onclick="users_from=0;load_interval=5;load_users_data(users_from)" class="btn_blue">Очистить</button>
</div>
</div>
<section id="users_section">

View File

@ -85,12 +85,12 @@
// console.log("serv reg");
if(res["out"] == "good"){
// console.log(res["body"]);
document.getElementById("reg_response").innerHTML = `user ${login} successfully registered `;
msg(`Пользователь ${login} успешно добавлен`)
load_users_data(users_from);
}
else if (res["out"] == "bad"){
document.getElementById("reg_response").innerHTML = "cannot register user "+login+" already in use";
msg(`Пользователь с логином ${login} уже существует`)
}
});
}

View File

@ -77,13 +77,13 @@
}});
}
load_projs((projs)=>{
console.log(projs);
// console.log(projs);
if(projs.length == 0){
setTimeout(()=>{loaded()},500);
}
else{
projs.forEach(proj => {
console.log(proj);
// console.log(proj);
let div = document.getElementById("projs_div");
div.innerHTML += `<button id='proj_${proj["name"]}' proj_id='${proj["id"]}' class='proj'>
<img src='${proj["img"]}' alt='${proj["name"]}' class="p_img" onclick="goto('/proj/load/${proj["name"]}')">

View File

@ -293,7 +293,9 @@
<script>
let proj_name = "<%= proj_name %>";
document.getElementById("layer_inp").value = 0;
img_cache(()=>{})
img_cache(()=>{
loaded();
})
if ( $.cookie("grid") != null){