|
|
@ -720,13 +720,17 @@ define([
|
|
|
|
var fixTemplate = function () {
|
|
|
|
var fixTemplate = function () {
|
|
|
|
if (sharedFolder) { return; }
|
|
|
|
if (sharedFolder) { return; }
|
|
|
|
if (!Array.isArray(files[TEMPLATE])) { debug("TEMPLATE was not an array"); files[TEMPLATE] = []; }
|
|
|
|
if (!Array.isArray(files[TEMPLATE])) { debug("TEMPLATE was not an array"); files[TEMPLATE] = []; }
|
|
|
|
files[TEMPLATE] = Util.deduplicateString(files[TEMPLATE].slice());
|
|
|
|
var dedup = Util.deduplicateString(files[TEMPLATE]);
|
|
|
|
var us = files[TEMPLATE];
|
|
|
|
if (dedup.length !== files[TEMPLATE].length) {
|
|
|
|
var rootFiles = exp.getFiles([ROOT]).slice();
|
|
|
|
files[TEMPLATE] = dedup;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var us = files[TEMPLATE].slice();
|
|
|
|
|
|
|
|
var rootFiles = exp.getFiles([ROOT]);
|
|
|
|
var toClean = [];
|
|
|
|
var toClean = [];
|
|
|
|
us.forEach(function (el, idx) {
|
|
|
|
us.forEach(function (el, idx) {
|
|
|
|
if (!exp.isFile(el, true) || rootFiles.indexOf(el) !== -1) {
|
|
|
|
if (!exp.isFile(el, true) || rootFiles.indexOf(el) !== -1) {
|
|
|
|
toClean.push(el);
|
|
|
|
toClean.push(el);
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (typeof el === "string") {
|
|
|
|
if (typeof el === "string") {
|
|
|
|
// We have an old file (href) which is not in filesData: add it
|
|
|
|
// We have an old file (href) which is not in filesData: add it
|
|
|
@ -735,6 +739,7 @@ define([
|
|
|
|
href: exp.cryptor.encrypt(el)
|
|
|
|
href: exp.cryptor.encrypt(el)
|
|
|
|
};
|
|
|
|
};
|
|
|
|
us[idx] = id;
|
|
|
|
us[idx] = id;
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (typeof el === "number") {
|
|
|
|
if (typeof el === "number") {
|
|
|
|
var data = files[FILES_DATA][el];
|
|
|
|
var data = files[FILES_DATA][el];
|
|
|
@ -878,8 +883,7 @@ define([
|
|
|
|
|
|
|
|
|
|
|
|
// Fix undefined hash
|
|
|
|
// Fix undefined hash
|
|
|
|
parsed = Hash.parsePadUrl(href || el.roHref);
|
|
|
|
parsed = Hash.parsePadUrl(href || el.roHref);
|
|
|
|
secret = Hash.getSecrets('drive', parsed.hash, el.password);
|
|
|
|
if (!parsed || !parsed.hash || parsed.hash === "undefined") {
|
|
|
|
if (!secret.keys) {
|
|
|
|
|
|
|
|
delete sf[id];
|
|
|
|
delete sf[id];
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|