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();
}