public bool deleteFile(string ipFrom, string name, List <int> folderPath) { if (!silent && !ipFrom.Equals(adminIP) && !ipFrom.Equals(ip)) { return(false); } if (name[0] != 64) { log("FileDeleted: by " + ipFrom + " - file:" + name); } var startFolder = files.root; if (folderPath.Count > 0) { startFolder = Programs.getFolderFromNavigationPath(folderPath, startFolder, os); } var str1 = name; if (name[0] == 64) { str1 = name.Substring(name.IndexOf('_')); } for (var index = 0; index < startFolder.files.Count; ++index) { var str2 = startFolder.files[index].name; if (name[0] != 64 ? str2.Equals(name) : str2.Substring(str2.IndexOf('_')).Equals(str1)) { startFolder.files.RemoveAt(index); break; } } var s = "cDelete #" + ip + "#" + ipFrom + "#" + name; for (var index = 0; index < folderPath.Count; ++index) { s = s + "#" + folderPath[index]; } sendNetworkMessage(s); return(true); }
public bool moveFile(string ipFrom, string name, string newName, List <int> folderPath, List <int> destFolderPath) { if (!silent && !ipFrom.Equals(adminIP) && !ipFrom.Equals(ip)) { return(false); } var folder1 = files.root; var fromNavigationPath = Programs.getFolderFromNavigationPath(folderPath, files.root, os); var folder2 = Programs.getFolderFromNavigationPath(destFolderPath, files.root, os); if (newName.StartsWith("/")) { if (destFolderPath.Count == 0 || folderPath.Count > 0 && destFolderPath.Count == folderPath.Count && destFolderPath[0] == folderPath[0]) { folder2 = files.root; newName = newName.Substring(1); var folder3 = folder2.searchForFolder(newName); if (folder3 != null) { folder2 = folder3; newName = name; } } else { newName = newName.Substring(1); } } FileEntry fileEntry = null; for (var index = 0; index < fromNavigationPath.files.Count; ++index) { if (fromNavigationPath.files[index].name == name) { fileEntry = fromNavigationPath.files[index]; fromNavigationPath.files.RemoveAt(index); break; } } if (fileEntry == null) { os.write("File not Found"); return(false); } if (newName == "" || newName == " ") { newName = name; } fileEntry.name = newName; var str1 = fileEntry.name; var num = 1; while (folder2.searchForFile(fileEntry.name) != null) { fileEntry.name = string.Concat(str1, "(", num, ")"); ++num; } folder2.files.Add(fileEntry); var str2 = "cMove #" + ip + "#" + ipFrom + "#" + name + "#" + newName + "#"; for (var index = 0; index < folderPath.Count; ++index) { str2 = str2 + "%" + folderPath[index]; } var s = str2 + "#"; for (var index = 0; index < destFolderPath.Count; ++index) { s = s + "%" + destFolderPath[index]; } sendNetworkMessage(s); log("File Moved: by " + ipFrom + " - file:" + name + " To: " + newName); return(true); }