//whether current user has permission to view target user's photo. private bool TryGetPhotoFile(UserInfo targetUser, out IFileInfo photoFile) { bool isVisible = false; photoFile = null; UserInfo user = UserController.Instance.GetCurrentUserInfo(); PortalSettings settings = PortalController.Instance.GetCurrentPortalSettings(); var photoProperty = targetUser.Profile.GetProperty("Photo"); if (photoProperty != null) { isVisible = ProfilePropertyAccess.CheckAccessLevel(settings, photoProperty, user, targetUser); if (!string.IsNullOrEmpty(photoProperty.PropertyValue) && isVisible) { photoFile = FileManager.Instance.GetFile(int.Parse(photoProperty.PropertyValue)); if (photoFile == null) { isVisible = false; } } else { isVisible = false; } } return(isVisible); }
private bool IsPicVisibleToCurrentUser(int profileUserId) { var settings = PortalController.Instance.GetCurrentSettings(); var profileUser = UserController.Instance.GetUser(settings.PortalId, profileUserId); if (profileUser == null) { return(false); } var photoProperty = profileUser.Profile.GetProperty("Photo"); if (photoProperty == null) { return(false); } var currentUser = UserController.Instance.GetCurrentUserInfo(); return(ProfilePropertyAccess.CheckAccessLevel((PortalSettings)settings, photoProperty, currentUser, profileUser)); }
/// <summary> /// whether current user has permission to view target user's photo. /// </summary> /// <param name="photoFile"></param> /// <returns></returns> public bool TryGetPhotoFile(out IFileInfo photoFile) { photoFile = null; var settings = PortalController.Instance.GetCurrentPortalSettings(); var targetUser = UserController.Instance.GetUser(settings.PortalId, this.UserID); if (targetUser == null) { return(false); } var photoProperty = targetUser.Profile.GetProperty("Photo"); if (photoProperty == null) { return(false); } var user = UserController.Instance.GetCurrentUserInfo(); var isVisible = ProfilePropertyAccess.CheckAccessLevel(settings, photoProperty, user, targetUser); if (!string.IsNullOrEmpty(photoProperty.PropertyValue) && isVisible) { photoFile = FileManager.Instance.GetFile(int.Parse(photoProperty.PropertyValue)); if (photoFile == null) { isVisible = false; } } else { isVisible = false; } return(isVisible); }