var oFile2 = [ //"файловая система", id - ID, in - в какой папке
{
name: "root",
file: "folder",
id: "97239",
in: "0"
}, {
name: "Efog",
file: "folder",
id: "97280",
in: "0"
}, {
name: "My Pics",
file: "folder",
id: "97250",
in: "97239"
}, {
name: "CP.txt",
file: "txt",
id: "97242",
in: "97239"
}, {
name: "SC.png",
file: "png",
id: "97240",
in: "97239"
}, {
name: "GC.mp3",
file: "mp3",
id: "97243",
in: "97239"
}, {
name: "5.avi",
file: "avi",
id: "97244",
in: "97239"
}, {
name: "123.txt",
file: "txt",
id: "97242",
in: "97250"
}, {
name: "456.txt",
file: "txt",
id: "97242",
in: "97250"
}
]
var testCopy = function() { //сюда пока можешь не смотреть, в copyFolder разберись
$.each(oFile2, function (_i, _v) {
console.log(_v.in);
});
var abc = copyFolder(97239, 97280).split(",");
$.each(abc, function (i, v) {
if (v > 0) {
$.each(oFile2, function (_i, _v) {
console.log(_v.in);
if (_v.in == v) deleteFileById(_v.id);
});
}
})
}
var copyFolder = function(what, to) {
var _what = "";
var todelete = what + ","; //сюда пока тоже не смотри
var _to = "";
$.each(oFile2, function (i, value) { //так надо, у меня ф-я принимает JQuery объект, тут 100% правльно
if (value.id == what)
_what = $('<div class="file" file="' + value.file + '" name="' + value.name + '" fid="' + value.id + '"></div>');
});
globalId++; //ну, последний ID, инкремент
addFile(_what, globalId, to); //создаем папку в той, куда копируем
var folderId = globalId; //а это - куда копировать остальное
globalId++;
for (var i = 1; i < oFile2.length; i++) {
var v = oFile2[i];
if (v.in == what) { //если файл в той папке, из которой копируем...
if (v.file == "folder") todelete += copyFolder(v.id, folderId) + ","; //если это папка, то здравствуй, рекурсия
else {
//иначе - копируем файл
file = $('<div class="file" file="' + v.file + '" name="' + v.name + '" fid="' + v.id + '"></div>');
addFile(file, globalId, folderId);
globalId++; //ну и инкремент
}
}
}
return todelete;
} //вроде должно пахать идеально, да?