mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-02-03 01:45:59 -05:00
File tab now reconnects to the previous remote device path.
This commit is contained in:
parent
d0d85feb45
commit
1f20d45b66
@ -1665,6 +1665,7 @@ function getDirectoryInfo(reqpath) {
|
|||||||
var results = null, xpath = obj.path.join(reqpath, '*');
|
var results = null, xpath = obj.path.join(reqpath, '*');
|
||||||
//if (process.platform == "win32") { xpath = xpath.split('/').join('\\'); }
|
//if (process.platform == "win32") { xpath = xpath.split('/').join('\\'); }
|
||||||
try { results = fs.readdirSync(xpath); } catch (e) { }
|
try { results = fs.readdirSync(xpath); } catch (e) { }
|
||||||
|
if ((results != null) && (results.length == 0) && (fs.existsSync(reqpath) == false)) { results = null; }
|
||||||
if (results != null) {
|
if (results != null) {
|
||||||
for (var i = 0; i < results.length; ++i) {
|
for (var i = 0; i < results.length; ++i) {
|
||||||
if ((results[i] != '.') && (results[i] != '..')) {
|
if ((results[i] != '.') && (results[i] != '..')) {
|
||||||
@ -1680,6 +1681,8 @@ function getDirectoryInfo(reqpath) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
response.dir = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
@ -2554,7 +2557,7 @@ function onTunnelData(data) {
|
|||||||
|
|
||||||
// Send the folder content to the browser
|
// Send the folder content to the browser
|
||||||
var response = getDirectoryInfo(cmd.path);
|
var response = getDirectoryInfo(cmd.path);
|
||||||
if (cmd.reqid != undefined) { response.reqid = cmd.reqid; }
|
response.reqid = cmd.reqid;
|
||||||
this.write(Buffer.from(JSON.stringify(response)));
|
this.write(Buffer.from(JSON.stringify(response)));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
343
audit.txt
343
audit.txt
@ -1,343 +0,0 @@
|
|||||||
# npm audit report
|
|
||||||
|
|
||||||
braces <=2.3.2
|
|
||||||
Severity: high
|
|
||||||
Regular Expression Denial of Service in braces - https://github.com/advisories/GHSA-g95f-p29q-9xw4
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
fix available via `npm audit fix`
|
|
||||||
node_modules/braces
|
|
||||||
node_modules/readdirp/node_modules/braces
|
|
||||||
micromatch 0.2.0 - 3.1.10
|
|
||||||
Depends on vulnerable versions of braces
|
|
||||||
Depends on vulnerable versions of parse-glob
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
node_modules/micromatch
|
|
||||||
node_modules/readdirp/node_modules/micromatch
|
|
||||||
anymatch 1.2.0 - 1.3.2
|
|
||||||
Depends on vulnerable versions of micromatch
|
|
||||||
node_modules/anymatch
|
|
||||||
chokidar 1.0.0-rc1 - 2.1.8
|
|
||||||
Depends on vulnerable versions of anymatch
|
|
||||||
Depends on vulnerable versions of glob-parent
|
|
||||||
node_modules/chokidar
|
|
||||||
babel-cli *
|
|
||||||
Depends on vulnerable versions of chokidar
|
|
||||||
node_modules/babel-cli
|
|
||||||
minify-js *
|
|
||||||
Depends on vulnerable versions of babel-cli
|
|
||||||
Depends on vulnerable versions of utils-igor
|
|
||||||
node_modules/dir_cache/node_modules/minify-js
|
|
||||||
node_modules/minify-js
|
|
||||||
node_modules/utils-igor/node_modules/minify-js
|
|
||||||
dir_cache >=1.0.2
|
|
||||||
Depends on vulnerable versions of minify-js
|
|
||||||
node_modules/dir_cache
|
|
||||||
utils-igor >=2.0.0
|
|
||||||
Depends on vulnerable versions of minify-js
|
|
||||||
node_modules/dir_cache/node_modules/minify-js/node_modules/utils-igor
|
|
||||||
node_modules/utils-igor
|
|
||||||
readdirp 2.2.0 - 2.2.1
|
|
||||||
Depends on vulnerable versions of micromatch
|
|
||||||
node_modules/readdirp
|
|
||||||
|
|
||||||
deep-extend <0.5.1
|
|
||||||
Severity: critical
|
|
||||||
Prototype Pollution in deep-extend - https://github.com/advisories/GHSA-hr2v-3952-633q
|
|
||||||
fix available via `npm audit fix`
|
|
||||||
node_modules/deep-extend
|
|
||||||
column-layout >=1.3.0
|
|
||||||
Depends on vulnerable versions of command-line-args
|
|
||||||
Depends on vulnerable versions of deep-extend
|
|
||||||
node_modules/column-layout
|
|
||||||
command-line-usage 2.0.0 - 3.0.8
|
|
||||||
Depends on vulnerable versions of column-layout
|
|
||||||
Depends on vulnerable versions of table-layout
|
|
||||||
node_modules/column-layout/node_modules/command-line-usage
|
|
||||||
node_modules/command-line-usage
|
|
||||||
node_modules/jsdoc-parse/node_modules/command-line-usage
|
|
||||||
cli-commands <=0.1.0
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
node_modules/cli-commands
|
|
||||||
usage-stats 0.8.0 - 0.8.6
|
|
||||||
Depends on vulnerable versions of cli-commands
|
|
||||||
node_modules/usage-stats
|
|
||||||
app-usage-stats 0.4.0 - 0.5.0
|
|
||||||
Depends on vulnerable versions of usage-stats
|
|
||||||
node_modules/app-usage-stats
|
|
||||||
jsdoc2md-stats 1.0.6 - 2.0.0
|
|
||||||
Depends on vulnerable versions of app-usage-stats
|
|
||||||
node_modules/jsdoc2md-stats
|
|
||||||
command-line-args 2.1.0 - 2.1.6
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
node_modules/column-layout/node_modules/command-line-args
|
|
||||||
node_modules/jsdoc-parse/node_modules/command-line-args
|
|
||||||
jsdoc-parse 0.2.5 - 2.0.0
|
|
||||||
Depends on vulnerable versions of command-line-args
|
|
||||||
Depends on vulnerable versions of file-set
|
|
||||||
Depends on vulnerable versions of jsdoc-api
|
|
||||||
node_modules/jsdoc-parse
|
|
||||||
jsdoc-to-markdown 0.6.0 - 0.6.4 || 1.3.1 - 2.0.0-alpha.23
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
Depends on vulnerable versions of dmd
|
|
||||||
Depends on vulnerable versions of jsdoc-parse
|
|
||||||
node_modules/jsdoc-to-markdown
|
|
||||||
grunt-jsdoc-to-markdown 0.5.0 - 0.5.1 || 1.2.0 - 1.2.1
|
|
||||||
Depends on vulnerable versions of jsdoc-to-markdown
|
|
||||||
node_modules/grunt-jsdoc-to-markdown
|
|
||||||
command-line-tool 0.3.0 - 0.6.4
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
node_modules/command-line-tool
|
|
||||||
dmd 0.3.23 - 2.0.1
|
|
||||||
Depends on vulnerable versions of command-line-tool
|
|
||||||
Depends on vulnerable versions of ddata
|
|
||||||
Depends on vulnerable versions of stream-handlebars
|
|
||||||
node_modules/dmd
|
|
||||||
table-layout <=0.4.0
|
|
||||||
Depends on vulnerable versions of deep-extend
|
|
||||||
node_modules/table-layout
|
|
||||||
|
|
||||||
glob-parent <5.1.2
|
|
||||||
Severity: high
|
|
||||||
Regular expression denial of service - https://github.com/advisories/GHSA-ww39-953v-wcq6
|
|
||||||
fix available via `npm audit fix`
|
|
||||||
node_modules/glob-parent
|
|
||||||
chokidar 1.0.0-rc1 - 2.1.8
|
|
||||||
Depends on vulnerable versions of anymatch
|
|
||||||
Depends on vulnerable versions of glob-parent
|
|
||||||
node_modules/chokidar
|
|
||||||
babel-cli *
|
|
||||||
Depends on vulnerable versions of chokidar
|
|
||||||
node_modules/babel-cli
|
|
||||||
minify-js *
|
|
||||||
Depends on vulnerable versions of babel-cli
|
|
||||||
Depends on vulnerable versions of utils-igor
|
|
||||||
node_modules/dir_cache/node_modules/minify-js
|
|
||||||
node_modules/minify-js
|
|
||||||
node_modules/utils-igor/node_modules/minify-js
|
|
||||||
dir_cache >=1.0.2
|
|
||||||
Depends on vulnerable versions of minify-js
|
|
||||||
node_modules/dir_cache
|
|
||||||
utils-igor >=2.0.0
|
|
||||||
Depends on vulnerable versions of minify-js
|
|
||||||
node_modules/dir_cache/node_modules/minify-js/node_modules/utils-igor
|
|
||||||
node_modules/utils-igor
|
|
||||||
glob-base *
|
|
||||||
Depends on vulnerable versions of glob-parent
|
|
||||||
node_modules/glob-base
|
|
||||||
parse-glob >=2.1.0
|
|
||||||
Depends on vulnerable versions of glob-base
|
|
||||||
node_modules/parse-glob
|
|
||||||
micromatch 0.2.0 - 3.1.10
|
|
||||||
Depends on vulnerable versions of braces
|
|
||||||
Depends on vulnerable versions of parse-glob
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
node_modules/micromatch
|
|
||||||
node_modules/readdirp/node_modules/micromatch
|
|
||||||
anymatch 1.2.0 - 1.3.2
|
|
||||||
Depends on vulnerable versions of micromatch
|
|
||||||
node_modules/anymatch
|
|
||||||
readdirp 2.2.0 - 2.2.1
|
|
||||||
Depends on vulnerable versions of micromatch
|
|
||||||
node_modules/readdirp
|
|
||||||
|
|
||||||
handlebars <=4.7.6
|
|
||||||
Severity: critical
|
|
||||||
Remote code execution in handlebars when compiling templates - https://github.com/advisories/GHSA-f2jv-r9rf-7988
|
|
||||||
Prototype Pollution in handlebars - https://github.com/advisories/GHSA-w457-6q6x-cgp9
|
|
||||||
Cross-Site Scripting in handlebars - https://github.com/advisories/GHSA-9prh-257w-9277
|
|
||||||
Depends on vulnerable versions of optimist
|
|
||||||
fix available via `npm audit fix`
|
|
||||||
node_modules/ddata/node_modules/handlebars
|
|
||||||
node_modules/stream-handlebars/node_modules/handlebars
|
|
||||||
ddata >=0.1.18
|
|
||||||
Depends on vulnerable versions of handlebars
|
|
||||||
node_modules/ddata
|
|
||||||
dmd 0.3.23 - 2.0.1
|
|
||||||
Depends on vulnerable versions of command-line-tool
|
|
||||||
Depends on vulnerable versions of ddata
|
|
||||||
Depends on vulnerable versions of stream-handlebars
|
|
||||||
node_modules/dmd
|
|
||||||
jsdoc-to-markdown 0.6.0 - 0.6.4 || 1.3.1 - 2.0.0-alpha.23
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
Depends on vulnerable versions of dmd
|
|
||||||
Depends on vulnerable versions of jsdoc-parse
|
|
||||||
node_modules/jsdoc-to-markdown
|
|
||||||
grunt-jsdoc-to-markdown 0.5.0 - 0.5.1 || 1.2.0 - 1.2.1
|
|
||||||
Depends on vulnerable versions of jsdoc-to-markdown
|
|
||||||
node_modules/grunt-jsdoc-to-markdown
|
|
||||||
stream-handlebars <=0.1.6
|
|
||||||
Depends on vulnerable versions of handlebars
|
|
||||||
node_modules/stream-handlebars
|
|
||||||
|
|
||||||
minimatch <3.0.2
|
|
||||||
Severity: high
|
|
||||||
Regular Expression Denial of Service in minimatch - https://github.com/advisories/GHSA-hxm2-r34f-qmc5
|
|
||||||
fix available via `npm audit fix`
|
|
||||||
node_modules/jsdoc-parse/node_modules/minimatch
|
|
||||||
glob 3.0.0 - 5.0.14
|
|
||||||
Depends on vulnerable versions of minimatch
|
|
||||||
node_modules/jsdoc-parse/node_modules/glob
|
|
||||||
file-set <=0.2.8
|
|
||||||
Depends on vulnerable versions of glob
|
|
||||||
node_modules/jsdoc-parse/node_modules/file-set
|
|
||||||
jsdoc-parse 0.2.5 - 2.0.0
|
|
||||||
Depends on vulnerable versions of command-line-args
|
|
||||||
Depends on vulnerable versions of file-set
|
|
||||||
Depends on vulnerable versions of jsdoc-api
|
|
||||||
node_modules/jsdoc-parse
|
|
||||||
jsdoc-to-markdown 0.6.0 - 0.6.4 || 1.3.1 - 2.0.0-alpha.23
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
Depends on vulnerable versions of dmd
|
|
||||||
Depends on vulnerable versions of jsdoc-parse
|
|
||||||
node_modules/jsdoc-to-markdown
|
|
||||||
grunt-jsdoc-to-markdown 0.5.0 - 0.5.1 || 1.2.0 - 1.2.1
|
|
||||||
Depends on vulnerable versions of jsdoc-to-markdown
|
|
||||||
node_modules/grunt-jsdoc-to-markdown
|
|
||||||
|
|
||||||
minimist <0.2.1
|
|
||||||
Severity: moderate
|
|
||||||
Prototype Pollution in minimist - https://github.com/advisories/GHSA-vh95-rmgr-6w4m
|
|
||||||
fix available via `npm audit fix`
|
|
||||||
node_modules/optimist/node_modules/minimist
|
|
||||||
optimist >=0.6.0
|
|
||||||
Depends on vulnerable versions of minimist
|
|
||||||
node_modules/optimist
|
|
||||||
handlebars <=4.7.6
|
|
||||||
Depends on vulnerable versions of optimist
|
|
||||||
node_modules/ddata/node_modules/handlebars
|
|
||||||
node_modules/stream-handlebars/node_modules/handlebars
|
|
||||||
ddata >=0.1.18
|
|
||||||
Depends on vulnerable versions of handlebars
|
|
||||||
node_modules/ddata
|
|
||||||
dmd 0.3.23 - 2.0.1
|
|
||||||
Depends on vulnerable versions of command-line-tool
|
|
||||||
Depends on vulnerable versions of ddata
|
|
||||||
Depends on vulnerable versions of stream-handlebars
|
|
||||||
node_modules/dmd
|
|
||||||
jsdoc-to-markdown 0.6.0 - 0.6.4 || 1.3.1 - 2.0.0-alpha.23
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
Depends on vulnerable versions of dmd
|
|
||||||
Depends on vulnerable versions of jsdoc-parse
|
|
||||||
node_modules/jsdoc-to-markdown
|
|
||||||
grunt-jsdoc-to-markdown 0.5.0 - 0.5.1 || 1.2.0 - 1.2.1
|
|
||||||
Depends on vulnerable versions of jsdoc-to-markdown
|
|
||||||
node_modules/grunt-jsdoc-to-markdown
|
|
||||||
stream-handlebars <=0.1.6
|
|
||||||
Depends on vulnerable versions of handlebars
|
|
||||||
node_modules/stream-handlebars
|
|
||||||
node-windows >=0.1.5
|
|
||||||
Depends on vulnerable versions of optimist
|
|
||||||
node_modules/node-windows
|
|
||||||
|
|
||||||
nedb *
|
|
||||||
Severity: high
|
|
||||||
Prototype Pollution - https://github.com/advisories/GHSA-339j-hqgx-qrrx
|
|
||||||
Depends on vulnerable versions of binary-search-tree
|
|
||||||
Depends on vulnerable versions of underscore
|
|
||||||
No fix available
|
|
||||||
node_modules/nedb
|
|
||||||
|
|
||||||
set-value <4.0.1
|
|
||||||
Severity: high
|
|
||||||
Prototype Pollution in set-value - https://github.com/advisories/GHSA-4jqc-8m5r-9rpr
|
|
||||||
fix available via `npm audit fix`
|
|
||||||
node_modules/set-value
|
|
||||||
cache-base >=0.7.0
|
|
||||||
Depends on vulnerable versions of set-value
|
|
||||||
Depends on vulnerable versions of union-value
|
|
||||||
node_modules/cache-base
|
|
||||||
base >=0.7.0
|
|
||||||
Depends on vulnerable versions of cache-base
|
|
||||||
node_modules/base
|
|
||||||
snapdragon 0.6.0 - 0.10.1
|
|
||||||
Depends on vulnerable versions of base
|
|
||||||
node_modules/snapdragon
|
|
||||||
braces <=2.3.2
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
node_modules/braces
|
|
||||||
node_modules/readdirp/node_modules/braces
|
|
||||||
micromatch 0.2.0 - 3.1.10
|
|
||||||
Depends on vulnerable versions of braces
|
|
||||||
Depends on vulnerable versions of parse-glob
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
node_modules/micromatch
|
|
||||||
node_modules/readdirp/node_modules/micromatch
|
|
||||||
anymatch 1.2.0 - 1.3.2
|
|
||||||
Depends on vulnerable versions of micromatch
|
|
||||||
node_modules/anymatch
|
|
||||||
chokidar 1.0.0-rc1 - 2.1.8
|
|
||||||
Depends on vulnerable versions of anymatch
|
|
||||||
Depends on vulnerable versions of glob-parent
|
|
||||||
node_modules/chokidar
|
|
||||||
babel-cli *
|
|
||||||
Depends on vulnerable versions of chokidar
|
|
||||||
node_modules/babel-cli
|
|
||||||
minify-js *
|
|
||||||
Depends on vulnerable versions of babel-cli
|
|
||||||
Depends on vulnerable versions of utils-igor
|
|
||||||
node_modules/dir_cache/node_modules/minify-js
|
|
||||||
node_modules/minify-js
|
|
||||||
node_modules/utils-igor/node_modules/minify-js
|
|
||||||
dir_cache >=1.0.2
|
|
||||||
Depends on vulnerable versions of minify-js
|
|
||||||
node_modules/dir_cache
|
|
||||||
utils-igor >=2.0.0
|
|
||||||
Depends on vulnerable versions of minify-js
|
|
||||||
node_modules/dir_cache/node_modules/minify-js/node_modules/utils-igor
|
|
||||||
node_modules/utils-igor
|
|
||||||
readdirp 2.2.0 - 2.2.1
|
|
||||||
Depends on vulnerable versions of micromatch
|
|
||||||
node_modules/readdirp
|
|
||||||
expand-brackets 1.0.0 - 2.1.4
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
node_modules/readdirp/node_modules/expand-brackets
|
|
||||||
extglob 1.0.0 - 2.0.4
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
node_modules/readdirp/node_modules/extglob
|
|
||||||
nanomatch >=0.1.1
|
|
||||||
Depends on vulnerable versions of snapdragon
|
|
||||||
node_modules/nanomatch
|
|
||||||
union-value *
|
|
||||||
Depends on vulnerable versions of set-value
|
|
||||||
node_modules/union-value
|
|
||||||
|
|
||||||
underscore 1.3.2 - 1.12.0
|
|
||||||
Severity: high
|
|
||||||
Arbitrary Code Execution in underscore - https://github.com/advisories/GHSA-cf4h-3jhx-xvhq
|
|
||||||
No fix available
|
|
||||||
node_modules/jsdoc-75lb/node_modules/underscore
|
|
||||||
node_modules/underscore
|
|
||||||
binary-search-tree *
|
|
||||||
Depends on vulnerable versions of underscore
|
|
||||||
node_modules/binary-search-tree
|
|
||||||
nedb *
|
|
||||||
Depends on vulnerable versions of binary-search-tree
|
|
||||||
Depends on vulnerable versions of underscore
|
|
||||||
node_modules/nedb
|
|
||||||
jsdoc-75lb *
|
|
||||||
Depends on vulnerable versions of underscore
|
|
||||||
node_modules/jsdoc-75lb
|
|
||||||
jsdoc-api 0.1.0 - 3.0.0
|
|
||||||
Depends on vulnerable versions of jsdoc-75lb
|
|
||||||
node_modules/jsdoc-api
|
|
||||||
jsdoc-parse 0.2.5 - 2.0.0
|
|
||||||
Depends on vulnerable versions of command-line-args
|
|
||||||
Depends on vulnerable versions of file-set
|
|
||||||
Depends on vulnerable versions of jsdoc-api
|
|
||||||
node_modules/jsdoc-parse
|
|
||||||
jsdoc-to-markdown 0.6.0 - 0.6.4 || 1.3.1 - 2.0.0-alpha.23
|
|
||||||
Depends on vulnerable versions of command-line-usage
|
|
||||||
Depends on vulnerable versions of dmd
|
|
||||||
Depends on vulnerable versions of jsdoc-parse
|
|
||||||
node_modules/jsdoc-to-markdown
|
|
||||||
grunt-jsdoc-to-markdown 0.5.0 - 0.5.1 || 1.2.0 - 1.2.1
|
|
||||||
Depends on vulnerable versions of jsdoc-to-markdown
|
|
||||||
node_modules/grunt-jsdoc-to-markdown
|
|
||||||
|
|
||||||
48 vulnerabilities (1 low, 3 moderate, 27 high, 17 critical)
|
|
||||||
|
|
||||||
To address issues that do not require attention, run:
|
|
||||||
npm audit fix
|
|
||||||
|
|
||||||
Some issues need review, and may require choosing
|
|
||||||
a different dependency.
|
|
2
public/scripts/amt-0.2.0-min.js
vendored
2
public/scripts/amt-0.2.0-min.js
vendored
File diff suppressed because one or more lines are too long
@ -542,7 +542,10 @@ function AmtStackCreateService(wsmanStack) {
|
|||||||
if (eventSensorType == 6) return "Authentication failed " + (eventDataField[1] + (eventDataField[2] << 8)) + " times. The system may be under attack.";
|
if (eventSensorType == 6) return "Authentication failed " + (eventDataField[1] + (eventDataField[2] << 8)) + " times. The system may be under attack.";
|
||||||
if (eventSensorType == 30) return "No bootable media";
|
if (eventSensorType == 30) return "No bootable media";
|
||||||
if (eventSensorType == 32) return "Operating system lockup or power interrupt";
|
if (eventSensorType == 32) return "Operating system lockup or power interrupt";
|
||||||
if (eventSensorType == 35) return "System boot failure";
|
if (eventSensorType == 35) {
|
||||||
|
if (eventDataField[0] == 64) return "BIOS POST (Power On Self-Test) Watchdog Timeout."; // 64,2,252,84,89,0,0,0
|
||||||
|
return "System boot failure";
|
||||||
|
}
|
||||||
if (eventSensorType == 37) return "System firmware started (at least one CPU is properly executing).";
|
if (eventSensorType == 37) return "System firmware started (at least one CPU is properly executing).";
|
||||||
return "Unknown Sensor Type #" + eventSensorType;
|
return "Unknown Sensor Type #" + eventSensorType;
|
||||||
}
|
}
|
||||||
|
@ -4908,8 +4908,16 @@
|
|||||||
if (uploadFile != null) { p13uploadFileTransferDone(); uploadFile = null; }
|
if (uploadFile != null) { p13uploadFileTransferDone(); uploadFile = null; }
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
p13filetreelocation = [];
|
||||||
p13targetpath = '';
|
p13targetpath = '';
|
||||||
files.sendText({ action: 'ls', reqid: 1, path: '' });
|
if (files) {
|
||||||
|
var filepaths = [];
|
||||||
|
try { filepaths = JSON.parse(getstore('_devFilePaths', '[]')); } catch (ex) { }
|
||||||
|
for (var i = 0; i < filepaths.length; i++) { if (filepaths[i].n == currentNode._id) { p13targetpath = filepaths[i].p; } }
|
||||||
|
p13filetreelocation = p13targetpath.split('/');
|
||||||
|
files.sendText({ action: 'ls', reqid: 1, path: p13targetpath });
|
||||||
|
//if (files.serverIsRecording == true) { QV('filesRecordIcon', true); }
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//console.log('Unknown onFilesStateChange state', state);
|
//console.log('Unknown onFilesStateChange state', state);
|
||||||
@ -4996,21 +5004,25 @@
|
|||||||
if ((data.action != null) && (data.action.startsWith('upload'))) { p13gotUploadData(data); return; }
|
if ((data.action != null) && (data.action.startsWith('upload'))) { p13gotUploadData(data); return; }
|
||||||
|
|
||||||
if (data.path != null) {
|
if (data.path != null) {
|
||||||
data.path = data.path.replace(/\//g, '\\');
|
if (data.dir == null) {
|
||||||
if ((p13filetree != null) && (data.path == p13filetree.path)) {
|
if (p13targetpath != '') { p13folderup(); }
|
||||||
// This is an update to the same folder
|
|
||||||
var checkedNames = p13getCheckedNames();
|
|
||||||
p13filetree = data;
|
|
||||||
p13updateFiles(checkedNames);
|
|
||||||
} else {
|
} else {
|
||||||
// Make both paths use the same seperator not start with /
|
data.path = data.path.replace(/\//g, '\\');
|
||||||
var x1 = data.path.replace(/\//g, '\\'), x2 = p13targetpath.replace(/\//g, '\\');
|
if ((p13filetree != null) && (data.path == p13filetree.path)) {
|
||||||
while ((x1.length > 0) && (x1[0] == '\\')) { x1 = x1.substring(1); }
|
// This is an update to the same folder
|
||||||
while ((x2.length > 0) && (x2[0] == '\\')) { x2 = x2.substring(1); }
|
var checkedNames = p13getCheckedNames();
|
||||||
if ((x1 == x2) || ((data.path == '\\') && (p13targetpath == ''))) {
|
|
||||||
// This is a different folder
|
|
||||||
p13filetree = data;
|
p13filetree = data;
|
||||||
p13updateFiles();
|
p13updateFiles(checkedNames);
|
||||||
|
} else {
|
||||||
|
// Make both paths use the same seperator not start with /
|
||||||
|
var x1 = data.path.replace(/\//g, '\\'), x2 = p13targetpath.replace(/\//g, '\\');
|
||||||
|
while ((x1.length > 0) && (x1[0] == '\\')) { x1 = x1.substring(1); }
|
||||||
|
while ((x2.length > 0) && (x2[0] == '\\')) { x2 = x2.substring(1); }
|
||||||
|
if ((x1 == x2) || ((data.path == '\\') && (p13targetpath == ''))) {
|
||||||
|
// This is a different folder
|
||||||
|
p13filetree = data;
|
||||||
|
p13updateFiles();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5089,13 +5101,31 @@
|
|||||||
|
|
||||||
function p13folderset(x) {
|
function p13folderset(x) {
|
||||||
p13targetpath = joinPaths(p13filetree.path, p13filetree.dir[x].n).split('\\').join('/');
|
p13targetpath = joinPaths(p13filetree.path, p13filetree.dir[x].n).split('\\').join('/');
|
||||||
files.sendText({ action: 'ls', reqid: 1, path: p13targetpath });
|
if (files) {
|
||||||
|
p13storeCurrentPath(p13targetpath);
|
||||||
|
files.sendText({ action: 'ls', reqid: 1, path: p13targetpath });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function p13folderup(x) {
|
function p13folderup(x) {
|
||||||
if (x == null) { p13filetreelocation.pop(); } else { while (p13filetreelocation.length > x) { p13filetreelocation.pop(); } }
|
if (x == null) { p13filetreelocation.pop(); } else { while (p13filetreelocation.length > x) { p13filetreelocation.pop(); } }
|
||||||
p13targetpath = p13filetreelocation.join('/');
|
p13targetpath = p13filetreelocation.join('/');
|
||||||
files.sendText({ action: 'ls', reqid: 1, path: p13targetpath });
|
if (files) {
|
||||||
|
p13storeCurrentPath(p13targetpath);
|
||||||
|
files.sendText({ action: 'ls', reqid: 1, path: p13targetpath });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Store the current path for a given node as browser state.
|
||||||
|
// This is so, when reconnecting to a device, you go back to the same path.
|
||||||
|
function p13storeCurrentPath(path) {
|
||||||
|
var filepaths = [], j = -1;
|
||||||
|
try { filepaths = JSON.parse(getstore('_devFilePaths', '[]')); } catch (ex) { }
|
||||||
|
for (var i = 0; i < filepaths.length; i++) { if (filepaths[i].n == currentNode._id) { j = i; } }
|
||||||
|
if (j >= 0) { filepaths.splice(j, 1); }
|
||||||
|
filepaths.push({ n: currentNode._id, p: path });
|
||||||
|
while (filepaths.length > 40) { filepaths.shift(); } // Keep only 40 devices worth of paths.
|
||||||
|
putstore('_devFilePaths', JSON.stringify(filepaths));
|
||||||
}
|
}
|
||||||
|
|
||||||
var p13sortorder;
|
var p13sortorder;
|
||||||
|
@ -9480,9 +9480,14 @@
|
|||||||
if (uploadFile != null) { p13uploadFileTransferDone(); uploadFile = null; }
|
if (uploadFile != null) { p13uploadFileTransferDone(); uploadFile = null; }
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
p13filetreelocation = [];
|
||||||
p13targetpath = '';
|
p13targetpath = '';
|
||||||
if (files) {
|
if (files) {
|
||||||
files.sendText({ action: 'ls', reqid: 1, path: '' });
|
var filepaths = [];
|
||||||
|
try { filepaths = JSON.parse(getstore('_devFilePaths', '[]')); } catch (ex) {}
|
||||||
|
for (var i = 0; i < filepaths.length; i++) { if (filepaths[i].n == currentNode._id) { p13targetpath = filepaths[i].p; } }
|
||||||
|
p13filetreelocation = p13targetpath.split('/');
|
||||||
|
files.sendText({ action: 'ls', reqid: 1, path: p13targetpath });
|
||||||
if (files.serverIsRecording == true) { QV('filesRecordIcon', true); }
|
if (files.serverIsRecording == true) { QV('filesRecordIcon', true); }
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -9606,21 +9611,25 @@
|
|||||||
if (data.action == 'refresh') { p13folderup(9999); return; }
|
if (data.action == 'refresh') { p13folderup(9999); return; }
|
||||||
|
|
||||||
if (data.path != null) {
|
if (data.path != null) {
|
||||||
data.path = data.path.replace(/\//g, '\\');
|
if (data.dir == null) {
|
||||||
if ((p13filetree != null) && (data.path == p13filetree.path)) {
|
if (p13targetpath != '') { p13folderup(); }
|
||||||
// This is an update to the same folder
|
|
||||||
var checkedNames = p13getCheckedNames();
|
|
||||||
p13filetree = data;
|
|
||||||
p13updateFiles(checkedNames);
|
|
||||||
} else {
|
} else {
|
||||||
// Make both paths use the same seperator not start with /
|
data.path = data.path.replace(/\//g, '\\');
|
||||||
var x1 = data.path.replace(/\//g, '\\'), x2 = p13targetpath.replace(/\//g, '\\');
|
if ((p13filetree != null) && (data.path == p13filetree.path)) {
|
||||||
while ((x1.length > 0) && (x1[0] == '\\')) { x1 = x1.substring(1); }
|
// This is an update to the same folder
|
||||||
while ((x2.length > 0) && (x2[0] == '\\')) { x2 = x2.substring(1); }
|
var checkedNames = p13getCheckedNames();
|
||||||
if ((x1 == x2) || ((data.path == '\\') && (p13targetpath == ''))) {
|
|
||||||
// This is a different folder
|
|
||||||
p13filetree = data;
|
p13filetree = data;
|
||||||
p13updateFiles();
|
p13updateFiles(checkedNames);
|
||||||
|
} else {
|
||||||
|
// Make both paths use the same seperator not start with /
|
||||||
|
var x1 = data.path.replace(/\//g, '\\'), x2 = p13targetpath.replace(/\//g, '\\');
|
||||||
|
while ((x1.length > 0) && (x1[0] == '\\')) { x1 = x1.substring(1); }
|
||||||
|
while ((x2.length > 0) && (x2[0] == '\\')) { x2 = x2.substring(1); }
|
||||||
|
if ((x1 == x2) || ((data.path == '\\') && (p13targetpath == ''))) {
|
||||||
|
// This is a different folder
|
||||||
|
p13filetree = data;
|
||||||
|
p13updateFiles();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -9717,16 +9726,28 @@
|
|||||||
|
|
||||||
function p13folderset(x) {
|
function p13folderset(x) {
|
||||||
p13targetpath = joinPaths(p13filetree.path, p13filetree.dir[x].n).split('\\').join('/');
|
p13targetpath = joinPaths(p13filetree.path, p13filetree.dir[x].n).split('\\').join('/');
|
||||||
files.sendText({ action: 'ls', reqid: 1, path: p13targetpath });
|
if (files) { p13storeCurrentPath(p13targetpath); files.sendText({ action: 'ls', reqid: 1, path: p13targetpath }); }
|
||||||
}
|
}
|
||||||
|
|
||||||
function p13folderup(x) {
|
function p13folderup(x) {
|
||||||
if (x == null) { p13filetreelocation.pop(); } else { while (p13filetreelocation.length > x) { p13filetreelocation.pop(); } }
|
if (x == null) { p13filetreelocation.pop(); } else { while (p13filetreelocation.length > x) { p13filetreelocation.pop(); } }
|
||||||
p13targetpath = p13filetreelocation.join('/');
|
p13targetpath = p13filetreelocation.join('/');
|
||||||
if (files) { files.sendText({ action: 'ls', reqid: 1, path: p13targetpath }); }
|
if (files) { p13storeCurrentPath(p13targetpath); files.sendText({ action: 'ls', reqid: 1, path: p13targetpath }); }
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Store the current path for a given node as browser state.
|
||||||
|
// This is so, when reconnecting to a device, you go back to the same path.
|
||||||
|
function p13storeCurrentPath(path) {
|
||||||
|
var filepaths = [], j = -1;
|
||||||
|
try { filepaths = JSON.parse(getstore('_devFilePaths', '[]')); } catch (ex) {}
|
||||||
|
for (var i = 0; i < filepaths.length; i++) { if (filepaths[i].n == currentNode._id) { j = i; } }
|
||||||
|
if (j >= 0) { filepaths.splice(j, 1); }
|
||||||
|
filepaths.push({ n: currentNode._id, p: path });
|
||||||
|
while (filepaths.length > 40) { filepaths.shift(); } // Keep only 40 devices worth of paths.
|
||||||
|
putstore('_devFilePaths', JSON.stringify(filepaths));
|
||||||
|
}
|
||||||
|
|
||||||
function p13findfile() {
|
function p13findfile() {
|
||||||
if (xxdialogMode) return;
|
if (xxdialogMode) return;
|
||||||
var x = addHtmlValue("Filter", '<input id=d2findFilter style="width:230px" onkeyup=p13findfileValidate() onkeydown=p13findfileDown(event) placeholder="*.txt"></input>');
|
var x = addHtmlValue("Filter", '<input id=d2findFilter style="width:230px" onkeyup=p13findfileValidate() onkeydown=p13findfileDown(event) placeholder="*.txt"></input>');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user