Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }