From 1e8ed76c1853d94057b4ad7e9282ead7bfec49b9 Mon Sep 17 00:00:00 2001 From: ION606 Date: Tue, 16 Aug 2022 14:15:12 -0700 Subject: [PATCH] Fixed the calendar --- calEvent.html | 6 +- dashboard.html | 412 +++++++++++++++++++++++++++++------------------ index.html | 12 +- main.js | 63 +++++++- myGuilds.html | 11 +- newCalEvent.html | 2 +- premium.html | 8 +- 7 files changed, 337 insertions(+), 177 deletions(-) diff --git a/calEvent.html b/calEvent.html index b1d30f6..395462c 100644 --- a/calEvent.html +++ b/calEvent.html @@ -152,7 +152,7 @@ link.innerText = ev.link; link.onclick = function(event) { event.preventDefault(); window.open(ev.link, '_blank'); } - const timeFull = new Date(Number(evlist[ind].time) + (Number(ev.offset) + 1) * 60000); + const timeFull = new Date(Number(evlist[ind].time) + (Number(ev.offset)) * 60000); var time = [timeFull.getHours().toString(), timeFull.getMinutes().toString()]; //Make sure it looks like 01:08 and not 1:8 @@ -217,12 +217,10 @@ function sendData(event, inp) { event.preventDefault(); - var serverSettings = JSON.parse(window.localStorage.getItem('serverInfo')); + var serverSettings = JSON.parse(window.sessionStorage.getItem('serverInfo')); window.opener.location.reload(); if (inp.inp == 'cal') { - // const userId = JSON.parse(window.localStorage.getItem('Id')); - var xhrsess = new XMLHttpRequest(); xhrsess.open('post', 'http://www.selmerbot.com/getSessionInfo/', true); xhrsess.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); diff --git a/dashboard.html b/dashboard.html index b16b423..e842e1d 100644 --- a/dashboard.html +++ b/dashboard.html @@ -139,6 +139,14 @@ border-color: #000000; } + .ardpd { + color: inherit; + background-color: rgba(85, 83, 83, 0.2); + } + .ardpd:focus-visible { + color: white; + } + @@ -280,6 +288,7 @@ w.sessionStorage.setItem("evlist", evjs); w.sessionStorage.setItem('day', day); w.sessionStorage.setItem('ref', 'guild'); + w.sessionStorage.setItem('serverInfo', window.sessionStorage.getItem('serverInfo')); w.location.reload(); w.document.write('Editing ${(new Date(Number(ev.time)))}'); @@ -296,6 +305,7 @@ w.sessionStorage.setItem("day", day); w.sessionStorage.setItem('ref', 'guild'); + w.sessionStorage.setItem('serverInfo', window.sessionStorage.getItem('serverInfo')); w.location.reload(); // w.document.write('Editing ${(' + String(day) + ')}'); @@ -374,154 +384,207 @@ @@ -561,47 +624,67 @@ b.classList.replace('saved', 'saving'); b.innerText = 'SAVING'; - var serverSettings = JSON.parse(window.localStorage.getItem('serverInfo')); + const sessionInfoPromise = getSessionData(); + sessionInfoPromise.then((sessionInfo) => { + var serverInfo = JSON.parse(sessionInfo.currentServer); + // var serverInfo = JSON.parse(window.sessionStorage.getItem('serverInfo')); + var serverSettings = JSON.parse(serverInfo.serverSettings); - if (inp.inp == 'logs') { - const ls = document.getElementsByName('ls'); - var sevname = ''; - for (i in ls) { - if (ls[i].checked) { sevname = ls[i].id.substring(3); } - } + if (inp.inp == 'logs') { + const ls = document.getElementsByName('ls'); + var sevname = ''; + for (i in ls) { + if (ls[i].checked) { sevname = ls[i].id.substring(3); } + } - const sevlist = ['none', 'low', 'meduim', 'high'] - serverSettings.LOG.severity = sevlist.indexOf(sevname); - serverSettings.LOG.logchannel = document.getElementById('logchanneldropdown').value || null; + const sevlist = ['none', 'low', 'meduim', 'high'] + serverSettings.LOG.severity = sevlist.indexOf(sevname); + serverSettings.LOG.logchannel = document.getElementById('logchanneldropdown').value || null; - let kl = false; - if (document.getElementById('kl').checked) { - kl = true; - } - serverSettings.LOG.keepLogs = kl; - } else { - serverSettings.WELCOME.welcomechannel = document.getElementById('welcomechanneldropdown').value || null; - serverSettings.WELCOME.welcomemessage = document.getElementById('wm').value || null; - } - - //Send the data to the server - var xhr = new XMLHttpRequest(); - xhr.open('post', 'http://www.selmerbot.com/sendData/', true); - xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); - xhr.setRequestHeader('serverSettings', JSON.stringify(serverSettings)); - - xhr.onloadend = (e) => { - if (xhr.response == 'DONE') { - b.classList.replace('saving', 'saved'); - b.innerText = 'SAVED'; - window.localStorage.setItem('serverInfo', JSON.stringify(serverSettings)); + let kl = false; + if (document.getElementById('kl').checked) { + kl = true; + } + serverSettings.LOG.keepLogs = kl; + } else if (inp.inp == 'announcement') { + serverSettings.announcement.channel = document.getElementById('achanneldropdown').value || null; + serverSettings.announcement.role = document.getElementById('aroledropdown').value || null; + console.log(serverSettings.announcement); } else { - b.classList.replace('saving', 'failed'); - b.innerText = 'FAILED'; + serverSettings.WELCOME.welcomechannel = document.getElementById('welcomechanneldropdown').value || null; + serverSettings.WELCOME.welcomemessage = document.getElementById('wm').value || null; } - } - - xhr.send(JSON.stringify(serverSettings)); + + //Send the data to the server + var xhr = new XMLHttpRequest(); + xhr.open('post', 'http://www.selmerbot.com/sendData/', true); + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); + xhr.setRequestHeader('serverSettings', JSON.stringify(serverSettings)); + + xhr.onloadend = (e) => { + if (xhr.response == 'DONE') { + //Change the current server data + var xhrs = new XMLHttpRequest(); + xhrs.open('post', 'http://www.selmerbot.com/setCurrentServer/', true); + xhrs.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); + xhrs.setRequestHeader('serverNumber', serverInfo.Id); + xhrs.setRequestHeader('sessionid', window.localStorage.getItem("sessionId")); + xhrs.onloadend = (e) => { + if (xhrs.response != 'OK') { alert("Uh Oh! There's been a problem!\nError Code: " + xhrs.response); } + b.classList.replace('saving', 'saved'); + b.innerText = 'SAVED'; + window.sessionStorage.setItem('serverInfo', JSON.stringify(serverSettings)); + window.location.reload(); + } + xhrs.send(); + } else { + b.classList.replace('saving', 'failed'); + b.innerText = 'FAILED'; + } + } + + xhr.send(JSON.stringify(serverSettings)); + }); } @@ -761,8 +844,19 @@ - - +

