From d3ac31c20d24dfc7b0e8f278bd960dc3b78565a5 Mon Sep 17 00:00:00 2001 From: echicken <echicken@bbs.electronicchicken.com> Date: Thu, 8 Dec 2016 15:34:10 -0500 Subject: [PATCH] If extended file description contains extended ascii or an escape sequence, run it through html_encode and put it in a pre block of the 'ansi' class, otherwise just put it in a plain pre (if it exists); people should update their exec/load/filebase.js to fix an extended-description loading bug. --- web/root/pages/002-files.ssjs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/web/root/pages/002-files.ssjs b/web/root/pages/002-files.ssjs index 299d05fc12..5d29f5411d 100644 --- a/web/root/pages/002-files.ssjs +++ b/web/root/pages/002-files.ssjs @@ -28,6 +28,13 @@ if (typeof http_request.query.dir !== 'undefined' && ); function writeFileDetails(file) { + if (typeof file.extdesc === 'undefined') { + file.extdesc = ''; + } else if (file.extdesc.search(/(\x1B\[|[\xA8-\xFE])/) > -1) { + file.extdesc = '<pre class="ansi">' + html_encode(file.extdesc, true, false, true, true) + '</pre>'; + } else { + file.extdesc = '<pre>' + file.extdesc + '</pre>'; + } writeln( format( '<a href="./api/files.ssjs?call=download-file&dir=%s&file=%s" target="_blank" class="list-group-item striped">' + @@ -36,13 +43,8 @@ if (typeof http_request.query.dir !== 'undefined' && '<p>%s</p>' + '%s' + '</a>', - http_request.query.dir[0], - file.name, - file.name, - file.size, - system.timestr(file.uldate), - file.desc, - typeof file.extdesc === 'undefined' ? "" : ("<p>" + file.extdesc + "</p>") + http_request.query.dir[0], file.name, file.name, file.size, + system.timestr(file.uldate), file.desc, file.extdesc ) ); } -- GitLab