private static SoftDirectory LoadSoftDir(Loader a, CentralIndex s, SoftDirectory parent = null) { int id = a.NextInt; int subDirCount = a.NextInt; int fileCount = a.NextInt; string name = a.NextString; string thumb = a.NextString; string[] tags = Tags(a); SoftDirectory cur = new SoftDirectory(id, name, thumb); //if (parent == null) // cur = new SoftDirectory(id, name); //else // cur = parent.AddDirectory(new SoftDirectory(id, name)); //SoftDirectory[] subDirs = new SoftDirectory[subDirCount]; //SoftFile[] softFiles = new SoftFile[fileCount]; //for (int i = 0; i < subDirCount; i++) // subDirs[i] = LoadSoftDir(a, s, cur); //for (int i = 0; i < fileCount; i++) // softFiles[i] = s.FirstOrDefault(a.NextInt); for (int i = 0; i < subDirCount; i++) { cur.AddDirectory(LoadSoftDir(a, s, cur)); } for (int i = 0; i < fileCount; i++) { cur.DatabaseAddFile(s.FirstOrDefault(a.NextInt)); } // return new SoftDirectory(id, name, subDirs, softFiles, tags); return(cur); }
public static HtmlNode IndexPage(CentralIndex i) { HtmlNode node = HtmlNode.CreateNode("<div id=\"indexpage\" />"); node.AppendChild(HtmlNode.CreateNode($"<h1 id=\"indextitle\">{Encode.HtmlEncode("Index of /")}</h1>")); foreach (var a in i.Files) { node.AppendChild(FileStrip(a)); } return(node); }
private static void SaveCentralIndex(UnLoader a, CentralIndex s) { a.PackInt(s.CurId); var files = s.Files; int fileCount = files.Count; a.PackInt(fileCount); for (int i = 0; i < fileCount; i++) { SaveSoftFile(a, files[i]); } }
public CentralDirectory(CentralIndex i, IEnumerable <SoftDirectory> directories) : base(i.CurId, i.Files.ToArray()) { _directories = new List <SoftDirectory>(directories); }