+ + + + + + + + diff --git a/index.html b/index.html index 51a86fc..d68ae6c 100644 --- a/index.html +++ b/index.html @@ -235,8 +235,10 @@ xhr.setRequestHeader('userId', window.sessionStorage.getItem('Id')); xhr.onloadend = (e) => { - //Maybe have an alert for logged in? + //No need + window.localStorage.removeItem("Id"); window.localStorage.setItem('sessionId', xhr.response); + document.getElementById('alertrow').style = ""; window.location.href = "index.html"; @@ -272,14 +274,16 @@ } function logout() { - window.localStorage.clear(); - window.sessionStorage.clear(); var xhr = new XMLHttpRequest(); xhr.open('post', 'http://www.selmerbot.com/logout/', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xhr.setRequestHeader('sessionid', window.localStorage.getItem('sessionId')); - xhr.onloadend = (e) => { window.location.href = 'index.html'; } + xhr.onloadend = (e) => { + window.localStorage.clear(); + window.sessionStorage.clear(); + window.location.href = 'index.html'; + } xhr.send(); } diff --git a/main.js b/main.js index 34b00d3..c4e2ff6 100644 --- a/main.js +++ b/main.js @@ -74,7 +74,7 @@ app.post('/user', async(request, response) => { const sessionId = uuidv4(); const dbo = client.db('main').collection('sessions'); - dbo.insertOne({ sessionId: sessionId, userId: id, guilds: JSON.stringify(guilds) }); + dbo.insertOne({ sessionId: sessionId, userId: id, guilds: JSON.stringify(guilds), currentServer: null }); response.send(sessionId); }); @@ -152,6 +152,66 @@ app.get('/getChannels', async (req, res) => { }); +app.get('/temp.html', async (req, res) => { return res.sendFile('temp.html', { root: '.' }); }); + +//Headers: servernumber, sessionid +app.post('/setCurrentServer', async (req, res) => { + try { + const id = req.headers.servernumber; + + if (id) { + const obj = {}; + const arr = {text: [], voice: []}; + const guild = bot.guilds.cache.get(id); + + const roles = []; + guild.roles.cache.filter((role) => { return(!role.managed) }).forEach((role) => { + let newObj = {}; + newObj.Id = role.id; + newObj.name = role.name; + newObj.color = role.hexColor; + + roles.push(newObj); + }); + + const channels = guild.channels.cache; + channels.forEach((channel) => { + const type = channel.type; + if (type == 'GUILD_TEXT') { + arr.text.push({ name: channel.name, id: channel.id }); + } else if (type == 'GUILD_VOICE') { + arr.voice.push({ name: channel.name, id: channel.id }); + } + }); + + connection.then((client) => { + const dbo = client.db(id).collection('SETUP'); + dbo.find().toArray(async (err, docs) => { + const m = new Map(); + m.set('Id', id); + + await Promise.all(docs.map(async (doc) => { + m.set(doc._id, doc); + })).then(() => { + obj['Id'] = id; + obj['roles'] = JSON.stringify(roles); + obj['channels'] = JSON.stringify(arr); + obj['serverSettings'] = JSON.stringify(Object.fromEntries(m)); + + const dbo = client.db('main').collection('sessions'); + dbo.updateOne({ sessionId: req.headers.sessionid }, {$set: { currentServer: JSON.stringify(obj) }}); + res.sendStatus(200); + }); + }) + }); + } + } catch (err) { + console.error(err); + res.sendStatus(500); + } +}); + + app.get('/getCal', async (req, res) => { const userId = req.headers.userid || false; const guildId = req.headers.guildid || false; @@ -310,6 +370,7 @@ app.post('/sendData', async (req, res) => { await dbo.updateOne({ _id: 'WELCOME' }, {$set: { welcomechannel: pref.WELCOME.welcomechannel, welcomemessage: pref.WELCOME.welcomemessage }}); await dbo.updateOne({ _id: 'LOG' }, {$set: { keepLogs: pref.LOG.keepLogs, logchannel: pref.LOG.logchannel, severity: pref.LOG.severity }}); + await dbo.updateOne({ _id: 'announcement' }, {$set: { channel: pref.announcement.channel, role: pref.announcement.role }}); }).then(() => { res.send("DONE"); }) .catch((err) => { console.error(err); diff --git a/myGuilds.html b/myGuilds.html index 46de0ed..6fd3642 100644 --- a/myGuilds.html +++ b/myGuilds.html @@ -73,9 +73,6 @@ window.onload = async () => { //#region GUILDS - // const guilds = JSON.parse(JSON.parse(window.localStorage.getItem('guilds'))); - - //Guilds section const sessionDataPromise = getSessionData(); sessionDataPromise.then((sessionData) => { const guilds = JSON.parse(sessionData.guilds); @@ -120,10 +117,14 @@ imagem.onclick = function() { var xhr = new XMLHttpRequest(); - xhr.open('post', 'http://www.selmerbot.com/getServer/', true); + xhr.open('post', 'http://www.selmerbot.com/setCurrentServer/', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xhr.setRequestHeader('serverNumber', guilds[i].id); - xhr.onloadend = (e) => { window.localStorage.setItem('serverInfo', (xhr.response)); window.location = 'http://www.selmerbot.com/dashboard.html'; } + xhr.setRequestHeader('sessionid', window.localStorage.getItem("sessionId")); + xhr.onloadend = (e) => { + // window.sessionStorage.setItem('serverInfo', (xhr.response)); + window.location = 'http://www.selmerbot.com/dashboard.html'; + } xhr.send(); } } else { diff --git a/newCalEvent.html b/newCalEvent.html index dcbf21d..bc47df2 100644 --- a/newCalEvent.html +++ b/newCalEvent.html @@ -176,7 +176,7 @@ const offsetTS = offset * 60000; const d = new Date(new Date().getFullYear(), new Date().getMonth(), day, hour, minute); - const serverSettings = JSON.parse(window.localStorage.getItem('serverInfo')); + const serverSettings = JSON.parse(window.sessionStorage.getItem('serverInfo')); const sessionDataPromise = getSessionData(); sessionDataPromise.then((sessionData) => { diff --git a/premium.html b/premium.html index eaa3747..fe30f11 100644 --- a/premium.html +++ b/premium.html @@ -163,14 +163,16 @@ } function logout() { - window.localStorage.clear(); - window.sessionStorage.clear(); var xhr = new XMLHttpRequest(); xhr.open('post', 'http://www.selmerbot.com/logout/', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xhr.setRequestHeader('sessionid', window.localStorage.getItem('sessionId')); - xhr.onloadend = (e) => { window.location.href = 'index.html'; } + xhr.onloadend = (e) => { + window.localStorage.clear(); + window.sessionStorage.clear(); + window.location.href = 'index.html'; + } xhr.send(); }