public int GetNewUsersCount(string username, string hash) { string encodedData = Convert.ToBase64String(Encoding.ASCII.GetBytes(username)); string hash2 = Misc.HMACSHA1ToHex(encodedData, Properties.Settings.Default.SecretGadgetKey); if (hash != hash2) return 0; NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.UsersSince = Classes.User.Load(username).PrevLogin; UserSearchResults nuResults = nuSearch.GetResultsFromCache(true); if (nuResults != null && nuResults.Usernames != null) return nuResults.Usernames.Length; else return 0; }
private static void AsyncProcessMailerQueue(object data) { if (mailerLock) { return; } try { mailerLock = true; int usersOnline = 0; int newUsers = 0; int sentMessages = 0; DateTime to = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 0, 0); DateTime from = to - TimeSpan.FromHours(1); OnlineSearch onlineUsersSearch = new OnlineSearch(); UserSearchResults results = onlineUsersSearch.GetResults(); usersOnline = results != null ? results.Usernames.Length : 0; NewUsersSearch newUsersSearch = new NewUsersSearch(); newUsersSearch.ProfileReq = false; newUsersSearch.UsersSince = DateTime.Now.AddHours(-1); results = newUsersSearch.GetResults(); newUsers = results != null ? results.Usernames.Length : 0; sentMessages = FetchMessagesCount(from, to); Save(DateTime.Now, usersOnline, newUsers, sentMessages); } catch (Exception err) { Global.Logger.LogError("HourlyStats", err); } finally { mailerLock = false; } }
private static void GenerateNewUsersRSS(HttpContext context) { byte[] xmlResponse; string cacheKey = String.Format("RssHandler_GenerateNewUsersRSS"); if (context.Cache[cacheKey] != null) { xmlResponse = context.Cache[cacheKey] as byte[]; } else { NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.PhotoReq = true; nuSearch.UsersCount = 10; UserSearchResults nuResults = nuSearch.GetResults(); MemoryStream ms = new MemoryStream(); XmlTextWriter objX = new XmlTextWriter(ms, Encoding.UTF8); objX.WriteStartDocument(); objX.WriteStartElement("rss"); objX.WriteAttributeString("version", "2.0"); objX.WriteStartElement("channel"); objX.WriteElementString("title", Config.Misc.SiteTitle + " - " + Lang.Trans("New Users")); objX.WriteElementString("link", Config.Urls.Home); objX.WriteElementString("description", Lang.Trans("They've just joined us!")); objX.WriteElementString("copyright", Lang.Trans("(c) 2003-2008, All rights reserved.")); objX.WriteElementString("ttl", "30"); if (nuResults != null && nuResults.Usernames != null) { foreach (string username in nuResults.Usernames) { User user = User.Load(username); int age = (int) (DateTime.Now.Subtract(user.Birthdate).TotalDays/365.25); string descr = String.Format(Lang.Trans("<img src=\"{2}\"><br>Gender: {0}<br>Age:{1}"), user.Gender, age, Config.Urls.Home + "/Image.ashx?id=" + Photo.GetPrimary(username).Id + "&width=90&height=90&cache=1"); objX.WriteStartElement("item"); objX.WriteElementString("title", username); objX.WriteElementString("description", descr); objX.WriteElementString("link", Config.Urls.Home + "/ShowUser.aspx?uid=" + username); objX.WriteElementString("pubDate", user.UserSince.ToString("R")); objX.WriteEndElement(); } } objX.WriteEndElement(); objX.WriteEndElement(); objX.WriteEndDocument(); objX.Flush(); objX.Close(); xmlResponse = ms.ToArray(); context.Cache.Insert(cacheKey, xmlResponse, null, DateTime.Now.AddMinutes(10), Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); } context.Response.Clear(); context.Response.ContentType = "application/xml"; context.Response.BinaryWrite(xmlResponse); context.Response.End(); }
public int GetNewUsersForTheLast24hoursCount() { NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.ProfileReq = false; nuSearch.UsersSince = DateTime.Now.Subtract(new TimeSpan(24, 0, 0)); UserSearchResults nuResults = nuSearch.GetResults(); if (nuResults == null) return 0; else return nuResults.Usernames.Length; }
public NewUserInfo GetRandomNewUser(string gender) { NewUserInfo info = new NewUserInfo(); NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.PhotoReq = true; nuSearch.UsersCount = 10; if (!string.IsNullOrEmpty(gender)) { try { nuSearch.Gender = (User.eGender) Enum.Parse(typeof(User.eGender), gender); } catch (ArgumentException) { } } UserSearchResults nuResults = nuSearch.GetResults(); if (nuResults != null && nuResults.Usernames != null) { Random rand = new Random(); info.username = nuResults.Usernames[rand.Next(nuResults.Usernames.Length)]; info.profileUrl = UrlRewrite.CreateShowUserUrl(info.username); info.imageUrl = ImageHandler.CreateImageUrl(Photo.GetPrimary(info.username).Id, 120, 120, true, false, false); } return info; }
private void preparePage() { #region Load Photo Photo primaryPhoto = null; try { primaryPhoto = CurrentUserSession.GetPrimaryPhoto(); } catch (NotFoundException) { } catch (Exception err) { Log(err); } #region Check CurrentUserSession.Gender and set photoId int photoId; if (primaryPhoto == null || !primaryPhoto.Approved) { photoId = ImageHandler.GetPhotoIdByGender(CurrentUserSession.Gender); } else { photoId = primaryPhoto.Id; } #endregion if (Config.Photos.EnablePhotoStack) { imgPhoto.ImageUrl = ImageHandler.CreateImageStackUrl(CurrentUserSession.Username, 200, 150); } else { imgPhoto.ImageUrl = String.Format("~/Image.ashx?id={0}&width=90&height=90&diskCache=1&findFace=1", photoId); } #endregion #region Show Profile Views if (Config.Users.EnableWhoViewedMyProfile) { lblProfileViews.Text = CurrentUserSession.ProfileViews.ToString(); if (CurrentUserSession.ProfileViews == 0) { lnkViewProfileViewers.Enabled = false; } liWhoViewedMyProfile.Visible = true; } else { liWhoViewedMyProfile.Visible = false; } #endregion #region Show Rating if (Config.Ratings.EnableProfileRatings) { pnlRating.Visible = true; try { UserRating userRating = UserRating.FetchRating(CurrentUserSession.Username); lblRating.Text = String.Format( Lang.Trans("{0} ({1} votes)"), userRating.AverageVote.ToString("0.00"), userRating.Votes); } catch (NotFoundException) { lblRating.Text = Lang.Trans("no rating"); } } else pnlRating.Visible = false; #endregion #region Show Votes if (Config.Ratings.EnableProfileVoting) { int score = UserVotes.FetchVotesScore(CurrentUserSession.Username); if (score > 0) { pnlVotes.Visible = true; lblVotes.Text = score.ToString(); } else { pnlVotes.Visible = false; } } else { pnlVotes.Visible = false; } #endregion #region Load New Users var nuSearch = new NewUsersSearch { PhotoReq = Config.Users.RequirePhotoToShowInNewUsers, ProfileReq = Config.Users.RequireProfileToShowInNewUsers, UsersSince = CurrentUserSession.PrevLogin }; UserSearchResults nuResults = nuSearch.GetResults(true); if (nuResults == null) { pnlNewUsers.Visible = false; } else { lnkNewUsers.Text = nuResults.Usernames.Length == 1 ? Lang.Trans("There is one new user since your last visit!") : String.Format(Lang.Trans("There are <b>{0}</b> new users since your last visit!"), nuResults.Usernames.Length); pnlNewUsers.Visible = true; } #endregion #region Load Online Users var oSearch = new OnlineSearch(); UserSearchResults oResults = oSearch.GetResults(); if (oResults == null) { pnlUsersOnline.Visible = false; } else { lblUsersOnline.Text = oResults.Usernames.Length == 1 ? Lang.Trans("There is one online user!") : String.Format(Lang.Trans("There are <b>{0}</b> online users!"), oResults.Usernames.Length); pnlUsersOnline.Visible = true; } #endregion #region Show users broadcasting video if (Config.Misc.EnableProfileVideoBroadcast) { var vbSearch = new VideoBroadcastingSearch(); UserSearchResults vbResults = vbSearch.GetResults(); if (vbResults == null) { pnlUsersBroadcasting.Visible = false; } else { lblUsersBroadcasting.Text = vbResults.Usernames.Length == 1 ? Lang.Trans("There is one user broadcasting video!") : String.Format(Lang.Trans("There are <b>{0}</b> users broadcasting video!"), vbResults.Usernames.Length); pnlUsersBroadcasting.Visible = true; } } else { pnlUsersBroadcasting.Visible = false; } #endregion #region Load Blocked Users int blockedUsers = Data.User.FetchBlockedUsers(CurrentUserSession.Username).Count; if (blockedUsers == 0) { pnlBlockedUsers.Visible = false; } else { lblBlockedUsers.Text = blockedUsers == 1 ? Lang.Trans("There is one blocked user!") : String.Format(Lang.Trans("There are <b>{0}</b> blocked users!"), blockedUsers); pnlBlockedUsers.Visible = true; } #endregion #region Show Unread Messages int unreadMsgCount = Message.SearchUnread(CurrentUserSession.Username).Length; if (unreadMsgCount > 0) { pnlNewMessages.Visible = true; if (unreadMsgCount == 1) { if (lblNewMessages != null) { lblNewMessages.Text = Lang.Trans("You have <b>1</b> unread message!"); lnkNewMessages.Text = Lang.Trans("View"); } else { lnkNewMessages.Text = Lang.Trans("You have <b>1</b> unread message!"); } } else { if (lblNewMessages != null) { lblNewMessages.Text = String.Format( Lang.Trans("You have <b>{0}</b> unread messages!"), unreadMsgCount); lnkNewMessages.Text = Lang.Trans("View"); } else { lnkNewMessages.Text = String.Format( Lang.Trans("You have <b>{0}</b> unread messages!"), unreadMsgCount); } } } else { pnlNewMessages.Visible = false; } #endregion #region Show Relationship Requests if (Config.Users.EnableRelationshipStatus) { int relationshipRequests = Relationship.FetchRequests(CurrentUserSession.Username).Length; if (relationshipRequests > 0) { pnlRelationshipRequests.Visible = true; if (relationshipRequests == 1) { if (lblRelationshipRequests != null) { lblRelationshipRequests.Text = Lang.Trans("You have <b>1</b> relationship request!"); lnkRelationshipRequests.Text = Lang.Trans("View"); } else { lnkRelationshipRequests.Text = Lang.Trans("You have <b>1</b> relationship request!"); } } else { if (lblRelationshipRequests != null) { lblRelationshipRequests.Text = String.Format( Lang.Trans("You have <b>{0}</b> relationship requests!"), relationshipRequests); lnkRelationshipRequests.Text = Lang.Trans("View"); } else { lnkRelationshipRequests.Text = String.Format( Lang.Trans("You have <b>{0}</b> relationship requests!"), relationshipRequests); } } } else { pnlRelationshipRequests.Visible = false; } } else pnlRelationshipRequests.Visible = false; #endregion #region Show Friend Requests int friendRequests = Data.User.FetchFriendsRequests(CurrentUserSession.Username).Length; if (friendRequests > 0) { pnlFriendsRequests.Visible = true; if (friendRequests == 1) { if (lblFriendsRequests != null) { lblFriendsRequests.Text = Lang.Trans("You have <b>1</b> friend request!"); lnkFriendsRequests.Text = Lang.Trans("View"); } else { lnkFriendsRequests.Text = Lang.Trans("You have <b>1</b> friend request!"); } } else { if (lblFriendsRequests != null) { lblFriendsRequests.Text = String.Format( Lang.Trans("You have <b>{0}</b> friend requests!"), friendRequests); lnkFriendsRequests.Text = Lang.Trans("View"); } else { lnkFriendsRequests.Text = String.Format( Lang.Trans("You have <b>{0}</b> friend requests!"), friendRequests); } } } else { pnlFriendsRequests.Visible = false; } #endregion #region Show New Ecards if (CurrentUserSession.CanSendEcards() != PermissionCheckResult.No) { int unreadEcardsCount = Ecard.FetchUnread(CurrentUserSession.Username).Length; if (unreadEcardsCount > 0) { pnlNewEcards.Visible = true; if (unreadEcardsCount == 1) { if (lblNewEcards != null) { lblNewEcards.Text = Lang.Trans("You have <b>1</b> unread e-card!"); lnkNewEcards.Text = Lang.Trans("View"); } else { lnkNewEcards.Text = Lang.Trans("You have <b>1</b> unread e-card!"); } } else { if (lblNewEcards != null) { lblNewEcards.Text = String.Format( Lang.Trans("You have <b>{0}</b> unread e-cards!"), unreadEcardsCount); lnkNewEcards.Text = Lang.Trans("View"); } else { lnkNewEcards.Text = String.Format( Lang.Trans("You have <b>{0}</b> unread e-cards!"), unreadEcardsCount); } } } else { pnlNewEcards.Visible = false; } } else pnlNewEcards.Visible = false; #endregion #region Add Initial Web Parts bool firstTime = CurrentUserSession.PersonalizationInfo == null; bool isDirty = firstTime; if (firstTime) { WebPartInfo[] infos = Config.WebParts.GetAvailableWebParts(WebPartZone.HomePageRightZone, true); for (int i = 0; i < infos.Length; ++i) WebPartManager1.AddWebPartUserControl(infos[i], wpzHomePageRightZone, i); infos = Config.WebParts.GetAvailableWebParts(WebPartZone.HomePageLeftZone, true); for (int i = 0; i < infos.Length; ++i) WebPartManager1.AddWebPartUserControl(infos[i], wpzHomePageLeftZone, i); } if (!Config.Groups.EnableGroups) { foreach (WebPart part in WebPartManager1.WebParts) { if (part.Controls[0] is NewGroupsWebPart) { WebPartManager1.DeleteWebPart(part); isDirty = true; } } } if (isDirty) { WebPartManager1.SetDirty(); // ReSharper disable RedundantAssignment isDirty = false; // ReSharper restore RedundantAssignment } #endregion #region Show contest rankings if (Config.Ratings.EnablePhotoContests) { PhotoContestEntry[] entries = PhotoContestEntry.Load(null, null, CurrentUserSession.Username, null); if (entries != null && entries.Length > 0) { var dtRanks = new DataTable(); dtRanks.Columns.Add("Rank", typeof(int)); dtRanks.Columns.Add("ContestName", typeof(string)); foreach (PhotoContestEntry entry in entries) { int rank = PhotoContestEntry.FindRank(entry.ContestId, entry.Id); if (rank > 0) { PhotoContest contest = PhotoContest.Load(entry.ContestId); if (contest.DateEnds.HasValue && contest.DateEnds < DateTime.Now) continue; dtRanks.Rows.Add(new object[] { rank, contest.Name }); } } if (dtRanks.Rows.Count > 0) { rptContestsRanks.DataSource = dtRanks; rptContestsRanks.DataBind(); rptContestsRanks.Visible = true; } } } #endregion #region Show Pending Invitations if (Config.Groups.EnableGroups) { int pendingInvitations = Group.FetchPendingInvitations(CurrentUserSession.Username); if (pendingInvitations > 0) { pnlPendingInvitations.Visible = true; if (pendingInvitations == 1) { if (lblPendingInvitatinos != null) { lblPendingInvitatinos.Text = Lang.Trans("You have <b>1</b> pending invitation!"); lnkPendingInvitations.Text = Lang.Trans("View"); } else { lnkPendingInvitations.Text = Lang.Trans("You have <b>1</b> pending invitation!"); } } else { if (lblPendingInvitatinos != null) { lblPendingInvitatinos.Text = String.Format( Lang.Trans("You have <b>{0}</b> pending invitations!"), pendingInvitations); lnkPendingInvitations.Text = Lang.Trans("View"); } else { lnkPendingInvitations.Text = String.Format( Lang.Trans("You have <b>{0}</b> pending invitations!"), pendingInvitations); } } } } #endregion #region Show group topic subscriptions if (Config.Groups.EnableGroups) { DataTable dtGroupTopicSubscriptions = new DataTable("GroupTopicSubscriptions"); dtGroupTopicSubscriptions.Columns.Add("GroupTopicID"); dtGroupTopicSubscriptions.Columns.Add("GroupTopicName"); dtGroupTopicSubscriptions.Columns.Add("GroupID"); dtGroupTopicSubscriptions.Columns.Add("GroupName"); GroupTopic[] groupTopics = GroupTopic.FetchUpdatedGroupTopicsUserHasSubscribedTo(CurrentUserSession.Username); foreach (GroupTopic groupTopic in groupTopics) { Group group = Group.Fetch(groupTopic.GroupID); if (group != null) { dtGroupTopicSubscriptions.Rows.Add(new object[] { groupTopic.ID, groupTopic.Name, group.ID, group.Name }); } } rptGroupTopicSubscriptions.DataSource = dtGroupTopicSubscriptions; rptGroupTopicSubscriptions.DataBind(); rptGroupTopicSubscriptions.Visible = dtGroupTopicSubscriptions.Rows.Count > 0; } #endregion #region Show Status text if (Config.Users.EnableUserStatusText) { pnlStatusText.Visible = !Config.Misc.SiteIsPaid || Data.User.IsPaidMember(CurrentUserSession.Username); lblStatusText.Text = Server.HtmlEncode(CurrentUserSession.StatusText) ?? "Not set".Translate(); } #endregion #region Notify Facebook for the changed status long? facebookID = CurrentUserSession.FacebookID; if (Config.Misc.EnableFacebookIntegration && facebookID.HasValue && facebookID > 0) { divFaceBookStatusUpdate.Visible = true; pnlInviteFriendsFromFacebook.Visible = true; } #endregion }
private void NewUsersSearch() { mvSearch.SetActiveView(viewSearchResults); NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.PhotoReq = Config.Users.RequirePhotoToShowInNewUsers; nuSearch.ProfileReq = Config.Users.RequireProfileToShowInNewUsers; nuSearch.UsersSince = CurrentUserSession.PrevLogin; UserSearchResults nuResults = nuSearch.GetResults(); Results = nuResults; }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); #region Load New Users (thumbnails) DataTable dtNewUsers; string cacheKey = String.Format("NewUsers.ascx_{0}_{1}_{2}_{3}", genderSearch ? gender.ToString() : "null", MinAge, MaxAge, Config.Users.ShowFeaturedMemberOnHomePage); if (Cache[cacheKey] != null && Cache[cacheKey] is DataTable && Session["theme"] == null) { dtNewUsers = (DataTable)Cache[cacheKey]; } else { var nuSearch = new NewUsersSearch { PhotoReq = Config.Users.RequirePhotoToShowInNewUsers, ProfileReq = Config.Users.RequireProfileToShowInNewUsers, UsersCount = (dlNewMembers.RepeatColumns*LimitRows), MinAge = MinAge, MaxAge = MaxAge }; if (genderSearch) nuSearch.Gender = Gender; if (Config.Users.ShowFeaturedMemberOnHomePage) nuSearch.IsFeaturedMember = true; UserSearchResults nuResults = nuSearch.GetResults(); dtNewUsers = new DataTable(); dtNewUsers.Columns.Add("Username"); dtNewUsers.Columns.Add("ImageId", typeof (int)); dtNewUsers.Columns.Add("Age"); dtNewUsers.Columns.Add("Age2"); dtNewUsers.Columns.Add("Gender"); dtNewUsers.Columns.Add("Country"); dtNewUsers.Columns.Add("City"); dtNewUsers.Columns.Add("StatusText"); if (nuResults != null && nuResults.Usernames != null) { foreach (string username in nuResults.Usernames) { int imageId; User user; try { user = User.Load(username); } catch (NotFoundException) { continue; } try { imageId = Photo.GetPrimary(username).Id; } catch (NotFoundException) { imageId = ImageHandler.GetPhotoIdByGender(user.Gender); } string age = !Config.Users.DisableAgeInformation ? user.Age.ToString() : String.Empty; string age2 = !Config.Users.DisableAgeInformation ? user.Age2.ToString() : String.Empty; string g = !Config.Users.DisableGenderInformation ? user.Gender.ToString() : String.Empty; dtNewUsers.Rows.Add( new object[] { username, imageId, age, user.Gender == User.eGender.Couple ? age2 : String.Empty, g, user.Country, user.City, user.StatusText }); } Cache.Add(cacheKey, dtNewUsers, null, DateTime.Now.Add(TimeSpan.FromMinutes(10)), Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); } } if (dtNewUsers.Rows.Count > 0) { dlNewMembers.DataSource = dtNewUsers; dlNewMembers.DataBind(); } #endregion #region Prepare CoolIris link if (Config.Misc.EnableCoolIris) { var rssNews = new HtmlLink(); rssNews.Attributes.Add("rel", "alternate"); rssNews.Attributes.Add("type", "application/rss+xml"); rssNews.Attributes.Add("title", ""); rssNews.Attributes.Add("id", "gallery"); var feedUrl = String.Format("CoolIris.ashx?feed=newusers&gender={0}&minage={1}&maxage={2}", genderSearch ? Gender.ToString() : "", MinAge, MaxAge); rssNews.Attributes.Add("href", feedUrl); Page.Header.Controls.Add(rssNews); } #endregion }
private static void GenerateNewUsersFeed(HttpContext context) { byte[] xmlResponse; int minAge, maxAge; User.eGender? gender = null; if (!int.TryParse(context.Request.Params["minage"], out minAge)) minAge = Config.Users.MinAge; if (!int.TryParse(context.Request.Params["maxage"], out maxAge)) maxAge = Config.Users.MaxAge; try { gender = (User.eGender?) Enum.Parse(typeof (User.eGender), context.Request.Params["gender"]); } catch (ArgumentNullException) {} catch (ArgumentException) {} string cacheKey = String.Format("RssHandler_GenerateNewUsersFeed_{0}_{1}_{2}", gender, minAge, maxAge); if (context.Cache[cacheKey] != null) { xmlResponse = context.Cache[cacheKey] as byte[]; } else { var nuSearch = new NewUsersSearch { PhotoReq = true, UsersCount = 20, MinAge = minAge, MaxAge = maxAge }; if (gender.HasValue) nuSearch.Gender = gender.Value; UserSearchResults nuResults = nuSearch.GetResults(); var ms = new MemoryStream(); var objX = new XmlTextWriter(ms, Encoding.UTF8); objX.WriteStartDocument(); objX.WriteStartElement("rss"); objX.WriteAttributeString("version", "2.0"); objX.WriteAttributeString("xmlns:media", "http://search.yahoo.com/mrss"); objX.WriteStartElement("channel"); if (nuResults != null && nuResults.Usernames != null) { foreach (string username in nuResults.Usernames) { User user = User.Load(username); var age = (int) (DateTime.Now.Subtract(user.Birthdate).TotalDays/365.25); var sloganText = ""; try { var slogan = user.FetchSlogan(); if (slogan.Approved) sloganText = slogan.Value; } catch (NotFoundException) {} string descr = String.Format(Lang.Trans("{0} ({1}/{2})\n{3}"), username, user.Gender, age, sloganText); objX.WriteStartElement("item"); objX.WriteElementString("title", username); objX.WriteElementString("description", descr); objX.WriteElementString("link", Config.Urls.Home + "/ShowUser.aspx?uid=" + username); objX.WriteStartElement("media:thumbnail"); objX.WriteAttributeString("url", ImageHandler.CreateImageUrl( Photo.GetPrimary(username).Id, 150, 150, false, true, true)); objX.WriteEndElement(); objX.WriteStartElement("media:content"); objX.WriteAttributeString("url", ImageHandler.CreateImageUrl( Photo.GetPrimary(username).Id, Config.Photos.PhotoMaxWidth, Config.Photos.PhotoMaxHeight, false, true, true)); objX.WriteEndElement(); objX.WriteEndElement(); } } objX.WriteEndElement(); objX.WriteEndElement(); objX.WriteEndDocument(); objX.Flush(); objX.Close(); xmlResponse = ms.ToArray(); context.Cache.Insert(cacheKey, xmlResponse, null, DateTime.Now.AddMinutes(10), Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); } context.Response.Clear(); context.Response.ContentType = "application/xml"; if (xmlResponse != null) context.Response.BinaryWrite(xmlResponse); context.Response.End(); }
private void NewUsersSearch() { pnlQuickSearch.Visible = false; pnlCustomSearch.Visible = false; pnlSearchResults.Visible = true; pnlDistanceSearch.Visible = false; pnlFilterOnline.Visible = false; NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.PhotoReq = Config.Users.RequirePhotoToShowInNewUsers; nuSearch.ProfileReq = Config.Users.RequireProfileToShowInNewUsers; nuSearch.UsersSince = CurrentUserSession.PrevLogin; UserSearchResults nuResults = nuSearch.GetResults(); SearchResults.ShowLastOnline = true; SearchResults.ShowViewedOn = false; SearchResults.ShowDistance = true; SearchResults.Results = nuResults; }
protected void LoadNewMembers() { NewUsersSearch search = new NewUsersSearch { Gender = CurrentUserSession.InterestedIn, MaxAge = Math.Min(CurrentUserSession.IncomingMessagesRestrictions.AgeTo, Config.Users.MaxAge), MinAge = Math.Max(CurrentUserSession.IncomingMessagesRestrictions.AgeFrom, Config.Users.MinAge), UsersCount = RepeatColumns * LimitRows, LoginCountThreshold = 1, PageNumber = 0 }; Results = search.GetResults(); }
private void preparePage() { #region Show Profile Views if (Config.Users.EnableWhoViewedMyProfile) { lblProfileViews.Text = CurrentUserSession.ProfileViews.ToString(); if (CurrentUserSession.ProfileViews == 0) { lnkViewProfileViewers.Enabled = false; } liWhoViewedMyProfile.Visible = true; } else { liWhoViewedMyProfile.Visible = false; } #endregion #region Show Rating if (Config.Ratings.EnableProfileRatings) { pnlRating.Visible = true; try { UserRating userRating = UserRating.FetchRating(CurrentUserSession.Username); lblRating.Text = String.Format( Lang.Trans("{0} ({1} votes)"), userRating.AverageVote.ToString("0.00"), userRating.Votes); } catch (NotFoundException) { lblRating.Text = Lang.Trans("no rating"); } } else pnlRating.Visible = false; #endregion #region Show Votes if (Config.Ratings.EnableProfileVoting) { int score = UserVotes.FetchVotesScore(CurrentUserSession.Username); if (score > 0) { pnlVotes.Visible = true; lblVotes.Text = score.ToString(); } else { pnlVotes.Visible = false; } } else { pnlVotes.Visible = false; } #endregion #region Load New Users var nuSearch = new NewUsersSearch { PhotoReq = Config.Users.RequirePhotoToShowInNewUsers, ProfileReq = Config.Users.RequireProfileToShowInNewUsers, UsersSince = CurrentUserSession.PrevLogin }; UserSearchResults nuResults = nuSearch.GetResultsFromCache(true); if (nuResults == null) { pnlNewUsers.Visible = false; } else { lnkNewUsers.Text = nuResults.Usernames.Length == 1 ? Lang.Trans("There is one new user since your last visit!") : String.Format(Lang.Trans("There are <b>{0}</b> new users since your last visit!"), nuResults.Usernames.Length); pnlNewUsers.Visible = true; } #endregion #region Load Online Users var oSearch = new OnlineSearch(); UserSearchResults oResults = oSearch.GetResults(); if (oResults == null) { pnlUsersOnline.Visible = false; } else { lblUsersOnline.Text = oResults.Usernames.Length == 1 ? Lang.Trans("There is one online user!") : String.Format(Lang.Trans("There are <b>{0}</b> online users!"), oResults.Usernames.Length); pnlUsersOnline.Visible = true; } #endregion #region Show Unread Messages int unreadMsgCount = Message.SearchUnread(CurrentUserSession.Username).Length; if (unreadMsgCount > 0) { pnlNewMessages.Visible = true; if (unreadMsgCount == 1) { if (lblNewMessages != null) { lblNewMessages.Text = Lang.Trans("You have <b>1</b> unread message!"); lnkNewMessages.Text = Lang.Trans("View"); } else { lnkNewMessages.Text = Lang.Trans("You have <b>1</b> unread message!"); } } else { if (lblNewMessages != null) { lblNewMessages.Text = String.Format( Lang.Trans("You have <b>{0}</b> unread messages!"), unreadMsgCount); lnkNewMessages.Text = Lang.Trans("View"); } else { lnkNewMessages.Text = String.Format( Lang.Trans("You have <b>{0}</b> unread messages!"), unreadMsgCount); } } } else { pnlNewMessages.Visible = false; } #endregion #region Show Status text if (Config.Users.EnableUserStatusText) { pnlStatusText.Visible = !Config.Misc.SiteIsPaid || Classes.User.IsPaidMember(CurrentUserSession.Username); lblStatusText.Text = Server.HtmlEncode(CurrentUserSession.StatusText) ?? "Not set".Translate(); } #endregion }
private void preparePage() { string youHaveStrTrans = Lang.Trans("You have"); string thereAreTrans = Lang.Trans("There are"); #region Load Photo Photo primaryPhoto = null; bool hasPhoto = false; try { primaryPhoto = _currentUserSession.GetPrimaryPhoto(); hasPhoto = primaryPhoto != null && primaryPhoto.Approved ? true : false; } catch (NotFoundException) { } catch (Exception err) { if (Page is PageBase) ((PageBase)Page).Log(err); } #region Check _currentUserSession.Gender and set photoId int photoId = hasPhoto ? primaryPhoto.Id : ImageHandler.GetPhotoIdByGender(_currentUserSession.Gender); #endregion if (false) //Config.Photos.EnablePhotoStack) { imgPhoto.ImageUrl = ImageHandler.CreateImageStackUrl(_currentUserSession.Username, 200, 150); } else { if (!hasPhoto && _currentUserSession.FacebookID.HasValue && _currentUserSession.FacebookID.Value > 0) { imgPhoto.ImageUrl = ImageHandler.CreateFacebookImageUrl(_currentUserSession.FacebookID.Value, ImageHandler.eFacebookImageType.Normal); } else { imgPhoto.ImageUrl = ImageHandler.CreateImageUrl(photoId, 90, 90, photoId <= 0, true, true); } } #endregion #region Show Profile Views bool isShowProfileViews = Config.Users.EnableWhoViewedMyProfile && _currentUserSession.ProfileViews > 0; lblProfileViews.Text = isShowProfileViews ? _currentUserSession.ProfileViews.ToString() : ""; lnkViewProfileViewers.Visible = isShowProfileViews; liWhoViewedMyProfile.Visible = isShowProfileViews; #endregion #region Show Rating if (Config.Ratings.EnableProfileRatings) { pnlRating.Visible = true; try { UserRating userRating = UserRating.FetchRating(_currentUserSession.Username); lblRating.Text = String.Format( Lang.Trans("{0} ({1} votes)"), userRating.AverageVote.ToString("0.00"), userRating.Votes); } catch (NotFoundException) { lblRating.Text = Lang.Trans("no rating"); } } else pnlRating.Visible = false; #endregion #region Show Votes if (Config.Ratings.EnableProfileVoting) { int score = UserVotes.FetchVotesScore(_currentUserSession.Username); pnlVotes.Visible = (score > 0); lblVotes.Text = score.ToString(); } else { pnlVotes.Visible = false; } #endregion #region Load New Users var nuSearch = new NewUsersSearch { PhotoReq = Config.Users.RequirePhotoToShowInNewUsers, ProfileReq = Config.Users.RequireProfileToShowInNewUsers, UsersSince = _currentUserSession.PrevLogin, LoginCountThreshold = 1 }; UserSearchResults nuResults = nuSearch.GetResultsFromCache(true); pnlNewUsers.Visible = (nuResults != null); if (pnlNewUsers.Visible) { lnkNewUsers.Text = nuResults.Usernames.Length == 1 ? Lang.Trans("There is one new user since your last visit!") : thereAreTrans + AsBoldHtmlStr(nuResults.Usernames.Length) + Lang.Trans("new users since your last visit!"); } #endregion #region Load Online Users var oSearch = new OnlineSearch(); UserSearchResults oResults = oSearch.GetResults(); pnlUsersOnline.Visible = (oResults != null); if (pnlUsersOnline.Visible) { lblUsersOnline.Text = oResults.Usernames.Length == 1 ? Lang.Trans("There is one online registered user!") : thereAreTrans + AsBoldHtmlStr(oResults.Usernames.Length) + Lang.Trans("online registered users!"); } #endregion #region Show users broadcasting video if (Config.Misc.EnableProfileVideoBroadcast) { var vbSearch = new VideoBroadcastingSearch(); UserSearchResults vbResults = vbSearch.GetResults(); bool hasResults = (vbResults != null); pnlUsersBroadcasting.Visible = hasResults; if (hasResults) { lblUsersBroadcasting.Text = vbResults.Usernames.Length == 1 ? Lang.Trans("There is one user broadcasting video!") : thereAreTrans + AsBoldHtmlStr(vbResults.Usernames.Length)+ Lang.Trans("users broadcasting video!"); } } else { pnlUsersBroadcasting.Visible = false; } #endregion /* #region Load Blocked Users int blockedUsers = Classes.User.FetchBlockedUsers(_currentUserSession.Username).Count; bool hasBlockedUsers = blockedUsers != 0; pnlBlockedUsers.Visible = hasBlockedUsers; if (hasBlockedUsers) { lblBlockedUsers.Text = blockedUsers == 1 ? Lang.Trans("There is one blocked user!") : thereAreTrans + AsBoldHtmlStr(blockedUsers)+Lang.Trans("blocked users!"); } #endregion */ #region Show Unread Messages bool hasUnreadMsgs = Message.SearchUnread(_currentUserSession.Username) != null; pnlNewMessages.Visible = hasUnreadMsgs; if (hasUnreadMsgs) { int unreadMsgCount = Message.SearchUnread(_currentUserSession.Username).Length; lnkNewMessages.Text = Lang.Trans("View"); lblNewMessages.Text = unreadMsgCount == 1 ? Lang.Trans("You have <b>1</b> unread message!") : youHaveStrTrans + AsBoldHtmlStr(unreadMsgCount) + Lang.Trans("unread messages!"); } #endregion #region Show Relationship Requests if (Config.Users.EnableRelationshipStatus) { int relationshipRequests = Relationship.FetchRequests(_currentUserSession.Username).Length; bool hasRelReq = relationshipRequests > 0; pnlRelationshipRequests.Visible = hasRelReq; if (hasRelReq) { lnkRelationshipRequests.Text = Lang.Trans("View"); lblRelationshipRequests.Text = relationshipRequests == 1 ? Lang.Trans("You have <b>1</b> relationship request!") : youHaveStrTrans+ AsBoldHtmlStr(relationshipRequests)+ Lang.Trans("relationship requests!"); } } else pnlRelationshipRequests.Visible = false; #endregion #region Show Friend Requests int friendRequests = Classes.User.FetchOpenFriendshipRequestsToUsernme(_currentUserSession.Username).Length; if (friendRequests > 0) { pnlFriendsRequests.Visible = true; if (friendRequests == 1) { if (lblFriendsRequests != null) { lblFriendsRequests.Text = Lang.Trans("You have <b>1</b> friend request!"); lnkFriendsRequests.Text = Lang.Trans("View"); } else { lnkFriendsRequests.Text = Lang.Trans("You have <b>1</b> friend request!"); } } else { if (lblFriendsRequests != null) { lblFriendsRequests.Text = String.Format( Lang.Trans("You have <b>{0}</b> friend requests!"), friendRequests); lnkFriendsRequests.Text = Lang.Trans("View"); } else { lnkFriendsRequests.Text = String.Format( Lang.Trans("You have <b>{0}</b> friend requests!"), friendRequests); } } } else { pnlFriendsRequests.Visible = false; } #endregion #region Show contest rankings if (Config.Ratings.EnablePhotoContests) { PhotoContestEntry[] entries = PhotoContestEntry.Load(null, null, _currentUserSession.Username, null); if (entries != null && entries.Length > 0) { var dtRanks = new DataTable(); dtRanks.Columns.Add("Rank", typeof(int)); dtRanks.Columns.Add("ContestName", typeof(string)); foreach (PhotoContestEntry entry in entries) { int rank = PhotoContestEntry.FindRank(entry.ContestId, entry.Id); if (rank > 0) { PhotoContest contest = PhotoContest.Load(entry.ContestId); if (contest.DateEnds.HasValue && contest.DateEnds < DateTime.Now) continue; dtRanks.Rows.Add(new object[] { rank, contest.Name }); } } if (dtRanks.Rows.Count > 0) { rptContestsRanks.DataSource = dtRanks; rptContestsRanks.DataBind(); rptContestsRanks.Visible = true; } } } #endregion #region Show Pending Invitations if (Config.Groups.EnableGroups) { int pendingInvitations = Group.FetchPendingInvitations(_currentUserSession.Username); bool hasPendingInv = (pendingInvitations > 0); pnlPendingInvitations.Visible = hasPendingInv; if (hasPendingInv) { lnkPendingInvitations.Text = Lang.Trans("View"); lblPendingInvitatinos.Text = (pendingInvitations == 1) ? Lang.Trans("You have <b>1</b> pending invitation!") : youHaveStrTrans + String.Format(" <b>{0}</b> ", pendingInvitations)+Lang.Trans("pending invitations!"); } } #endregion #region Show group topic subscriptions if (Config.Groups.EnableGroups) { DataTable dtGroupTopicSubscriptions = new DataTable("GroupTopicSubscriptions"); dtGroupTopicSubscriptions.Columns.Add("GroupTopicID"); dtGroupTopicSubscriptions.Columns.Add("GroupTopicName"); dtGroupTopicSubscriptions.Columns.Add("GroupID"); dtGroupTopicSubscriptions.Columns.Add("GroupName"); GroupTopic[] groupTopics = GroupTopic.FetchUpdatedGroupTopicsUserHasSubscribedTo(_currentUserSession.Username); foreach (GroupTopic groupTopic in groupTopics) { Group group = Group.Fetch(groupTopic.GroupID); if (group != null) { dtGroupTopicSubscriptions.Rows.Add(new object[] { groupTopic.ID, groupTopic.Name, group.ID, group.Name }); } } rptGroupTopicSubscriptions.DataSource = dtGroupTopicSubscriptions; rptGroupTopicSubscriptions.DataBind(); rptGroupTopicSubscriptions.Visible = dtGroupTopicSubscriptions.Rows.Count > 0; } #endregion #region Show Status text if (Config.Users.EnableUserStatusText) { pnlStatusText.Visible = !Config.Misc.SiteIsPaid || Classes.User.IsPaidMember(_currentUserSession.Username); lblStatusText.Text = Server.HtmlEncode(_currentUserSession.StatusText) ?? "Not set".Translate(); } #endregion #region Notify Facebook for the changed status //long? facebookID = _currentUserSession.FacebookID; //if (Config.Misc.EnableFacebookIntegration && facebookID.HasValue && facebookID > 0) //{ // divFaceBookStatusUpdate.Visible = true; // pnlInviteFriendsFromFacebook.Visible = true; //} #endregion }
private void ProcessNewUsersSearchRequest() { NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.PhotoReq = Config.Users.RequirePhotoToShowInNewUsers; nuSearch.ProfileReq = Config.Users.RequireProfileToShowInNewUsers; nuSearch.UsersSince = CurrentUserSession.PrevLogin; UserSearchResults nuResults = nuSearch.GetResults(); SearchResults.ShowLastOnline = true; SearchResults.ShowViewedOn = false; SearchResults.ShowDistance = true; SearchResults.Results = nuResults; }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); #region Load New Users (thumbnails) DataTable dtNewUsers; string cacheKey = String.Format("NewUsersWebPart_{0}_{1}_{2}_{3}", Gender == User.eGenderSearch.All ? "null" : Gender.ToString(), MinAge, MaxAge, LimitRows); if (Cache[cacheKey] != null && Cache[cacheKey] is DataTable && Session["theme"] == null) { dtNewUsers = (DataTable)Cache[cacheKey]; } else { NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.PhotoReq = Config.Users.RequirePhotoToShowInNewUsers; nuSearch.ProfileReq = Config.Users.RequireProfileToShowInNewUsers; nuSearch.UsersCount = dlNewMembers.RepeatColumns * LimitRows; nuSearch.MinAge = MinAge; nuSearch.MaxAge = MaxAge; if (Gender != User.eGenderSearch.All) nuSearch.Gender = (User.eGender) Gender; UserSearchResults nuResults = nuSearch.GetResults(); dtNewUsers = new DataTable(); dtNewUsers.Columns.Add("Username"); dtNewUsers.Columns.Add("ImageId", typeof(int)); dtNewUsers.Columns.Add("Age"); dtNewUsers.Columns.Add("Age2"); dtNewUsers.Columns.Add("Gender"); dtNewUsers.Columns.Add("City"); if (nuResults != null && nuResults.Usernames != null) { foreach (string username in nuResults.Usernames) { int imageId = 0; User user = null; try { user = User.Load(username); } catch (NotFoundException) { continue; } try { imageId = Photo.GetPrimary(username).Id; } catch (NotFoundException) { imageId = ImageHandler.GetPhotoIdByGender(user.Gender); } string age = !Config.Users.DisableAgeInformation ? user.Age.ToString() : String.Empty; string age2 = !Config.Users.DisableAgeInformation ? user.Age2.ToString() : String.Empty; string gender = !Config.Users.DisableGenderInformation ? user.Gender.ToString() : String.Empty; dtNewUsers.Rows.Add( new object[] { username, imageId, age, user.Gender == User.eGender.Couple ? age2 : String.Empty, gender, user.City }); } Cache.Add(cacheKey, dtNewUsers, null, DateTime.Now.Add(TimeSpan.FromMinutes(10)), Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); } } dlNewMembers.DataSource = dtNewUsers; dlNewMembers.DataBind(); #endregion }
private void prepareStats() { #region New registrations chart ChartNewRegistrations.Series["Default"]["DrawingStyle"] = "Cylinder"; ChartNewRegistrations.Titles["Title1"].Text = Lang.TransA("At-a-glance: New registrations for the past 30 days"); ChartNewRegistrations.Series["Default"].ToolTip = String.Format("#VALX\n#VALY {0}", "Registrations".TranslateA()); NewUsersSearch nuSearch = new NewUsersSearch(); nuSearch.ProfileReq = false; nuSearch.UsersSince = DateTime.Now.AddDays(-31); UserSearchResults nuResults = nuSearch.GetResults(); List<string> xValues = new List<string>(); List<int> yValues = new List<int>(); List<int> newUsersCount = new List<int>(30); newUsersCount.AddRange(new int[30]); int max = 10; if (nuResults != null) { foreach (string username in nuResults.Usernames) { User user = Classes.User.Load(username); int dayIndex = 30 - DateTime.Now.Subtract(user.UserSince).Days; if (dayIndex < 0 || dayIndex >= newUsersCount.Count) continue; newUsersCount[dayIndex]++; } for (int i = 0; i < 30; i++) { int registrations = newUsersCount[i]; xValues.Add(DateTime.Now.AddDays(i - 30).ToString("d MMM")); yValues.Add(registrations); if (max < registrations) max = registrations; } } ChartNewRegistrations.Series["Default"].Points.DataBindXY(xValues, yValues); #endregion #region Total users chart if (Config.Users.DisableGenderInformation) { ChartTotalRegistrations.Visible = false; } else { ChartTotalRegistrations.Titles["Title1"].Text = Lang.TransA("At-a-glance: Total Registrations"); ChartTotalRegistrations.Series["Default"]["PieLabelStyle"] = "Outside"; BasicSearch search = new BasicSearch(); search.hasAnswer_isSet = false; search.hasPhoto_isSet = false; search.interestedIn_isSet = false; search.Gender = Classes.User.eGender.Male; UserSearchResults results = search.GetResults(); int count = results == null ? 0 : results.Usernames.Length; xValues = new List<string>(); yValues = new List<int>(); xValues.Add(String.Format(Lang.TransA("{0} Males"), count)); yValues.Add(count); search.Gender = Classes.User.eGender.Female; results = search.GetResults(); count = results == null || results.Usernames == null ? 0 : results.Usernames.Length; xValues.Add(String.Format(Lang.TransA("{0} Females"), count)); yValues.Add(count); if (Config.Users.CouplesSupport) { search.Gender = Classes.User.eGender.Couple; results = search.GetResults(); count = results == null || results.Usernames == null ? 0 : results.Usernames.Length; if (count != 0) { xValues.Add(String.Format(Lang.TransA("{0} Couples"), count)); yValues.Add(count); } } ChartTotalRegistrations.Series["Default"].Points.DataBindXY(xValues, yValues); } #endregion }