From f57fec5cdedd773ffa3727f0f75b77ba00b2e05b Mon Sep 17 00:00:00 2001 From: N0rdye Date: Fri, 14 Jul 2023 10:47:53 +0500 Subject: [PATCH] added project deleting --- db.js | 2 +- index.js | 11 ++++ project.js | 16 ++++++ public/lib/jquery.cookie.js.old | 96 --------------------------------- views/main.ejs | 3 ++ views/project.ejs | 14 ++++- views/static/end.ejs | 3 -- views/static/start.ejs | 3 ++ 8 files changed, 47 insertions(+), 101 deletions(-) delete mode 100644 public/lib/jquery.cookie.js.old diff --git a/db.js b/db.js index 2c778ad..2e59bf7 100644 --- a/db.js +++ b/db.js @@ -1,6 +1,6 @@ const mysql = require('mysql'); const vars = require('./vars'); -const db_host = "localhost"; +const db_host = "db"; const admin = mysql.createConnection({ host: db_host, diff --git a/index.js b/index.js index 12231fd..f86d510 100644 --- a/index.js +++ b/index.js @@ -131,6 +131,17 @@ app.post("/load_proj", (req,res) => { func.log("router project loading error - "+error); } }) +app.post("/proj/delete", (req,res) => { + try{ + let inp = req.body; + let cook = req.cookies; + func.sid(cook,res,()=>{ + proj.del(inp,cook,res); + }) + } catch (error) { + func.log("router project loading error - "+error); + } +}) app.post("/get_projs", (req,res) => { try{ let inp = req.body; diff --git a/project.js b/project.js index 63a6492..78222ee 100644 --- a/project.js +++ b/project.js @@ -39,6 +39,22 @@ module.exports.loads = (inp,cook,res)=>{ } } +module.exports.del = (inp,cook,res)=>{ + try { + db.ggv("users","`id`","uuid",`'${cook["uuid"]}'`,(udata)=>{ udata = udata[0]; + db.gv("projects","name",`'${inp["name"]}'`,(pdata)=>{pdata=pdata[0] + // res.send({out:"good",body:pdata}); + db.dl("projects","id",pdata["id"],()=>{ + res.send({out:"good"}); + func.log(`good boy ${udata["uuid"]} deleted project ${inp["name"]} from ${cook["sid"]}`); + }) + }) + }) + } catch (error) { + func.log("backend projects delete err0r - " - error); + } +} + module.exports.save = (inp,cook,res)=>{ try { db.gv("users","uuid",`'${cook["uuid"]}'`, (udata)=>{ udata = udata[0] diff --git a/public/lib/jquery.cookie.js.old b/public/lib/jquery.cookie.js.old deleted file mode 100644 index 6df1fac..0000000 --- a/public/lib/jquery.cookie.js.old +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Cookie plugin - * - * Copyright (c) 2006 Klaus Hartl (stilbuero.de) - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - * - */ - -/** - * Create a cookie with the given name and value and other optional parameters. - * - * @example $.cookie('the_cookie', 'the_value'); - * @desc Set the value of a cookie. - * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); - * @desc Create a cookie with all available options. - * @example $.cookie('the_cookie', 'the_value'); - * @desc Create a session cookie. - * @example $.cookie('the_cookie', null); - * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain - * used when the cookie was set. - * - * @param String name The name of the cookie. - * @param String value The value of the cookie. - * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. - * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. - * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. - * If set to null or omitted, the cookie will be a session cookie and will not be retained - * when the the browser exits. - * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). - * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). - * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will - * require a secure protocol (like HTTPS). - * @type undefined - * - * @name $.cookie - * @cat Plugins/Cookie - * @author Klaus Hartl/klaus.hartl@stilbuero.de - */ - -/** - * Get the value of a cookie with the given name. - * - * @example $.cookie('the_cookie'); - * @desc Get the value of a cookie. - * - * @param String name The name of the cookie. - * @return The value of the cookie. - * @type String - * - * @name $.cookie - * @cat Plugins/Cookie - * @author Klaus Hartl/klaus.hartl@stilbuero.de - */ -jQuery.cookie = function(name, value, options) { - if (typeof value != 'undefined') { // name and value given, set cookie - options = options || {}; - if (value === null) { - value = ''; - options.expires = -1; - } - var expires = ''; - if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { - var date; - if (typeof options.expires == 'number') { - date = new Date(); - date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); - } else { - date = options.expires; - } - expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE - } - // CAUTION: Needed to parenthesize options.path and options.domain - // in the following expressions, otherwise they evaluate to undefined - // in the packed version for some reason... - var path = options.path ? '; path=' + (options.path) : ''; - var domain = options.domain ? '; domain=' + (options.domain) : ''; - var secure = options.secure ? '; secure' : ''; - document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); - } else { // only name given, get cookie - var cookieValue = null; - if (document.cookie && document.cookie != '') { - var cookies = document.cookie.split(';'); - for (var i = 0; i < cookies.length; i++) { - var cookie = jQuery.trim(cookies[i]); - // Does this cookie string begin with the name we want? - if (cookie.substring(0, name.length + 1) == (name + '=')) { - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); - break; - } - } - } - return cookieValue; - } -}; \ No newline at end of file diff --git a/views/main.ejs b/views/main.ejs index 79ec8e0..7597263 100644 --- a/views/main.ejs +++ b/views/main.ejs @@ -40,6 +40,9 @@ border-color: #fff; border-style: solid; } + img{ + pointer-events: none; + } diff --git a/views/project.ejs b/views/project.ejs index ae8dfb0..2bd0882 100644 --- a/views/project.ejs +++ b/views/project.ejs @@ -115,6 +115,7 @@


+
@@ -174,8 +175,19 @@ }) } + function del_proj(){ + let del = confirm(`удалить проект ${proj_name}?`); + if(del == true){ + $.post( "/proj/delete",{name:proj_name}) + .done(function( res ) { + if(res["out"] == "good"){ + goto("/main") + } + }) + } + } + let proj_name = "<%= proj_name %>"; - if($.cookie("cache") ==null)$.cookie("cache","true",{path:"/;SameSite=Strict"}); // console.log(proj_name); let menu = document.getElementById("project_menu"); document.getElementById("top_panel_left").innerHTML = ``; diff --git a/views/static/end.ejs b/views/static/end.ejs index 6c3923b..9a65b6f 100644 --- a/views/static/end.ejs +++ b/views/static/end.ejs @@ -8,9 +8,6 @@ }); } hide_menus(); - oncontextmenu = (e) => { - e.preventDefault() - } $('form').on('submit', function(event) { event.preventDefault(); }); diff --git a/views/static/start.ejs b/views/static/start.ejs index ca88a59..05c181a 100644 --- a/views/static/start.ejs +++ b/views/static/start.ejs @@ -11,6 +11,9 @@ <%= name %>