public static HtmlNode FilePage(SoftFile i) { HtmlNode node = HtmlNode.CreateNode("<div id=\"filepage\" />"); var head = node.AppendChild(HtmlNode.CreateNode("<div id=\"fileheader\" />")); head.AppendChild(HtmlNode.CreateNode($"<h1 id=\"filetitle\">{Encode.HtmlEncode(i.Name)}</h1>")); if (i.ThumbnailExists) { head.AppendChild(Thumbnail(i, i.Id.ToString())); } //node.AppendChild(Thumbnail(i, i.Id.ToString())); var tagsandref = node.AppendChild(HtmlNode.CreateNode("<div id=\"tagsandref\" />")); var refrr = i.References; if (refrr.Count > 0) { tagsandref.AppendChild(List("div", "References", "filereferencelist", refrr.Select(n => $"<a id=\"filereferences\" href=\"/file&{n.Id}\">{Encode.HtmlEncode(n.Name)}</a>").ToArray())); } node.AppendChild(HtmlNode.CreateNode($"<p id=\"hashes\">{i.Hashes}</p>")); var tags = i.Tags; if (tags.Count > 0) { tagsandref.AppendChild(List("div", "Tags", "taglist", tags.Select(n => $"<p id=\"tag\">{n}</p>").ToArray())); } return(node); }
static void FileInfo(SoftFile f) { Console.WriteLine($"{f.Name} ({f.Id})"); Console.WriteLine(f.Hashes); Console.WriteLine($"Thumbnail Path: {f.ThumbnailPath})"); Tags(f); }
public void DatabaseAddFile(SoftFile i) { if (i != null) { _softFiles.Add(i); } }
public static HtmlNode FileStrip(SoftFile i) { HtmlNode node = HtmlNode.CreateNode("<div id=\"file\" />"); HtmlNode name = Text(i.Name, "div", "filename"); node.AppendChild(name); return(node); }
private static void SaveSoftFile(UnLoader a, SoftFile i) { a.PackInt(i.Id); a.PackString(i.Name); a.PackString(i.ThumbnailPath); Tags(a, i.TagArray); SaveSHA256(a, i.SHA256); }
public static HtmlNode FileCard(SoftFile i) { HtmlNode card = HtmlNode.CreateNode("<div id=\"filecard\" />"); (card.AppendChild(Text("", "div", "filename"))).AppendChild(HtmlNode.CreateNode($"<a href=\"/file&{i.Id}\">{i.Name}</a>")); //HtmlNode name = Text(i.Name, "div", "filename"); //card.AppendChild(name); return(card); }
static void SendFile(TcpClient client, SoftFile file, List <KeyValuePair <string, DateTime> > timings) { var a = HTML.FilePage(file); var b = GetHtml(); b.DocumentNode.SelectSingleNode("//html/body").AppendChild(a); timings.Add(new KeyValuePair <string, DateTime>("HTML Document", DateTime.Now)); client.Client.Send(new HttpResponse(new ResponseHeader(), new Content(b.Serialize())).Serialize()); timings.Add(new KeyValuePair <string, DateTime>("Sending", DateTime.Now)); }
static IEnumerable <SoftDirectory> Search(SoftFile i) { Console.WriteLine("Search by hash and id"); List <SoftDirectory> results = new List <SoftDirectory>(); foreach (var a in Program.CentralDirectory.Directories) { Directories(results, a, i); } return(results); }
public SoftFile AddFile(SoftFile i, bool check = true) { if (!check || (check && !Exists(i.Id))) { _softFiles.Add(i); } else { throw new InvalidOperationException("File already exists"); } return(i); }
private static CentralIndex LoadCentralIndex(Loader a) { int nextid = a.NextInt; int numoffiles = a.NextInt; SoftFile[] cindex = new SoftFile[numoffiles]; for (int i = 0; i < numoffiles; i++) { cindex[i] = LoadSoftFile(a); } return(new CentralIndex(nextid, cindex)); }
static void Directories(List <SoftDirectory> ok, SoftDirectory cur, SoftFile i) { foreach (var a in cur.SubDirectories) { Directories(ok, a, i); } foreach (var a in cur.SoftFiles) { if (i == a) { ok.Add(cur); } } }
static SoftDirectory Import(DirectoryInfo i) { var d = i.GetDirectories(); var e = i.GetFiles(); SoftDirectory[] ss = new SoftDirectory[d.Length]; SoftFile[] ee = new SoftFile[e.Length]; for (int m = 0; m < d.Length; m++) { ss[m] = Import(d[m]); } for (int g = 0; g < e.Length; g++) { ee[g] = Import(e[g], Program.CentralDirectory); } return(new SoftDirectory(Program.CentralDirectory.NextId, i.Name, ss, ee, new string[0])); }
static void Reference() { SoftFile fileFirst = QueryFile(); SoftFile fileRefer = QueryFile(); if (fileFirst == null || fileRefer == null) { return; } fileFirst.AddReference(fileRefer); Console.WriteLine($"{fileFirst} ({fileFirst.Id}) => {fileRefer} ({fileRefer.Id})"); if (fileFirst.Equals(fileRefer)) { Console.WriteLine("This file equals the reference"); } else { Console.WriteLine("The file does not equal the reference"); } }
public bool Exists(SoftFile i) { return(_softFiles.Exists(n => n.Id == i.Id)); }
//public static bool operator !=(SoftFile i, SoftFile b) //{ // return ((!i.Compare(b) && i.Id != b.Id)); //} //public static bool operator== (SoftFile i, SoftFile b) //{ // return (i.Compare(b) && i.Id == b.Id); //} public bool Equals(SoftFile obj) { return((Compare(obj) && Id == obj.Id)); }