added project deleting
This commit is contained in:
		
							
								
								
									
										2
									
								
								db.js
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								db.js
									
									
									
									
									
								
							| @ -1,6 +1,6 @@ | |||||||
| const mysql = require('mysql'); | const mysql = require('mysql'); | ||||||
| const vars = require('./vars'); | const vars = require('./vars'); | ||||||
| const db_host = "localhost"; | const db_host = "db"; | ||||||
|  |  | ||||||
| const admin = mysql.createConnection({ | const admin = mysql.createConnection({ | ||||||
|     host: db_host, |     host: db_host, | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								index.js
									
									
									
									
									
								
							| @ -131,6 +131,17 @@ app.post("/load_proj", (req,res) => { | |||||||
|         func.log("router project loading error - "+error); |         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) => { | app.post("/get_projs", (req,res) => { | ||||||
|     try{ |     try{ | ||||||
|         let inp = req.body; |         let inp = req.body; | ||||||
|  | |||||||
							
								
								
									
										16
									
								
								project.js
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								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)=>{ | module.exports.save = (inp,cook,res)=>{ | ||||||
|     try { |     try { | ||||||
|         db.gv("users","uuid",`'${cook["uuid"]}'`, (udata)=>{ udata = udata[0] |         db.gv("users","uuid",`'${cook["uuid"]}'`, (udata)=>{ udata = udata[0] | ||||||
|  | |||||||
| @ -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; |  | ||||||
|     } |  | ||||||
| }; |  | ||||||
| @ -40,6 +40,9 @@ | |||||||
|         border-color: #fff; |         border-color: #fff; | ||||||
|         border-style: solid; |         border-style: solid; | ||||||
|     } |     } | ||||||
|  |     img{ | ||||||
|  |         pointer-events: none; | ||||||
|  |     } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | |||||||
| @ -115,6 +115,7 @@ | |||||||
|     <button id='proj_cload_btn' onclick='load_proj_cloud()'>загрузить из облака</button> <br> |     <button id='proj_cload_btn' onclick='load_proj_cloud()'>загрузить из облака</button> <br> | ||||||
|     <button id='proj_lsave_btn' onclick='save_proj_local()'>сохранить на локальное хранилище</button> <br> |     <button id='proj_lsave_btn' onclick='save_proj_local()'>сохранить на локальное хранилище</button> <br> | ||||||
|     <button id='proj_lload_btn' onclick='load_proj_local()'>загрузить из локальное хранилище</button> <br> |     <button id='proj_lload_btn' onclick='load_proj_local()'>загрузить из локальное хранилище</button> <br> | ||||||
|  |     <button id='proj_del_btn' onclick='del_proj()'>удалить проект</button> <br> | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
|      |      | ||||||
| @ -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 %>"; |     let proj_name = "<%= proj_name %>"; | ||||||
|     if($.cookie("cache") ==null)$.cookie("cache","true",{path:"/;SameSite=Strict"}); |  | ||||||
|     // console.log(proj_name); |     // console.log(proj_name); | ||||||
|     let menu = document.getElementById("project_menu"); |     let menu = document.getElementById("project_menu"); | ||||||
|     document.getElementById("top_panel_left").innerHTML = `<div id='proj_menu' class="menu_btn">настройки проекта</div>`; |     document.getElementById("top_panel_left").innerHTML = `<div id='proj_menu' class="menu_btn">настройки проекта</div>`; | ||||||
|  | |||||||
| @ -8,9 +8,6 @@ | |||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|     hide_menus(); |     hide_menus(); | ||||||
|     oncontextmenu = (e) => { |  | ||||||
|             e.preventDefault() |  | ||||||
|     } |  | ||||||
|     $('form').on('submit', function(event) { |     $('form').on('submit', function(event) { | ||||||
|             event.preventDefault(); |             event.preventDefault(); | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -11,6 +11,9 @@ | |||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> |     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||||
|     <title> <%= name %> </title> |     <title> <%= name %> </title> | ||||||
|     <script> |     <script> | ||||||
|  |         oncontextmenu = (e) => { | ||||||
|  |             e.preventDefault() | ||||||
|  |         } | ||||||
|         if(document.title == "login"){ |         if(document.title == "login"){ | ||||||
|             // console.log(document.title); |             // console.log(document.title); | ||||||
|             log_by_sid(); |             log_by_sid(); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user