Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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]);
            }
        }
Exemplo n.º 4
0
 public CentralDirectory(CentralIndex i, IEnumerable <SoftDirectory> directories) : base(i.CurId, i.Files.ToArray())
 {
     _directories = new List <SoftDirectory>(directories);
 }