fix/optimize wtv-author, wtv-favorite

This commit is contained in:
zefie
2025-08-12 20:44:15 -04:00
parent 011229cc22
commit 6827746799
54 changed files with 543 additions and 610 deletions

View File

@@ -1,8 +1,8 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName const docName = request_headers.query.docName
var blockNum = request_headers.query.blockNum let blockNum = request_headers.query.blockNum
var blockClass = request_headers.query.blockClass const blockClass = request_headers.query.blockClass
blockNum = parseInt(blockNum) + 1 blockNum = parseInt(blockNum) + 1

View File

@@ -1,17 +1,17 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var title = request_headers.query.blockTitle const title = request_headers.query.blockTitle;
var caption = request_headers.query.textBlockText const caption = request_headers.query.textBlockText;
var size = request_headers.query.textBlockSize const size = request_headers.query.textBlockSize;
var style = request_headers.query.textBlockStyle const style = request_headers.query.textBlockStyle;
var position = request_headers.query.newBlockNum const position = request_headers.query.newBlockNum;
var oldPosition = request_headers.query.oldBlockNum const oldPosition = request_headers.query.oldBlockNum;
var editing = request_headers.query.editing const editing = request_headers.query.editing;
let page;
if (editing == "true"){ if (editing == "true"){
session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.newBlockNum, null, null, request_headers.query.blockTitle, request_headers.query.photoBlockCaption); session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.newBlockNum, null, null, request_headers.query.blockTitle, request_headers.query.photoBlockCaption);
var page = session_data.pagestore.loadPage(docName);
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/block-preview wtv-expire-all: wtv-author:/block-preview
wtv-expire-all: wtv-author:/preview wtv-expire-all: wtv-author:/preview
@@ -20,10 +20,10 @@ wtv-expire-all: wtv-author:/edit-block
wtv-expire-all: wtv-author:/get-photo?docName=${docName}&blockNum=${request_headers.query.blockNum} wtv-expire-all: wtv-author:/get-photo?docName=${docName}&blockNum=${request_headers.query.blockNum}
Location: wtv-author:/show-blocks?docName=${docName}` Location: wtv-author:/show-blocks?docName=${docName}`
} else { } else {
var page = session_data.pagestore.loadPage(docName); const page = session_data.pagestore.loadPage(docName);
var blockNum = request_headers.query.blockNum; const blockNum = request_headers.query.blockNum;
if (request_headers.query.scrapbookID != undefined) { if (request_headers.query.scrapbookID != undefined) {
var image = session_data.pagestore.getScrapbookImage(parseInt(request_headers.query.scrapbookID)); const image = session_data.pagestore.getScrapbookImage(parseInt(request_headers.query.scrapbookID));
if (page.blocks[blockNum] != undefined) if (page.blocks[blockNum] != undefined)
session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.blockNum, image, "scrapbook", null, null); session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.blockNum, image, "scrapbook", null, null);
else else

View File

@@ -1,6 +1,6 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName const docName = request_headers.query.docName
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,7 +1,7 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName const docName = request_headers.query.docName
var numOfBlocks = request_headers.query.blockNum; const numOfBlocks = request_headers.query.blockNum;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,9 +1,9 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName const docName = request_headers.query.docName
var blockNum = request_headers.query.blockNum const blockNum = request_headers.query.blockNum
var blockClass = request_headers.query.blockClass const blockClass = request_headers.query.blockClass
var category = request_headers.query.mediaCategoryID const category = request_headers.query.mediaCategoryID
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,10 +1,10 @@
var minisrv_service_file = true; const minisrv_service_file = true;
const docName = request_headers.query.docName const docName = request_headers.query.docName
const blockNum = request_headers.query.blockNum const blockNum = request_headers.query.blockNum
const blockClass = request_headers.query.blockClass const blockClass = request_headers.query.blockClass
const category = request_headers.query.mediaCategoryID ? parseInt(request_headers.query.mediaCategoryID) : null; const category = request_headers.query.mediaCategoryID ? parseInt(request_headers.query.mediaCategoryID) : null;
var page = request_headers.query.pageNum ? parseInt(request_headers.query.pageNum) : 0; const page = request_headers.query.pageNum ? parseInt(request_headers.query.pageNum) : 0;
const itemsPerPage = 12; const itemsPerPage = 12;
const clipart = { const clipart = {
@@ -1684,10 +1684,11 @@ ${(category !== null) ? `<b>${clipart[category].name}</b>` : 'art'} </font>
<tr><td valign=top> <tr><td valign=top>
<table cellspacing=0 cellpadding=1> <table cellspacing=0 cellpadding=1>
`; `;
let cat;
if (category !== null) { if (category !== null) {
var cat = clipart[category]; cat = clipart[category];
if (cat.categories) { if (cat.categories) {
var i = 0; let i = 0;
Object.keys(cat.categories).forEach(function (k) { Object.keys(cat.categories).forEach(function (k) {
i++; i++;
if (i % 14 === 0) data += `</table></td><td valign=top><table cellspacing=0 cellpadding=1>`; if (i % 14 === 0) data += `</table></td><td valign=top><table cellspacing=0 cellpadding=1>`;
@@ -1702,7 +1703,7 @@ ${(category !== null) ? `<b>${clipart[category].name}</b>` : 'art'} </font>
}); });
} }
} else { } else {
var i = 0; let i = 0;
Object.keys(clipart).forEach(function (k) { Object.keys(clipart).forEach(function (k) {
cat = clipart[k]; cat = clipart[k];
if (cat.parent) return; if (cat.parent) return;
@@ -1723,9 +1724,9 @@ ${(category !== null) ? `<b>${clipart[category].name}</b>` : 'art'} </font>
</HTML>` </HTML>`
} else { } else {
// category has images // category has images
var cat = clipart[category]; const cat = clipart[category];
var imgcount = cat.images.length; const imgcount = cat.images.length;
var pages = Math.ceil(imgcount / itemsPerPage); const pages = Math.ceil(imgcount / itemsPerPage);
data = `<HTML><HEAD> data = `<HTML><HEAD>
<DISPLAY fontsize=medium> <DISPLAY fontsize=medium>
@@ -1870,11 +1871,11 @@ ${cat.name}
<TD colspan=3 rowspan=3 align=center> <TD colspan=3 rowspan=3 align=center>
<table cellspacing=14 cellpadding=0 background="/ROMCache/light_blue_tile.gif"> <table cellspacing=14 cellpadding=0 background="/ROMCache/light_blue_tile.gif">
`; `;
for (i = page * itemsPerPage; i < Math.min(imgcount, (page + 1) * itemsPerPage); i++) { for (let i = page * itemsPerPage; i < Math.min(imgcount, (page + 1) * itemsPerPage); i++) {
if (i % 4 === 0) data += `<tr>`; if (i % 4 === 0) data += `<tr>`;
data += ` data += `
<td border=1 width=64 align=center valign=middle <td border=1 width=64 align=center valign=middle
href="wtv-author:/add-media-to-block?docName=${docName}&blockNum=${blockNum}&blockClass=23&mediaPath=clipart%2F${escape(cat.path + "/" + cat.images[i])}&thumbnailPath=clipart%2Ficons%2F${escape(cat.path + "/" + cat.images[i])}"> href="wtv-author:/add-media-to-block?docName=${docName}&blockNum=${blockNum}&blockClass=23&mediaPath=clipart%2F${encodeURIComponent(cat.path + "/" + cat.images[i])}&thumbnailPath=clipart%2Ficons%2F${encodeURIComponent(cat.path + "/" + cat.images[i])}">
<img src="clipart/icons/${cat.path}/${cat.images[i]}" width=64 height=64> <img src="clipart/icons/${cat.path}/${cat.images[i]}" width=64 height=64>
</td>`; </td>`;
} }

View File

@@ -1,8 +1,8 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var page = session_data.pagestore.loadPage(docName) const page = session_data.pagestore.loadPage(docName)
var site = session_data.pagestore.getPublishDomain(); const site = session_data.pagestore.getPublishDomain();
headers = `200 OK headers = `200 OK

View File

@@ -1,7 +1,7 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var position = request_headers.query.blockNum const position = request_headers.query.blockNum
session_data.pagestore.deleteBlock(docName, position); session_data.pagestore.deleteBlock(docName, position);
headers = `300 OK headers = `300 OK

View File

@@ -1,7 +1,7 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var position = request_headers.query.blockNum const position = request_headers.query.blockNum
session_data.pagestore.deletePage(docName); session_data.pagestore.deletePage(docName);
headers = `300 OK headers = `300 OK

View File

@@ -1,7 +1,7 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var pagestore_exists = session_data.pagestore.pagestoreExists(); const pagestore_exists = session_data.pagestore.pagestoreExists();
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
if (pagestore_exists != true) if (pagestore_exists != true)
{ {
@@ -10,8 +10,8 @@ if (pagestore_exists != true)
Location: wtv-author:/documents` Location: wtv-author:/documents`
} else { } else {
var page = session_data.pagestore.loadPage(docName) const page = session_data.pagestore.loadPage(docName)
var discardAlert = function (docName) { const discardAlert = function (docName) {
return new clientShowAlert({ return new clientShowAlert({
'image': this.minisrv_config.config.service_logo, 'image': this.minisrv_config.config.service_logo,
'message': "Would you like to permanently discard this document and all of its contents?", 'message': "Would you like to permanently discard this document and all of its contents?",
@@ -23,7 +23,7 @@ Location: wtv-author:/documents`
'noback': true, 'noback': true,
}).getURL(); }).getURL();
} }
var unpublishAlert = function (docName) { const unpublishAlert = function (docName) {
return new clientShowAlert({ return new clientShowAlert({
'image': this.minisrv_config.config.service_logo, 'image': this.minisrv_config.config.service_logo,
'message': "Would you like to unpublish this document? You can republish it later.", 'message': "Would you like to unpublish this document? You can republish it later.",

View File

@@ -1,13 +1,12 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName const docName = request_headers.query.docName
var pagedata = session_data.pagestore.loadPage(docName); const pagedata = session_data.pagestore.loadPage(docName);
var blockNum = pagedata.blocks.length const blockNum = pagedata.blocks.length
var oldBlockNum = request_headers.query.blockNum const oldBlockNum = request_headers.query.blockNum
var blockType = pagedata.blocks[oldBlockNum].type const blockType = pagedata.blocks[oldBlockNum].type
var photo; let photo, thumbnail;
var thumbnail;
if (pagedata.blocks[oldBlockNum].photo) { if (pagedata.blocks[oldBlockNum].photo) {
photo = wtvshared.btoa(pagedata.blocks[oldBlockNum].photo) photo = wtvshared.btoa(pagedata.blocks[oldBlockNum].photo)
@@ -202,7 +201,7 @@ Add text to your document
<TABLE valign=top> <TABLE valign=top>
<TR> <TR>
<TD>Text size:` <TD>Text size:`
var textsize = pagedata.blocks[oldBlockNum].size const textsize = pagedata.blocks[oldBlockNum].size
if (textsize == "-1") if (textsize == "-1")
{ {
@@ -232,7 +231,7 @@ Medium</TD>
data += ` data += `
<TR> <TR>
<TD>Text style:` <TD>Text style:`
var textstyle = pagedata.blocks[oldBlockNum].style const textstyle = pagedata.blocks[oldBlockNum].style
if (textstyle == "B") if (textstyle == "B")
{ {

View File

@@ -1,7 +1,7 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var page = session_data.pagestore.loadPage(docName); const page = session_data.pagestore.loadPage(docName);
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,7 +1,7 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var blockNum = request_headers.query.blockNum; const blockNum = request_headers.query.blockNum;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,7 +1,9 @@
const minisrv_service_file = true;
const fs = require('fs'); const fs = require('fs');
var dir = "ServiceVault\\wtv-author\\clipart\\Sports\\Baseball" const dir = "ServiceVault\\wtv-author\\clipart\\Sports\\Baseball"
var files = fs.readdirSync(dir) const files = fs.readdirSync(dir)
var start = 12; const start = 12;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,13 +1,9 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var errpage = null; const docName = request_headers.query.docName;
const blockNum = request_headers.query.blockNum;
const page = session_data.pagestore.loadPage(docName);
var docName = request_headers.query.docName;
var blockNum = request_headers.query.blockNum;
var page = session_data.pagestore.loadPage(docName);
if (!errpage) {
headers = `200 OK headers = `200 OK
Content-Type: image/jpeg`; Content-Type: image/jpeg`;
data = new Buffer.from(page.blocks[blockNum].photo, 'base64'); data = new Buffer.from(page.blocks[blockNum].photo, 'base64');
}

View File

@@ -1,13 +1,14 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var create = true;
var pagenums = session_data.pagestore.listPages().length; let create = true;
const pagenums = session_data.pagestore.listPages().length;
if (minisrv_config.services["wtv-author"].max_pages) { if (minisrv_config.services["wtv-author"].max_pages) {
if (pagenums + 1 > minisrv_config.services["wtv-author"].max_pages) { if (pagenums + 1 > minisrv_config.services["wtv-author"].max_pages) {
create = false; create = false;
} }
} }
if (create) { if (create) {
var pagename = session_data.pagestore.createPage(request_headers.query.styleName.replace(' ', '_')); const pagename = session_data.pagestore.createPage(request_headers.query.styleName.replace(' ', '_'));
headers = `300 OK headers = `300 OK
Connection: Keep-Alive Connection: Keep-Alive
@@ -15,7 +16,7 @@ Content-Type: text/html
wtv-expire-all: wtv-author:/documents wtv-expire-all: wtv-author:/documents
Location: wtv-author:/show-blocks?docName=${pagename}` Location: wtv-author:/show-blocks?docName=${pagename}`
} else { } else {
var err = wtvshared.doErrorPage(500, "You are not allowed to create more than <b>"+minisrv_config.services["wtv-author"].max_pages+"</b> pages."); const err = wtvshared.doErrorPage(500, "You are not allowed to create more than <b>"+minisrv_config.services["wtv-author"].max_pages+"</b> pages.");
headers = err[0]; headers = err[0];
data = err[1]; data = err[1];
} }

View File

@@ -1,6 +1,6 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName const docName = request_headers.query.docName
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,8 +1,8 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var page = session_data.pagestore.loadPage(docName) const page = session_data.pagestore.loadPage(docName);
var site = session_data.pagestore.getPublishDomain(); const site = session_data.pagestore.getPublishDomain();
if (request_headers.query.publishStage == "1") { if (request_headers.query.publishStage == "1") {
headers = `200 OK headers = `200 OK
@@ -117,13 +117,13 @@ Include in public list
</HTML> </HTML>
` `
} else if (request_headers.query.publishStage == "2") { } else if (request_headers.query.publishStage == "2") {
var inlist; let inlist;
if (request_headers.query.includeInPublicList != undefined) { if (request_headers.query.includeInPublicList != undefined) {
inlist = true; inlist = true;
} else { } else {
inlist = false; inlist = false;
} }
var result = session_data.pagestore.publishPage(docName, inlist); const result = session_data.pagestore.publishPage(docName, inlist);
if (result == true) { if (result == true) {
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/documents wtv-expire-all: wtv-author:/documents
@@ -132,7 +132,7 @@ Location: wtv-author:/congrats?docName=${docName}`
headers = `400 ${result}` headers = `400 ${result}`
} }
} else if (request_headers.query.unpublish == "1") { } else if (request_headers.query.unpublish == "1") {
var result = session_data.pagestore.unpublishPage(docName); const result = session_data.pagestore.unpublishPage(docName);
if (result == true) { if (result == true) {
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/documents wtv-expire-all: wtv-author:/documents

View File

@@ -1,33 +1,32 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var title = request_headers.query.blockTitle const title = request_headers.query.blockTitle;
var caption = request_headers.query.textBlockText const caption = request_headers.query.textBlockText;
var size = request_headers.query.textBlockSize let size = request_headers.query.textBlockSize;
var style = request_headers.query.textBlockStyle let style = request_headers.query.textBlockStyle;
var position = request_headers.query.newBlockNum const position = request_headers.query.newBlockNum;
var oldPosition = request_headers.query.oldBlockNum const oldPosition = request_headers.query.oldBlockNum;
var editing = request_headers.query.editing const editing = request_headers.query.editing;
var blockClass = request_headers.query.blockClass const blockClass = request_headers.query.blockClass;
switch(blockClass) { switch(blockClass) {
case "23": case "23":
if (editing == "true") { if (editing == "true") {
var photo = request_headers.query.photoBlockPhoto; const photo = request_headers.query.photoBlockPhoto;
if (request_headers.query.toSnapshot == "true") if (request_headers.query.toSnapshot == "true")
session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.newBlockNum, photo, "snapshot", request_headers.query.blockTitle, request_headers.query.photoBlockCaption); session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.newBlockNum, photo, "snapshot", request_headers.query.blockTitle, request_headers.query.photoBlockCaption);
else else
session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.newBlockNum, null, null, request_headers.query.blockTitle, request_headers.query.photoBlockCaption); session_data.pagestore.editPhotoBlock(docName, request_headers.query.blockNum, request_headers.query.newBlockNum, null, null, request_headers.query.blockTitle, request_headers.query.photoBlockCaption);
var page = session_data.pagestore.loadPage(docName); const page = session_data.pagestore.loadPage(docName);
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/block-preview wtv-expire-all: wtv-author:/block-preview
wtv-expire-all: wtv-author:/preview wtv-expire-all: wtv-author:/preview
wtv-expire-all: wtv-author:/show-blocks wtv-expire-all: wtv-author:/show-blocks
wtv-expire-all: wtv-author:/edit-block wtv-expire-all: wtv-author:/edit-block
Location: ${request_headers.query.returnPageURL || "wtv-author:/show-blocks?docName=" + docName}` Location: ${request_headers.query.returnPageURL || "wtv-author:/show-blocks?docName=" + docName}`
} else { } else {
session_data.pagestore.createPhotoBlock(docName, request_headers.query.photoBlockPhoto, "snapshot"); session_data.pagestore.createPhotoBlock(docName, request_headers.query.photoBlockPhoto, "snapshot");
var page = session_data.pagestore.loadPage(docName); const page = session_data.pagestore.loadPage(docName);
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/block-preview wtv-expire-all: wtv-author:/block-preview
wtv-expire-all: wtv-author:/preview wtv-expire-all: wtv-author:/preview
@@ -69,10 +68,10 @@ Location: wtv-author:/show-blocks?docName=${docName}`
} }
break; break;
case "26": case "26":
var header = request_headers.query.headingBlockText const header = request_headers.query.headingBlockText
size = request_headers.query.headingBlockSize size = request_headers.query.headingBlockSize
var dividerBefore = request_headers.query.headingBlockDividerBefore const dividerBefore = request_headers.query.headingBlockDividerBefore
var dividerAfter = request_headers.query.headingBlockDividerAfter const dividerAfter = request_headers.query.headingBlockDividerAfter
if (header.length == 0) { if (header.length == 0) {
headers = "400 You must enter a header. Please enter a header and try again." headers = "400 You must enter a header. Please enter a header and try again."
} else { } else {
@@ -96,7 +95,7 @@ Location: wtv-author:/show-blocks?docName=${docName}`
break; break;
case "24": case "24":
if (editing == "true") { if (editing == "true") {
var listItems = request_headers.query.listItemText.filter(function(e){ return e.replace(/(\r\n|\n|\r)/gm,"")}); const listItems = request_headers.query.listItemText.filter(function(e){ return e.replace(/(\r\n|\n|\r)/gm,"")});
session_data.pagestore.editListBlock(docName, title, listItems, position, request_headers.query.blockNum); session_data.pagestore.editListBlock(docName, title, listItems, position, request_headers.query.blockNum);
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/block-preview wtv-expire-all: wtv-author:/block-preview
@@ -105,7 +104,7 @@ wtv-expire-all: wtv-author:/show-blocks
wtv-expire-all: wtv-author:/edit-block wtv-expire-all: wtv-author:/edit-block
Location: wtv-author:/show-blocks?docName=${docName}` Location: wtv-author:/show-blocks?docName=${docName}`
} else { } else {
var listItems = request_headers.query.listItemText.filter(function(e){ return e.replace(/(\r\n|\n|\r)/gm,"")}); const listItems = request_headers.query.listItemText.filter(function(e){ return e.replace(/(\r\n|\n|\r)/gm,"")});
session_data.pagestore.createListBlock(docName, title, listItems, position); session_data.pagestore.createListBlock(docName, title, listItems, position);
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/block-preview wtv-expire-all: wtv-author:/block-preview
@@ -116,8 +115,8 @@ Location: wtv-author:/show-blocks?docName=${docName}`
break; break;
case "25": case "25":
if (editing == "true") { if (editing == "true") {
var listItems = request_headers.query.listItemText; const listItems = request_headers.query.listItemText;
var linkItems = request_headers.query.linkItemURL; const linkItems = request_headers.query.linkItemURL;
session_data.pagestore.editLinkBlock(docName, title, listItems, linkItems, position, request_headers.query.blockNum); session_data.pagestore.editLinkBlock(docName, title, listItems, linkItems, position, request_headers.query.blockNum);
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/block-preview wtv-expire-all: wtv-author:/block-preview
@@ -126,8 +125,8 @@ wtv-expire-all: wtv-author:/show-blocks
wtv-expire-all: wtv-author:/edit-block wtv-expire-all: wtv-author:/edit-block
Location: wtv-author:/show-blocks?docName=${docName}` Location: wtv-author:/show-blocks?docName=${docName}`
} else { } else {
var listItems = request_headers.query.listItemText; const listItems = request_headers.query.listItemText;
var linkItems = request_headers.query.linkItemURL; const linkItems = request_headers.query.linkItemURL;
session_data.pagestore.createLinkBlock(docName, title, listItems, linkItems, position); session_data.pagestore.createLinkBlock(docName, title, listItems, linkItems, position);
headers = `300 OK headers = `300 OK
wtv-expire-all: wtv-author:/block-preview wtv-expire-all: wtv-author:/block-preview

View File

@@ -1,8 +1,8 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var page = session_data.pagestore.loadPage(docName); const page = session_data.pagestore.loadPage(docName);
var style = request_headers.query.styleName.replace (' ', '_') const style = request_headers.query.styleName.replace (' ', '_')
page.style = style; page.style = style;
session_data.pagestore.editPage(page, docName); session_data.pagestore.editPage(page, docName);
headers = `300 OK headers = `300 OK

View File

@@ -1,14 +1,14 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var docTitle = request_headers.query.docTitle; const docTitle = request_headers.query.docTitle;
if (docTitle.length == 0) { if (docTitle.length == 0) {
headers = "400 You must enter a title for your page. Please enter a title and try again." headers = "400 You must enter a title for your page. Please enter a title and try again."
} else { } else {
var pagedata = session_data.pagestore.loadPage(docName); const pagedata = session_data.pagestore.loadPage(docName);
var description = request_headers.query.docDesc const description = request_headers.query.docDesc
var showtitle = request_headers.query.hideTitle const showtitle = request_headers.query.hideTitle
session_data.pagestore.editMetadata(docTitle, description, showtitle, docName); session_data.pagestore.editMetadata(docTitle, description, showtitle, docName);
headers = `300 OK headers = `300 OK

View File

@@ -1,10 +1,10 @@
minisrv_service_file = true; const minisrv_service_file = true;
request_is_async = true; request_is_async = true;
function addToScrapbook(id, contentType, data) { function addToScrapbook(id, contentType, data) {
var result = session_data.addToScrapbook(id, contentType, data); const result = session_data.addToScrapbook(id, contentType, data);
if (result) { if (result) {
var successScrapbook = new clientShowAlert({ const successScrapbook = new clientShowAlert({
'image': minisrv_config.config.service_logo, 'image': minisrv_config.config.service_logo,
'message': "The image has been added to your scrapbook. Would you like to view your scrapbook now?", 'message': "The image has been added to your scrapbook. Would you like to view your scrapbook now?",
'buttonlabel1': "No", 'buttonlabel1': "No",
@@ -12,8 +12,8 @@ function addToScrapbook(id, contentType, data) {
'buttonlabel2': "Yes", 'buttonlabel2': "Yes",
'buttonaction2': "wtv-author:/scrapbook", 'buttonaction2': "wtv-author:/scrapbook",
}) })
var files = session_data.listScrapbook(); const files = session_data.listScrapbook();
var pageNum = Math.ceil(files.length / 6); const pageNum = Math.ceil(files.length / 6);
if (pageNum > 1) { if (pageNum > 1) {
successScrapbook.buttonaction2 += '?pageNum=' + pageNum; successScrapbook.buttonaction2 += '?pageNum=' + pageNum;
} }
@@ -24,18 +24,18 @@ function addToScrapbook(id, contentType, data) {
} }
function handleError(reason) { function handleError(reason) {
var errpage = wtvshared.doErrorPage(400, reason); const errpage = wtvshared.doErrorPage(400, reason);
sendToClient(socket, errpage[0], errpage[1]); sendToClient(socket, errpage[0], errpage[1]);
} }
if (!request_headers.query.mediaData && !request_headers.query.mediaPath) { if (!request_headers.query.mediaData && !request_headers.query.mediaPath) {
var errpage = wtvshared.doErrorPage(400, "Bad Request", "Missing mediaData or mediaPath parameter."); const errpage = wtvshared.doErrorPage(400, "Bad Request", "Missing mediaData or mediaPath parameter.");
headers = errpage[0]; headers = errpage[0];
data = errpage[1]; data = errpage[1];
} else { } else {
const id = session_data.getFreeScrapbookID(); const id = session_data.getFreeScrapbookID();
if (request_headers.query.mediaPath) { if (request_headers.query.mediaPath) {
if (!request_headers.query.confirm) { if (!request_headers.query.confirm) {
var confirmScrapbook = new clientShowAlert({ const confirmScrapbook = new clientShowAlert({
'image': minisrv_config.config.service_logo, 'image': minisrv_config.config.service_logo,
'message': "You are about to add an image to your scrapbook.<br><br>Do you wish to continue?", 'message': "You are about to add an image to your scrapbook.<br><br>Do you wish to continue?",
'buttonlabel1': "Continue", 'buttonlabel1': "Continue",
@@ -126,7 +126,7 @@ if (!request_headers.query.mediaData && !request_headers.query.mediaPath) {
} }
} }
} else { } else {
var result = session_data.addToScrapbook(id, "image/jpg", request_headers.query.mediaData); const result = session_data.addToScrapbook(id, "image/jpg", request_headers.query.mediaData);
if (result) { if (result) {
headers = `300 OK headers = `300 OK
Content-Type: text/html Content-Type: text/html

View File

@@ -1,9 +1,9 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var files = session_data.listScrapbook(); const files = session_data.listScrapbook();
var dir = session_data.scrapbookDir() const dir = session_data.scrapbookDir()
var pageNum = parseInt(request_headers.query.pageNum || 1); const pageNum = parseInt(request_headers.query.pageNum || 1);
var start = (pageNum - 1) * 6; const start = (pageNum - 1) * 6;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive
@@ -212,7 +212,7 @@ if (files.length > 0) {
<tr> <tr>
` `
for (let i = start; i < Math.min(files.length, start + 6); i++) { for (let i = start; i < Math.min(files.length, start + 6); i++) {
url = "wtv-tricks:/view-scrapbook-image?id=" + files[i]; let url = "wtv-tricks:/view-scrapbook-image?id=" + files[i];
if (request_headers.query.addMediaURL) { if (request_headers.query.addMediaURL) {
url = decodeURIComponent(request_headers.query.addMediaURL) + "&scrapbookID=" + files[i]; url = decodeURIComponent(request_headers.query.addMediaURL) + "&scrapbookID=" + files[i];
} }

View File

@@ -1,9 +1,9 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
var page = session_data.pagestore.loadPage(docName); const page = session_data.pagestore.loadPage(docName);
var numOfBlocks = page.blocks.length const numOfBlocks = page.blocks.length
var style = page.style.replace ('_', ' ') const style = page.style.replace ('_', ' ')
console.log(numOfBlocks) console.log(numOfBlocks)
headers = `200 OK headers = `200 OK

View File

@@ -1,12 +1,12 @@
var minisrv_service_file = true; const minisrv_service_file = true;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive
Content-Type: text/html`; Content-Type: text/html`;
var styleName = request_headers.query.styleName; const styleName = request_headers.query.styleName;
var page = (request_headers.query.pageNum) ? parseInt(request_headers.query.pageNum) : 0 let page = (request_headers.query.pageNum) ? parseInt(request_headers.query.pageNum) : 0
var docName = request_headers.query.docName; const docName = request_headers.query.docName;
const pages = [ const pages = [
[ [
@@ -144,7 +144,7 @@ ${(styleName) ? `<font color=AEBFD1> Your current style is: <b>${styleName}</b>
<tr> <tr>
`; `;
for (i=0;i<currentPage.length;i++) { for (let i = 0; i < currentPage.length; i++) {
if (i % 3 === 0) data += `<tr>` if (i % 3 === 0) data += `<tr>`
data += ` data += `
<td> <td>

View File

@@ -1,4 +1,4 @@
var minisrv_service_file = true; const minisrv_service_file = true;
headers = `302 Moved headers = `302 Moved
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,4 +1,4 @@
minisrv_service_file = true; const minisrv_service_file = true;
headers = `300 OK headers = `300 OK
Content-Type: text/html Content-Type: text/html
Location: wtv-author:/documents Location: wtv-author:/documents

View File

@@ -1,38 +1,41 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var request_is_async = true;
var max_redirects = 3; request_is_async = true;
var redirects = 0;
const max_redirects = 3;
let redirects = 0;
function hex_to_ascii(POST) function hex_to_ascii(POST)
{ {
var hex = POST.toString(); const hex = POST.toString();
var str = ''; let str = '';
for (var n = 0; n < hex.length; n += 2) { for (let n = 0; n < hex.length; n += 2) {
str += String.fromCharCode(parseInt(hex.substr(n, 2), 16)); str += String.fromCharCode(parseInt(hex.slice(n, n + 2), 16));
} }
return str; return str;
} }
let POST, image;
if (request_headers.post_data) { if (request_headers.post_data) {
var POST = request_headers.post_data; POST = request_headers.post_data;
var image = hex_to_ascii(POST); image = hex_to_ascii(POST);
} }
function getTitle(url) { function getTitle(url) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var page_title = "Web Page"; let page_title = "Web Page";
var request_type = (url.substring(0, 5) == "https") ? "https" : "http"; const request_type = (url.slice(0, 5) == "https") ? "https" : "http";
var proxy_agent = null; let proxy_agent = null;
switch (request_type) { switch (request_type) {
case "https": case "https":
var proxy_agent = require('https'); proxy_agent = require('https');
break; break;
case "http": case "http":
var proxy_agent = require('http');; proxy_agent = require('http');;
break; break;
} }
if (proxy_agent) { if (proxy_agent) {
var options = { const options = {
method: 'GET' method: 'GET'
} }
const request = proxy_agent.get(url, options, (response) => { const request = proxy_agent.get(url, options, (response) => {
@@ -47,7 +50,7 @@ function getTitle(url) {
}); });
response.on('end', () => { response.on('end', () => {
let match = req_data.match(/<title>([^<]*)<\/title>/) // regular expression to parse contents of the <title> tag const match = req_data.match(/<title>([^<]*)<\/title>/) // regular expression to parse contents of the <title> tag
if (match && typeof match[1] === 'string') page_title = match[1]; if (match && typeof match[1] === 'string') page_title = match[1];
resolve(page_title); resolve(page_title);
}); });
@@ -62,20 +65,20 @@ function getTitle(url) {
} }
async function saveFavorite(favstore, title, folder, imagetype, favurl) { async function saveFavorite(favstore, title, folder, imagetype, favurl) {
var headers, data = ''; let headers, data = '';
if (!favstore.favstoreExists()) { if (!favstore.favstoreExists()) {
// create favstore if the user hasn't already navigated to favorites // create favstore if the user hasn't already navigated to favorites
favstore.createFavstore(); favstore.createFavstore();
} }
if (favstore.favstoreExists()) { if (favstore.favstoreExists()) {
var default_folder = "Personal"; // default to "Personal" const default_folder = "Personal"; // default to "Personal"
var favoritenum = 0; let favoritenum = 0;
if (!folder) folder = default_folder; if (!folder) folder = default_folder;
if (!favstore.folderExists(folder)) { if (!favstore.folderExists(folder)) {
// user did not define a folder, and the default folder does not exist // user did not define a folder, and the default folder does not exist
// so choose the user's first available folder // so choose the user's first available folder
var favfolders = favstore.getFolders(); const favfolders = favstore.getFolders();
if (favfolders.length > 0) folder = favfolders[0]; if (favfolders.length > 0) folder = favfolders[0];
} }
if (!folder) { if (!folder) {
@@ -84,7 +87,7 @@ async function saveFavorite(favstore, title, folder, imagetype, favurl) {
favstore.createTemplateFolder(folder); favstore.createTemplateFolder(folder);
} }
var favarray = favstore.listFavorites(folder); const favarray = favstore.listFavorites(folder);
favoritenum = Object.keys(favarray).length; favoritenum = Object.keys(favarray).length;
@@ -108,12 +111,12 @@ async function saveFavorite(favstore, title, folder, imagetype, favurl) {
headers = `400 You can only have ${minisrv_config.services[service_name].max_favorites_per_folder} favorites in a folder. Discard some favorites or choose a different folder, then try again.` headers = `400 You can only have ${minisrv_config.services[service_name].max_favorites_per_folder} favorites in a folder. Discard some favorites or choose a different folder, then try again.`
} else { } else {
var createresult = favstore.createFavorite(title, favurl, folder, image, imagetype); const createresult = favstore.createFavorite(title, favurl, folder, image, imagetype);
if (!createresult) { // true if fail if (!createresult) { // true if fail
headers = `200 OK headers = `200 OK
wtv-expire: wtv-favorite:/serve-browser?favorite_folder_name=${folder}` wtv-expire: wtv-favorite:/serve-browser?favorite_folder_name=${folder}`
} else { } else {
var err = wtvshared.doErrorPage(500); const err = wtvshared.doErrorPage(500);
headers = err[0]; headers = err[0];
data = err[1]; data = err[1];
} }
@@ -121,7 +124,7 @@ wtv-expire: wtv-favorite:/serve-browser?favorite_folder_name=${folder}`
sendToClient(socket, headers, data); sendToClient(socket, headers, data);
} }
} else { } else {
var err = wtvshared.doErrorPage(500); const err = wtvshared.doErrorPage(500);
headers = err[0]; headers = err[0];
data = err[1]; data = err[1];
sendToClient(socket, headers, data); sendToClient(socket, headers, data);
@@ -129,10 +132,10 @@ wtv-expire: wtv-favorite:/serve-browser?favorite_folder_name=${folder}`
} }
var title = request_headers.query['favorite-title']; const title = request_headers.query['favorite-title'];
var folder = request_headers.query['favorite-category']; let folder = request_headers.query['favorite-category'];
if (folder) folder = folder.replaceAll("+", " ") if (folder) folder = folder.replaceAll("+", " ")
var imagetype = request_headers.query['favorite-thumbnail-type'] const imagetype = request_headers.query['favorite-thumbnail-type']
var favurl = request_headers.query['favorite-url']; const favurl = request_headers.query['favorite-url'];
saveFavorite(session_data.favstore, title, folder, imagetype, favurl); saveFavorite(session_data.favstore, title, folder, imagetype, favurl);

View File

@@ -1,15 +1,15 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var foldername = request_headers.query.new_folder_name; const foldername = request_headers.query.new_folder_name;
var favstore_exists = session_data.favstore.favstoreExists(); const favstore_exists = session_data.favstore.favstoreExists();
var valid_foldername = session_data.favstore.checkFolderName(foldername); const valid_foldername = session_data.favstore.checkFolderName(foldername);
if (!valid_foldername) { if (!valid_foldername) {
headers = `400 That folder name is not valid. Choose a different name and try again.` headers = `400 That folder name is not valid. Choose a different name and try again.`
} else { } else {
var folder_exists = session_data.favstore.folderExists(foldername); const folder_exists = session_data.favstore.folderExists(foldername);
var folder_array = session_data.favstore.getFolders(); const folder_array = session_data.favstore.getFolders();
if (foldername) { if (foldername) {
if (favstore_exists === false) if (favstore_exists === false)

View File

@@ -1,9 +1,8 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var with_pictures = request_headers.query.with_pictures const with_pictures = request_headers.query.with_pictures
if (with_pictures = "on") if (with_pictures === "on") {
{
session_data.setSessionData("subscriber_fav_images", true) session_data.setSessionData("subscriber_fav_images", true)
} else { } else {
session_data.setSessionData("subscriber_fav_images", false) session_data.setSessionData("subscriber_fav_images", false)

View File

@@ -1,14 +1,13 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var errpage; let errpage;
var query = request_headers.query const query = request_headers.query
var discardAll = request_headers.query.DiscardAll const discardAll = request_headers.query.DiscardAll
let strName;
if (discardAll != "Discard All") if (discardAll != "Discard All")
{ {
var strName, strValue ;
for(strName in query) for(strName in query)
{ {
if (strName != "favorite_folder_name") if (strName != "favorite_folder_name")
@@ -17,7 +16,8 @@ for(strName in query)
strName = strName.replaceAll("+", " "); strName = strName.replaceAll("+", " ");
} }
var folder = request_headers.query.favorite_folder_name;
const folder = request_headers.query.favorite_folder_name;
if (request_headers.query.ForwardToBrowser) if (request_headers.query.ForwardToBrowser)
{ {
headers = `300 OK headers = `300 OK
@@ -25,26 +25,24 @@ Connection: Keep-Alive
Content-Type: text/html Content-Type: text/html
Location: wtv-favorite:/serve-browser?favorite_folder_name=${folder}` Location: wtv-favorite:/serve-browser?favorite_folder_name=${folder}`
} else if (strName != "getCaseInsensitiveKey") { } else if (strName != "getCaseInsensitiveKey") {
var favorite = session_data.favstore.getFavorite(folder, strName); const favorite = session_data.favstore.getFavorite(folder, strName);
if (errpage) { if (errpage) {
headers = errpage[0]; headers = errpage[0];
data = errpage[1]; data = errpage[1];
} else { } else {
if (!request_headers.query.confirm_remove) { if (!request_headers.query.confirm_remove) {
let message, removeurl;
if (discardAll == "Discard All") if (discardAll == "Discard All")
{ {
var message = `Are you sure you want to discard all favorites in this folder?`; message = `Are you sure you want to discard all favorites in this folder?`;
var removeurl = request_headers.request_url; removeurl = request_headers.request_url + "&confirm_remove=true&DiscardAll=Discard All";
removeurl += "&confirm_remove=true&DiscardAll=Discard All";
} else { } else {
var message = `Are you sure you want to discard <b>${favorite.title}</b>?`; message = `Are you sure you want to discard <b>${favorite.title}</b>?`;
var removeurl = request_headers.request_url; removeurl = request_headers.request_url + "&confirm_remove=true";
removeurl += "&confirm_remove=true";
} }
const confirmAlert = new clientShowAlert({
var confirmAlert = new clientShowAlert({
'message': message, 'message': message,
'buttonlabel1': "Don't Remove", 'buttonlabel1': "Don't Remove",
'buttonaction1': "client:donothing", 'buttonaction1': "client:donothing",
@@ -59,7 +57,7 @@ wtv-expire-all: wtv-favorite:
Location: ${confirmAlert}` Location: ${confirmAlert}`
} else { } else {
var gourl = `wtv-favorite:/serve-discard-favorites?favorite_folder_name=${folder}`; const gourl = `wtv-favorite:/serve-discard-favorites?favorite_folder_name=${folder}`;
if (discardAll == "Discard All") if (discardAll == "Discard All")
{ {
session_data.favstore.clearFolder(folder); session_data.favstore.clearFolder(folder);

View File

@@ -1,18 +1,17 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var errpage; let errpage;
var query = request_headers.query const query = request_headers.query
var folder_array = session_data.favstore.getFolders(); const folder_array = session_data.favstore.getFolders();
var totalfavorites = folder_array.length; const totalfolders = folder_array.length;
let folder;
var strName, strValue ; Object.entries(query).forEach(([key, value]) => {
if (value === "Remove") {
for(strName in query) folder = key;
{ return;
break;
} }
});
strName = strName.replaceAll("+", " ");
if (request_headers.query.ForwardToFolders) if (request_headers.query.ForwardToFolders)
{ {
@@ -20,12 +19,11 @@ if (request_headers.query.ForwardToFolders)
Connection: Keep-Alive Connection: Keep-Alive
Content-Type: text/html Content-Type: text/html
Location: wtv-favorite:/favorite` Location: wtv-favorite:/favorite`
} else if (strName != "getCaseInsensitiveKey") { } else {
var folder = session_data.favstore.getFolders(); const folderdata = session_data.favstore.listFavorites(folder);
var folderdata = session_data.favstore.listFavorites(strName); const numoffavorites = Object.keys(folderdata).length;
var numoffavorites = Object.keys(folderdata).length;
if (totalfavorites == 1) { if (totalfolders === 1) {
errpage = wtvshared.doErrorPage(400, "You cannot remove your last folder."); errpage = wtvshared.doErrorPage(400, "You cannot remove your last folder.");
} }
@@ -34,16 +32,16 @@ if (errpage) {
data = errpage[1]; data = errpage[1];
} else { } else {
if (!request_headers.query.confirm_remove) { if (!request_headers.query.confirm_remove) {
var message = ''; let message = '';
if (numoffavorites == 0) { if (numoffavorites == 0) {
message = `Are you sure you want to remove <b>${strName}</b>?`; message = `Are you sure you want to remove <b>${folder}</b>?`;
} else { } else {
message = `Removing <b>${strName}</b> will also remove the ${numoffavorites} favorites it contains.`; message = `Removing <b>${folder}</b> will also remove the ${numoffavorites} favorites it contains.`;
} }
var removeurl = request_headers.request_url; let removeurl = request_headers.request_url;
removeurl += "&confirm_remove=true"; removeurl += "&confirm_remove=true";
var confirmAlert = new clientShowAlert({ const confirmAlert = new clientShowAlert({
'message': message, 'message': message,
'buttonlabel1': "Don't Remove", 'buttonlabel1': "Don't Remove",
'buttonaction1': "client:donothing", 'buttonaction1': "client:donothing",
@@ -58,8 +56,8 @@ wtv-expire-all: wtv-favorite:
Location: ${confirmAlert}` Location: ${confirmAlert}`
} else { } else {
var gourl = "wtv-favorite:/serve-discard-folders"; const gourl = "wtv-favorite:/serve-discard-folders";
session_data.favstore.deleteFolder(strName); session_data.favstore.deleteFolder(folder);
headers = `300 OK headers = `300 OK
Connection: Keep-Alive Connection: Keep-Alive
@@ -68,9 +66,4 @@ wtv-expire-all: wtv-favorite:
Location: ${gourl}` Location: ${gourl}`
} }
} }
} else {
headers = `300 OK
Connection: Keep-Alive
Content-Type: text/html
Location: wtv-favorite:/serve-discard-folders`
} }

View File

@@ -1,24 +1,24 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; let favoritenum = 0;
var folder = request_headers.query.favorite_folder_name || null; const folder = request_headers.query.favorite_folder_name || null;
var favarray = session_data.favstore.listFavorites(folder); const favarray = session_data.favstore.listFavorites(folder);
var error_occured = false; let error_occured = false;
if (!folder) error_occured = true; if (!folder) error_occured = true;
else { else {
favoritenum = Object.keys(favarray).length; favoritenum = Object.keys(favarray).length;
if (typeof request_headers.query.favoriteid === 'string') { if (typeof request_headers.query.favoriteid === 'string') {
// one favorite // one favorite
var favid = request_headers.query.favoriteid; const favid = request_headers.query.favoriteid;
var favfolder = request_headers.query.favoritefolder; const favfolder = request_headers.query.favoritefolder;
if (folder != favfolder) session_data.favstore.moveFavorite(folder, favfolder, favid); if (folder != favfolder) session_data.favstore.moveFavorite(folder, favfolder, favid);
} else { } else {
if (request_headers.query.favoriteid.length == request_headers.query.favoritefolder.length) { if (request_headers.query.favoriteid.length == request_headers.query.favoritefolder.length) {
// both queries should have the same number of entries // both queries should have the same number of entries
Object.keys(request_headers.query.favoriteid).forEach(function (k) { Object.keys(request_headers.query.favoriteid).forEach(function (k) {
var favid = request_headers.query.favoriteid[k]; const favid = request_headers.query.favoriteid[k];
var favfolder = request_headers.query.favoritefolder[k]; const favfolder = request_headers.query.favoritefolder[k];
if (folder != favfolder) session_data.favstore.moveFavorite(folder, favfolder, favid); if (folder != favfolder) session_data.favstore.moveFavorite(folder, favfolder, favid);
}) })
} else { } else {
@@ -27,7 +27,7 @@ else {
} }
if (!error_occured) { if (!error_occured) {
var gourl = `wtv-favorite:/serve-browser?favorite_folder_name=${folder}`; const gourl = `wtv-favorite:/serve-browser?favorite_folder_name=${folder}`;
headers = `300 OK headers = `300 OK
Connection: Keep-Alive Connection: Keep-Alive
@@ -35,7 +35,7 @@ Content-Type: text/html
wtv-expire-all: wtv-favorite: wtv-expire-all: wtv-favorite:
Location: ${gourl}` Location: ${gourl}`
} else { } else {
var err = doErrorPage(500); const err = wtvshared.doErrorPage(500);
headers = err[0]; headers = err[0];
data = err[1]; data = err[1];
} }

View File

@@ -1,90 +1,91 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; let favoritenum = 0;
var folder = request_headers.query.favorite_folder_name; const folder = request_headers.query.favorite_folder_name;
var favarray = session_data.favstore.listFavorites(folder); const favarray = session_data.favstore.listFavorites(folder);
favoritenum = Object.keys(favarray).length; favoritenum = Object.keys(favarray).length;
let favid, favname;
for (let i = 0; i < favoritenum; i++) { for (let i = 0; i < favoritenum; i++) {
switch(i) { switch(i) {
case 0: case 0:
var favid = request_headers.query.favorite0id; favid = request_headers.query.favorite0id;
var favname = request_headers.query.favorite0name; favname = request_headers.query.favorite0name;
break; break;
case 1: case 1:
var favid = request_headers.query.favorite1id; favid = request_headers.query.favorite1id;
var favname = request_headers.query.favorite1name; favname = request_headers.query.favorite1name;
break; break;
case 2: case 2:
var favid = request_headers.query.favorite2id; favid = request_headers.query.favorite2id;
var favname = request_headers.query.favorite2name; favname = request_headers.query.favorite2name;
break; break;
case 3: case 3:
var favid = request_headers.query.favorite3id; favid = request_headers.query.favorite3id;
var favname = request_headers.query.favorite3name; favname = request_headers.query.favorite3name;
break; break;
case 4: case 4:
var favid = request_headers.query.favorite4id; favid = request_headers.query.favorite4id;
var favname = request_headers.query.favorite4name; favname = request_headers.query.favorite4name;
break; break;
case 5: case 5:
var favid = request_headers.query.favorite5id; favid = request_headers.query.favorite5id;
var favname = request_headers.query.favorite5name; favname = request_headers.query.favorite5name;
break; break;
case 6: case 6:
var favid = request_headers.query.favorite6id; favid = request_headers.query.favorite6id;
var favname = request_headers.query.favorite6name; favname = request_headers.query.favorite6name;
break; break;
case 7: case 7:
var favid = request_headers.query.favorite7id; favid = request_headers.query.favorite7id;
var favname = request_headers.query.favorite7name; favname = request_headers.query.favorite7name;
break; break;
case 8: case 8:
var favid = request_headers.query.favorite8id; favid = request_headers.query.favorite8id;
var favname = request_headers.query.favorite8name; favname = request_headers.query.favorite8name;
break; break;
case 9: case 9:
var favid = request_headers.query.favorite9id; favid = request_headers.query.favorite9id;
var favname = request_headers.query.favorite9name; favname = request_headers.query.favorite9name;
break; break;
case 10: case 10:
var favid = request_headers.query.favorite10id; favid = request_headers.query.favorite10id;
var favname = request_headers.query.favorite10name; favname = request_headers.query.favorite10name;
break; break;
case 11: case 11:
var favid = request_headers.query.favorite11id; favid = request_headers.query.favorite11id;
var favname = request_headers.query.favorite11name; favname = request_headers.query.favorite11name;
break; break;
case 12: case 12:
var favid = request_headers.query.favorite12id; favid = request_headers.query.favorite12id;
var favname = request_headers.query.favorite12name; favname = request_headers.query.favorite12name;
break; break;
case 13: case 13:
var favid = request_headers.query.favorite13id; favid = request_headers.query.favorite13id;
var favname = request_headers.query.favorite13name; favname = request_headers.query.favorite13name;
break; break;
case 14: case 14:
var favid = request_headers.query.favorite14id; favid = request_headers.query.favorite14id;
var favname = request_headers.query.favorite14name; favname = request_headers.query.favorite14name;
break; break;
case 15: case 15:
var favid = request_headers.query.favorite15id; favid = request_headers.query.favorite15id;
var favname = request_headers.query.favorite15name; favname = request_headers.query.favorite15name;
break; break;
case 16: case 16:
var favid = request_headers.query.favorite16id; favid = request_headers.query.favorite16id;
var favname = request_headers.query.favorite16name; favname = request_headers.query.favorite16name;
break; break;
case 17: case 17:
var favid = request_headers.query.favorite17id; favid = request_headers.query.favorite17id;
var favname = request_headers.query.favorite17name; favname = request_headers.query.favorite17name;
break; break;
} }
session_data.favstore.changeFavoriteName(favid, folder, favname); session_data.favstore.changeFavoriteName(favid, folder, favname);
} }
var gourl = `wtv-favorite:/serve-browser?favorite_folder_name=${folder}`; const gourl = `wtv-favorite:/serve-browser?favorite_folder_name=${folder}`;
headers = `300 OK headers = `300 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,14 +1,14 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var totalfavorites = 0; let totalfavorites = 0;
var createFun = request_headers.query.Fun; const createFun = request_headers.query.Fun;
var createMoney = request_headers.query.Money; const createMoney = request_headers.query.Money;
var createMovies = request_headers.query.Movies; const createMovies = request_headers.query.Movies;
var createNews = request_headers.query.News; const createNews = request_headers.query.News;
var createRecommended = request_headers.query.Recommended; const createRecommended = request_headers.query.Recommended;
var createReference = request_headers.query.Reference; const createReference = request_headers.query.Reference;
var folder_array = session_data.favstore.getFolders(); const folder_array = session_data.favstore.getFolders();
totalfavorites = folder_array.length; totalfavorites = folder_array.length;
if (totalfavorites < 14) if (totalfavorites < 14)

View File

@@ -1,8 +1,8 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var folder = request_headers.query.favorite_folder_name; const folder = request_headers.query.favorite_folder_name;
var key = request_headers.query.Choose; const key = request_headers.query.Choose;
var id = request_headers.query.favoriteid; const id = request_headers.query.favoriteid;
session_data.favstore.updateShortcutKey("none", key, folder, id); session_data.favstore.updateShortcutKey("none", key, folder, id);

View File

@@ -1,6 +1,6 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favstore_exists = session_data.favstore.favstoreExists(); const favstore_exists = session_data.favstore.favstoreExists();
if (favstore_exists != true) if (favstore_exists != true)
{ {
@@ -9,14 +9,14 @@ if (favstore_exists != true)
Location: wtv-favorite:/favorite` Location: wtv-favorite:/favorite`
} else { } else {
var folder_array = session_data.favstore.getFolders(); const folder_array = session_data.favstore.getFolders();
var url = request_headers.request; const url = request_headers.request;
var key = url.split('?')[1] const key = url.split('?')[1]
var scfav = session_data.favstore.getShortcutKey(key); const scfav = session_data.favstore.getShortcutKey(key);
if (!scfav.id || scfav.id == "none") { if (!scfav.id || scfav.id == "none") {
headers = `400 You have not assigned a favorite to ${key}` headers = `400 You have not assigned a favorite to ${key}`
} else { } else {
var fav = session_data.favstore.getFavorite(scfav.folder, scfav.id); const fav = session_data.favstore.getFavorite(scfav.folder, scfav.id);
headers = `300 OK headers = `300 OK
Content-Type: text/html Content-Type: text/html
Location: ${fav.url}` Location: ${fav.url}`

View File

@@ -1,6 +1,6 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favstore_exists = session_data.favstore.favstoreExists(); const favstore_exists = session_data.favstore.favstoreExists();
if (favstore_exists != true) if (favstore_exists != true)
{ {
@@ -9,9 +9,9 @@ if (favstore_exists != true)
Location: wtv-favorite:/favorite` Location: wtv-favorite:/favorite`
} else { } else {
var folder_array = session_data.favstore.getFolders(); const folder_array = session_data.favstore.getFolders();
var totalfavorites = folder_array.length; const totalfavorites = folder_array.length;
var stopdrawing = false; const stopdrawing = false;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive
@@ -148,7 +148,7 @@ for ${session_data.getSessionData("subscriber_username") || "You"}
</font> </font>
</td><td width="20"> </td><td width="20">
</td></tr></table>` </td></tr></table>`
var kval = 0; let kval = 0;
// process evens // process evens
Object.keys(folder_array).forEach(function (k) { Object.keys(folder_array).forEach(function (k) {
if (k == 0) return; // skip 0 since it was processed above if (k == 0) return; // skip 0 since it was processed above

View File

@@ -1,10 +1,10 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var errpage = null; let errpage = null;
var id = request_headers.query.id; const id = request_headers.query.id;
var folder = request_headers.query.folder; const folder = request_headers.query.folder;
var favorite = session_data.favstore.getFavorite(folder, id); const favorite = session_data.favstore.getFavorite(folder, id);
if (!favorite) errpage = wtvshared.doErrorPage(400, "Invalid favorite ID"); if (!favorite) errpage = wtvshared.doErrorPage(400, "Invalid favorite ID");

View File

@@ -1,14 +1,12 @@
var minisrv_service_file = true; const minisrv_service_file = true;
const favstore_exists = session_data.favstore.favstoreExists();
var favstore_exists = session_data.favstore.favstoreExists(); if (favstore_exists !== true) {
if (favstore_exists != true)
{
session_data.favstore.createFavstore(); session_data.favstore.createFavstore();
} }
var folder_array = session_data.favstore.getFolders(); const folder_array = session_data.favstore.getFolders();
var data = ""; data = "";
for (let i = 0; i < folder_array.length; i++) data += folder_array[i] + "\0"; for (let i = 0; i < folder_array.length; i++) data += folder_array[i] + "\0";

View File

@@ -1,4 +1,4 @@
var minisrv_service_file = true; const minisrv_service_file = true;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,16 +1,12 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; let favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name; const foldername = request_headers.query.favorite_folder_name;
const favarray = session_data.favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername); const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
var folder_array = session_data.favstore.getFolders(); const numoffolders = folder_array.length;
var folderid = folder_array.indexOf(foldername);
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length; favoritenum = Object.keys(favarray).length;

View File

@@ -1,18 +1,11 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; const foldername = request_headers.query.favorite_folder_name;
const favarray = session_data.favstore.listFavorites(foldername);
var foldername = request_headers.query.favorite_folder_name; const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
var favarray = session_data.favstore.listFavorites(foldername); const numoffolders = folder_array.length;
const favoritenum = Object.keys(favarray).length;
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive
@@ -210,7 +203,7 @@ if (folderid !== numoffolders - 1)
// favorite loop // favorite loop
Object.keys(favarray).forEach(function (k) { Object.keys(favarray).forEach(function (k) {
var url = decodeURIComponent(favarray[k].url); const url = decodeURIComponent(favarray[k].url);
data += `</td><td abswidth="139" valign="top"> data += `</td><td abswidth="139" valign="top">
<table href="${url}" bgcolor="191919"> <table href="${url}" bgcolor="191919">
<tbody><tr><td abswidth="139" align="center">`; <tbody><tr><td abswidth="139" align="center">`;

View File

@@ -1,22 +1,13 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; const foldername = request_headers.query.favorite_folder_name;
const favarray = session_data.favstore.listFavorites(foldername);
var foldername = request_headers.query.favorite_folder_name; const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
var favarray = session_data.favstore.listFavorites(foldername); const favid = request_headers.query.favoriteid;
const numoffolders = folder_array.length;
var folder_array = session_data.favstore.getFolders(); const favoritenum = Object.keys(favarray).length;
const favoritedata = session_data.favstore.getFavorite(foldername, favid);
var folderid = folder_array.indexOf(foldername);
var favid = request_headers.query.favoriteid;
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
var favoritedata = session_data.favstore.getFavorite(foldername, favid);
headers = `200 OK headers = `200 OK
@@ -117,14 +108,14 @@ Choose a shortcut label for <b>${favoritedata.title}</b>, then choose <b>Done</b
<tbody><tr><td width="13"> <tbody><tr><td width="13">
</td><td> </td><td>
<form action="wtv-favorite:/commit-shortcuts-favorites">` <form action="wtv-favorite:/commit-shortcuts-favorites">`
let fav;
for (var i = 1; i <= 8; i++) { for (let i = 1; i <= 8; i++) {
var key = "F" + i; const key = "F" + i;
var scfav = session_data.favstore.getShortcutKey(key); const scfav = session_data.favstore.getShortcutKey(key);
if (scfav && scfav.id != "none") { if (scfav && scfav.id != "none") {
var fav = session_data.favstore.getFavorite(scfav.folder, scfav.id); fav = session_data.favstore.getFavorite(scfav.folder, scfav.id);
} else { } else {
var fav = { image: "wtv-home:/ROMCache/Spacer.gif", title: "Not assigned" }; fav = { image: "wtv-home:/ROMCache/Spacer.gif", title: "Not assigned" };
} }
data += ` data += `

View File

@@ -1,18 +1,11 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; const foldername = request_headers.query.favorite_folder_name;
const favarray = session_data.favstore.listFavorites(foldername);
var foldername = request_headers.query.favorite_folder_name; const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
var favarray = session_data.favstore.listFavorites(foldername); const numoffolders = folder_array.length;
const favoritenum = Object.keys(favarray).length;
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
headers = `200 OK headers = `200 OK

View File

@@ -1,7 +1,7 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var folder_array = session_data.favstore.getFolders(); const folder_array = session_data.favstore.getFolders();
var totalfavorites = folder_array.length; const totalfavorites = folder_array.length;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,22 +1,14 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; const foldername = request_headers.query.favorite_folder_name;
var foldernum = 0; const favarray = session_data.favstore.listFavorites(foldername);
const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
const numoffolders = folder_array.length;
const favoritenum = Object.keys(favarray).length;
const foldernum = folder_array.length;
var foldername = request_headers.query.favorite_folder_name; let folderlist = `<select name="newfolder" width=140>
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
foldernum = folder_array.length;
var folderlist = `<select name="newfolder" width=140>
<option value="${foldername}" selected="">${foldername}</option> <option value="${foldername}" selected="">${foldername}</option>
` `
for (let i = 0; i < foldernum; i++) { for (let i = 0; i < foldernum; i++) {

View File

@@ -1,18 +1,11 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; const foldername = request_headers.query.favorite_folder_name;
const favarray = session_data.favstore.listFavorites(foldername);
var foldername = request_headers.query.favorite_folder_name; const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
var favarray = session_data.favstore.listFavorites(foldername); const numoffolders = folder_array.length;
const favoritenum = Object.keys(favarray).length;
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
headers = `200 OK headers = `200 OK

View File

@@ -1,18 +1,11 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; const foldername = request_headers.query.favorite_folder_name;
const favarray = session_data.favstore.listFavorites(foldername);
var foldername = request_headers.query.favorite_folder_name; const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
var favarray = session_data.favstore.listFavorites(foldername); const numoffolders = folder_array.length;
const favoritenum = Object.keys(favarray).length;
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
headers = `200 OK headers = `200 OK

View File

@@ -1,4 +1,4 @@
var minisrv_service_file = true; const minisrv_service_file = true;
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive

View File

@@ -1,4 +1,4 @@
var minisrv_service_file = true; const minisrv_service_file = true;
headers = `200 OK headers = `200 OK
Content-Type: text/html` Content-Type: text/html`
@@ -73,14 +73,14 @@ Keyboard shortcut list
</td></tr><tr> </td></tr><tr>
<td width="4" height="14"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1"> <td width="4" height="14"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
</td></tr></tbody></table>` </td></tr></tbody></table>`
let fav;
for (var i = 1; i <= 8; i++) { for (let i = 1; i <= 8; i++) {
var key = "F" + i; const key = "F" + i;
var scfav = session_data.favstore.getShortcutKey(key); const scfav = session_data.favstore.getShortcutKey(key);
if (scfav && scfav.id != "none") { if (scfav && scfav.id != "none") {
var fav = session_data.favstore.getFavorite(scfav.folder, scfav.id); fav = session_data.favstore.getFavorite(scfav.folder, scfav.id);
} else { } else {
var fav = { image: "wtv-home:/ROMCache/Spacer.gif", title: "Not assigned" }; fav = { image: "wtv-home:/ROMCache/Spacer.gif", title: "Not assigned" };
} }
data += ` data += `

View File

@@ -1,18 +1,11 @@
var minisrv_service_file = true; const minisrv_service_file = true;
var favoritenum = 0; const foldername = request_headers.query.favorite_folder_name;
const favarray = session_data.favstore.listFavorites(foldername);
var foldername = request_headers.query.favorite_folder_name; const folder_array = session_data.favstore.getFolders();
const folderid = folder_array.indexOf(foldername);
var favarray = session_data.favstore.listFavorites(foldername); const numoffolders = folder_array.length;
const favoritenum = Object.keys(favarray).length;
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
headers = `200 OK headers = `200 OK
@@ -164,7 +157,7 @@ ${favarray[i].title}<br>
<table absheight="38" href="wtv-favorite:/serve-choose-shortcut-favorites?favorite_folder_name=${foldername}&amp;favoriteid=${favarray[i].id}" width="53" cellspacing="0" cellpadding="0"> <table absheight="38" href="wtv-favorite:/serve-choose-shortcut-favorites?favorite_folder_name=${foldername}&amp;favoriteid=${favarray[i].id}" width="53" cellspacing="0" cellpadding="0">
<tbody><tr><td valign="middle" background="images/FKey.gif" absheight=38 align="center"> <tbody><tr><td valign="middle" background="images/FKey.gif" absheight=38 align="center">
` `
var scdata = session_data.favstore.isFavoriteAShortcut(favarray[i].id); const scdata = session_data.favstore.isFavoriteAShortcut(favarray[i].id);
if (scdata) { if (scdata) {
data += `<font size="-2" color="#F1F1F1">${scdata.key}</font>`; data += `<font size="-2" color="#F1F1F1">${scdata.key}</font>`;
} }

View File

@@ -233,7 +233,7 @@ class WTVFavorites {
const dir = this.getFolderDir(folder); const dir = this.getFolderDir(folder);
if (dir) { if (dir) {
try { try {
this.fs.rm(dir, { recursive: true }); this.fs.rmSync(dir, { recursive: true });
return true; return true;
} catch (e) { } catch (e) {
return false; return false;
@@ -252,9 +252,8 @@ class WTVFavorites {
} }
clearFolder(folder) { clearFolder(folder) {
const { readdirSync, rmSync } = require('fs');
const dir = this.getFolderDir(folder); const dir = this.getFolderDir(folder);
readdirSync(dir).forEach(f => rmSync(`${dir}${f}`)); this.fs.readdirSync(dir).forEach(f => this.fs.rmSync(`${dir}${f}`));
} }
updateFavorite(favoritedata, folder) { updateFavorite(favoritedata, folder) {

View File

@@ -157,7 +157,7 @@ function checkScopeErrors(file) {
eslintConfig.globals["wtvguide"] = "readonly"; eslintConfig.globals["wtvguide"] = "readonly";
} }
if (service.modules) { if (service && service.modules) {
for (const moduleName of service.modules) { for (const moduleName of service.modules) {
eslintConfig.globals[moduleName] = "readonly"; eslintConfig.globals[moduleName] = "readonly";
if (moduleName === "WTVNews") { if (moduleName === "WTVNews") {