protected override void Render(System.Web.UI.HtmlTextWriter writer) { DataRow member = lw.Members.Security.User.LoggedInUser(this); int privacy = (int)member["Privacy"]; int test = 0; PrivacySettingsManager psMgr = new PrivacySettingsManager(); DataView view = new DataView(psMgr.Table, "Property='" + For + "'", "", DataViewRowState.CurrentRows); if (view.Count > 0) { test = (int)view[0]["Value"]; } writer.Write("<div class=\"privacy-lock\">"); // writer.Write("<a href=\"#privacy\">Privacy</a>"); writer.Write("<ul>"); foreach (PrivacyOptions option in Enum.GetValues(typeof(PrivacyOptions))) { writer.Write(string.Format("<li><input type=\"radio\" name=\"privacy_{2}\" value=\"{0}\" id=\"{2}_{0}\" {3}/>" + "<label for=\"{2}_{0}\">{1}</label></li>", option.ToString(), EnumHelper.GetDescription(option), For, IsSelected(option, test, privacy)? " checked": "" )); } writer.Write("</ul>"); writer.Write("</div>"); base.Render(writer); }
public override void DataBind() { if (bound) { return; } bound = true; this.HRef = ""; DataRow memberRow = DataBinder.Eval(this.NamingContainer, "DataItem") as DataRow; if (memberRow == null) { DataRowView drv = DataBinder.Eval(this.NamingContainer, "DataItem") as DataRowView; if (drv == null) { this.HRef = ""; return; } memberRow = drv.Row; } int privacy = (int)memberRow["Privacy"]; int MemberId = (int)memberRow["MemberId"]; PrivacySettingsManager psMgr = new PrivacySettingsManager(); if (psMgr.CanAccess(memberRow, "VisitorsAccess", this)) { Config cfg = new Config(); this.HRef = string.Format("{0}/{1}/{2}", WebContext.Root, cfg.GetKey(MembersSettings.ProfilesDirectory), memberRow["UserName"]); this.Title = string.Format("{0}", memberRow["Name"]); } base.DataBind(); }
protected override void Render(System.Web.UI.HtmlTextWriter writer) { if (!_bound) { this.DataBind(); } if (memberRow == null) { return; } MembersManager mMgr = new MembersManager(); //why we have to get the member row again??? i couldn't find a reason. //memberRow = mMgr.GetMemberProfile((int)memberRow["MemberId"]); string picture = ""; if (memberRow["Picture"] != System.DBNull.Value && !String.IsNullOrEmpty(memberRow["Picture"].ToString())) { picture = memberRow["Picture"].ToString(); } int MemberId = (int)memberRow["MemberId"]; int privacy = 0; if (memberRow["Privacy"] != DBNull.Value) { privacy = (int)memberRow["Privacy"]; } string image = ""; PrivacySettingsManager psMgr = new PrivacySettingsManager(); if (MemberId != WebContext.Profile.UserId) { switch (psMgr.CheckMemberProperty("ProfilePicture", privacy)) { case PrivacyOptions.OnlyMe: picture = ""; break; case PrivacyOptions.Friends: lw.Base.CustomPage page = this.Page as lw.Base.CustomPage; DataTable MyFriends = FriendsManager.GetMyFriends(page); if (MyFriends.Select(string.Format("FriendId={0} and Status=1", memberRow["MemberId"])).Length == 0) { picture = ""; } break; default: break; } if (!Visible) { return; } } if (picture != "") { if (useGUID) { image = string.Format("{0}/{2}/{1}", MembersSettings.MemberPicturesFolder, picture, StringUtils.ToURL(memberRow["Geuid"])); } else { image = string.Format("{0}/{2}/{1}", MembersSettings.MemberPicturesFolder, picture, StringUtils.ToURL(memberRow["UserName"])); } } else { if (NoPicture != "") { image = NoPicture; this._Src = NoPicture; } else { if (NoFPicture != "" && NoMPicture != "") { Gender?_gender = Gender.Male; try { _gender = (lw.Members.Gender)Enum.Parse(typeof(lw.Members.Gender), memberRow["Gender"].ToString()); } catch { } if (_gender == lw.Members.Gender.Male) { image = NoMPicture; this._Src = NoMPicture; } else { image = NoFPicture; this._Src = NoFPicture; } } } } //this.Alt = memberRow["Name"].ToString(); this.Alt = memberRow["FirstName"].ToString() + " " + memberRow["LastName"].ToString(); switch (MemberImageType) { case ImageType.Crop: case ImageType.Resize: if (_width > 0) { if (MemberImageType == ImageType.Resize) { this._Src = string.Format("{4}/prv/handlers/ImageResizer.ashx?src={0}&width={1}&height={2}&fillColor={3}", image, _Width, _Height, FillColor.ToArgb(), WebContext.Root); } else { this._Src = string.Format("{4}/prv/handlers/ImageCropper.ashx?src={0}&width={1}&height={2}&fillColor={3}", image, _Width, _Height, FillColor.ToArgb()); } } else { this._Src = string.Format("{0}/{1}", WebContext.Root, image); } break; case ImageType.NewResize: this._Src = string.Format("{3}prv/handlers/ResizeImage.ashx?img={0}&w={1}&h={2}", image, _Width, _Height, WebContext.Root); break; case ImageType.Large: this._Src = image; break; case ImageType.Medium: if (picture != "") { this._Src = image.ToLower().Replace(".jpg", "-m.jpg"); } else { this._Src = NoPicture; } break; case ImageType.Thumb: if (picture != "") { this._Src = image.ToLower().Replace(".jpg", "-s.jpg?" + DateTime.Now.ToFileTime()); // Datetime added to prevent cashing } else { this._Src = NoPicture; } break; default: break; } if (this._Src != "") { this.Src = WebContext.Root + "/" + this._Src; base.Render(writer); } }
public override void DataBind() { if (_bound) { return; } _bound = true; DataRow memberRow = DataBinder.Eval(this.NamingContainer, "DataItem") as DataRow; if (memberRow == null) { DataRowView memberRowView = DataBinder.Eval(this.NamingContainer, "DataItem") as DataRowView; if (memberRowView != null) { memberRow = memberRowView.Row; } } if (memberRow == null) { return; } int privacy = (int)memberRow["Privacy"]; if (memberRow == null) { DataRowView drv = DataBinder.Eval(this.NamingContainer, "DataItem") as DataRowView; if (drv == null) { ErrorContext.Add("invalid-dataitem", "Invalid Container for: " + Property); this.Visible = false; return; } memberRow = drv.Row; } object obj = null; if (memberRow.Table.Columns.Contains(Property)) { obj = memberRow[Property]; } PrivacySettingsManager psMgr = new PrivacySettingsManager(); this.Visible = psMgr.CanAccess(memberRow, Property, this); if (!this.Visible) { return; } int MemberId = (int)memberRow["MemberId"]; switch (Property) { /*case "Network": * MemberNetworksManager nMgr = new MemberNetworksManager(); * IQueryable<MemberNetworksView> networks = nMgr.GetMemberNetworksView((int)memberRow["MemberId"]); * if (networks.Count() > 0) * { * obj = networks.First().Name; * } * break; */ case "Gender": if (memberRow["Gender"] != DBNull.Value && memberRow["Gender"] != null) { Gender gender = (Gender)Enum.Parse(typeof(Gender), memberRow["Gender"].ToString()); obj = gender.ToString(); } break; case "Email": break; case "StudentID": if (MemberId != WebContext.Profile.UserId) { this.Visible = false; } break; default: break; } if (obj != null && obj.ToString().Trim() != "") { obj = string.Format(Format, obj); this.Text = StringUtils.AddSup(obj.ToString()); } base.DataBind(); _iVisible = this.Visible && !String.IsNullOrWhiteSpace(this.Text); }