public void Can_Get_Built_In_Properties_Camel_Case() { var date = DateTime.Now; var member = new Member("test name", "*****@*****.**", "test username", "test password", GetMemberType()); member.Comments = "test comment"; member.IsApproved = true; member.IsLockedOut = false; member.CreateDate = date; member.LastLoginDate = date.AddMinutes(1); member.LastLockoutDate = date.AddMinutes(2); //NOTE: Last activity date is always the same as last login date since we don't have a place to store that data //member.LastLoginDate = date.AddMinutes(3); member.LastPasswordChangeDate = date.AddMinutes(4); member.PasswordQuestion = "test question"; var mpc = new MemberPublishedContent(member); var d = mpc.AsDynamic(); Assert.AreEqual("test comment", d.comments); Assert.AreEqual(date, d.creationDate); Assert.AreEqual("*****@*****.**", d.email); Assert.AreEqual(true, d.isApproved); Assert.AreEqual(false, d.isLockedOut); Assert.AreEqual(date.AddMinutes(1), d.lastActivityDate); Assert.AreEqual(date.AddMinutes(2), d.lastLockoutDate); Assert.AreEqual(date.AddMinutes(1), d.lastLoginDate); Assert.AreEqual(date.AddMinutes(4), d.lastPasswordChangedDate); Assert.AreEqual("test name", d.name); Assert.AreEqual("test question", d.passwordQuestion); Assert.AreEqual("test username", d.userName); }
public void Can_Get_Custom_Properties() { var date = DateTime.Now; var memberType = MockedContentTypes.CreateSimpleMemberType("Member", "Member"); var member = MockedMember.CreateSimpleMember(memberType, "test name", "*****@*****.**", "test password", "test username"); member.Comments = "test comment"; member.IsApproved = true; member.IsLockedOut = false; member.CreateDate = date; member.LastLoginDate = date.AddMinutes(1); member.LastLockoutDate = date.AddMinutes(2); //NOTE: Last activity date is always the same as last login date since we don't have a place to store that data //member.LastLoginDate = date.AddMinutes(3); member.LastPasswordChangeDate = date.AddMinutes(4); member.PasswordQuestion = "test question"; member.Properties["title"].Value = "Test Value 1"; member.Properties["bodyText"].Value = "Test Value 2"; member.Properties["author"].Value = "Test Value 3"; var mpc = new MemberPublishedContent(member); var d = mpc.AsDynamic(); Assert.AreEqual("Test Value 1", d.title); Assert.AreEqual("Test Value 1", d.Title); Assert.AreEqual("Test Value 2", d.bodyText); Assert.AreEqual("Test Value 2", d.BodyText); Assert.AreEqual("Test Value 3", d.author); Assert.AreEqual("Test Value 3", d.Author); }
public static string GetUserImage(this MemberPublishedContent member) { var md5 = MD5.Create(); // at the moment this only works when ModelsBuilder is off, because it // doesn't let you get to MemberPublishedContent from the GetCurrentMember call :( // if (member != null) { byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(member.Email.Trim().ToLower()); var hash = BitConverter.ToString(md5.ComputeHash(inputBytes)).Replace("-", "").ToLower(); return("https://www.gravatar.com/avatar/" + hash); } return("https://www.gravatar.com/avatar/?d=mm"); }
public ActionResult Index(string url) { UrlInformation result = AuthorisedMediaManager.Instance.GetUrlInformation(url); if (!result.IsMedia) { // Not a valid media URL - so can't be returned via this controller return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } int parentId = AuthorisedMediaManager.Instance.ParentId(result.MediaFolderId); if (parentId < 1) { // No record of a protected parent folder, so return the file return(GetFileStreamResult(url)); } IPublishedContent parent = Umbraco.TypedMedia(parentId); if (parent == null) { // No parent media item, so it can't be protected return(GetFileStreamResult(url)); } if (parent.ContentType.Alias != "protectedFolder" || !parent.HasProperty("memberGroups") || !parent.HasValue("memberGroups")) { // Not a protected folder - with a value for membergroups return(GetFileStreamResult(url)); } FormsAuthenticationTicket authenticationTicket = new HttpContextWrapper(System.Web.HttpContext.Current).GetUmbracoAuthTicket(); bool memberLoggedIn = Members.IsLoggedIn(); bool hasUserAuthTicket = authenticationTicket != null; if (hasUserAuthTicket && IsUserLoggedIn(authenticationTicket)) { // All users can access media return(GetFileStreamResult(url)); } if (memberLoggedIn) { MemberPublishedContent member = (MemberPublishedContent)Members.GetCurrentMember(); if (member == null) { // Can't get the current member - so return a 404 return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } string[] allowedMemberGroups = parent.GetPropertyValue <string>("memberGroups").Split(','); string[] memberRoles = Roles.GetRolesForUser(member.UserName); foreach (string role in memberRoles) { if (allowedMemberGroups.Contains(role)) { // Member is in an appropriate group. allow access return(GetFileStreamResult(url)); } } } // No Member logged in - so return a 404 return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); }
/// <inheritdoc /> public void Process(MemberPublishedContent source, ISiteMember destination) { SetDefaults(ref destination); }