protected void btnRegister_Click(object sender, EventArgs e) { string Username = tbUsername.Text; string Password = tbPassword.Text; string Password2 = tbPassword2.Text; if (Password != Password2) { throw new Exception("Passwords do not match"); } ParakeetUser Usr = ParakeetDb.Select <ParakeetUser>(new DbFilter("Username", Username)).FirstOrDefault(); if (Usr != null) { throw new Exception("Username has been reserved"); } ParakeetUser NewUser = new ParakeetUser(); NewUser.Username = Username; NewUser.Salt = PasswordManager.GenerateSalt(); NewUser.Hash = PasswordManager.HashPassword(Password, NewUser.Salt); ParakeetDb.Insert(NewUser); SetUser(NewUser); Response.Redirect("~/Default.aspx"); }
protected void btnUpload_Click(object sender, EventArgs e) { if (!fileUpload.HasFile) { PrintMessage("File was not attached"); return; } byte[] Bytes = fileUpload.FileBytes; string Name = Files.GetFileName(fileUpload.FileName); string Ext = Path.GetExtension(fileUpload.FileName).ToLower(); string NewName = Files.GenFileName(Ext); string[] Formats = new[] { ".jpg", ".png", ".gif" }; if (!Formats.Contains(Ext)) { PrintMessage(string.Format("Unsupported file format ({0})", string.Join(", ", Formats))); return; } if (Bytes.Length > 16000000) { PrintMessage("File size too big! 16 megabytes or less supported"); return; } HashSet <string> Tags = Utils.ParseTags(inTags.Text); Tags.Add(Name); Files.SaveImageFile(NewName, Bytes); ContentID Content = new ContentID(); Content.ContentType = ContentIDType.Image; Content.Name = Name; Content.OwnerID = User.ID; Content.Tags = Utils.JoinTags(Tags); Content.FileName = NewName; ParakeetDb.Insert(Content); Clear(); PrintMessage("Upload success!"); }
protected void btnLogin_Click(object sender, EventArgs e) { string Username = tbUsername.Text; string Password = tbPassword.Text; bool RememberMe = cbRememberMe.Checked; ParakeetUser Usr = ParakeetDb.Select <ParakeetUser>(new DbFilter("Username", Username)).First(); if (Usr == null) { ThrowInvalidUserOrPass(); } if (!PasswordManager.IsValidPassword(Password, Usr.Salt, Usr.Hash)) { ThrowInvalidUserOrPass(); } SetUser(Usr); Response.Redirect("~/Default.aspx"); }
protected void Page_Load(object sender, EventArgs e) { ParakeetUser User = null; if (!CheckLoggedIn(out User)) { Response.Redirect("~/Login.aspx"); return; } NameValueCollection QS = Request.QueryString; string[] Tags = (QS.Get("tags") ?? "").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (Tags.Length == 0) { Tags = null; } ContentItem[] Items = ParakeetDb.Select <ContentID>().Where(CID => CID.HasTags(Tags)).Select(CID => new ContentItem(CID)).ToArray(); rptImages.DataSource = Items; rptImages.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { ParakeetUser Admin = ParakeetDb.Select <ParakeetUser>(new DbFilter("Username", "admin")).First(); }