- BREAKING CHANGE from v0.9.35 and eariler: Move accounts into subfolder of SessionStore - viewergen and viewer updates from @GraspYonOx - new homepage theme inspired by @GraspYonOx - connect setup also mostly by @GraspYonOx - numerous bug fixes - nntp-server-zefie is now on npmjs - implement proper nodejs debugging - will start to phase out using console.log for actual debugging - existing "debug" (verbose) messages will stay as is - future code debugging will use debug() to debug WIP, therefore not showing to most users if it is accidently left in
59 lines
2.6 KiB
JavaScript
59 lines
2.6 KiB
JavaScript
var minisrv_service_file = true;
|
|
|
|
const wtvbgm = new WTVBGMusic(minisrv_config, session_data);
|
|
|
|
if (request_headers.query && session_data) {
|
|
|
|
if (request_headers.request_url.indexOf('?') >= 0) {
|
|
var category = (request_headers.query.category) ? request_headers.query.category : null;
|
|
var music_obj = wtvbgm.getMusicObj();
|
|
var old_music_obj = Object.assign({}, music_obj);
|
|
|
|
if (category == null) music_obj.enableCategories = [];
|
|
else {
|
|
var cat = wtvbgm.categories[parseInt(category) - 1];
|
|
if (cat) {
|
|
var toRemove = [];
|
|
Object.keys(music_obj.enableSongs).forEach(function (k) {
|
|
if (wtvbgm.getSongCategory(parseInt(music_obj.enableSongs[k])) == parseInt(category)) toRemove.push(k);
|
|
});
|
|
toRemove.forEach(function (v) {
|
|
music_obj.enableSongs.splice(v, 1, "");
|
|
});
|
|
var newEnableSongs = music_obj.enableSongs.filter(value => Object.keys(value).length !== 0);
|
|
music_obj.enableSongs = newEnableSongs;
|
|
}
|
|
}
|
|
var qraw = request_headers.request_url.split('?')[1];
|
|
if (qraw.length > 0) {
|
|
qraw = qraw.split("&");
|
|
for (let i = 0; i < qraw.length; i++) {
|
|
var qraw_split = qraw[i].split("=");
|
|
if (qraw_split.length == 2) {
|
|
var k = qraw_split[0];
|
|
if (k == "enableCategory") music_obj['enableCategories'].push(unescape(qraw[i].split("=")[1].replace(/\+/g, "%20")));
|
|
if (k == "enableSong") music_obj['enableSongs'].push(unescape(qraw[i].split("=")[1].replace(/\+/g, "%20")));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
music_obj.enableCategories = [...new Set(music_obj.enableCategories.filter(value => Object.keys(value).length !== 0))];
|
|
music_obj.enableSongs = [...new Set(music_obj.enableSongs.filter(value => Object.keys(value).length !== 0))];
|
|
music_obj = Object.assign({}, music_obj)
|
|
if ((Object.keys(music_obj.enableCategories).length != Object.keys(old_music_obj.enableCategories).length) || (Object.keys(music_obj.enableSongs).length != Object.keys(old_music_obj.enableSongs).length)) {
|
|
// something changed
|
|
session_data.setSessionData("wtv-bgmusic", music_obj);
|
|
session_data.saveSessionData();
|
|
headers = `200 OK
|
|
Content-type: text/html
|
|
wtv-backgroundmusic-load-playlist: wtv-setup:/get-playlist`;
|
|
} else {
|
|
// nothing changed
|
|
headers = `200 OK
|
|
Content-type: text/html`;
|
|
}
|
|
} else {
|
|
var outdata = doErrorPage();
|
|
headers = outdata[0];
|
|
data = outdata[1];
|
|
} |