/// <summary> /// Renders the MostActiveUsers class. /// </summary> /// <param name="writer"> /// </param> protected override void Render([NotNull] HtmlTextWriter writer) { string actRank = string.Empty; DataTable rankDt = this.Get <IDataCache>().GetOrSet( Constants.Cache.MostActiveUsers, () => LegacyDb.user_activity_rank( this.PageContext.PageBoardID, DateTime.UtcNow.AddDays(-this.LastNumOfDays), this.DisplayNumber), TimeSpan.FromMinutes(5)); writer.BeginRender(); var html = new StringBuilder(); html.AppendFormat(@"<div id=""{0}"" class=""yaf_activeuser"">", this.ClientID); html.AppendFormat(@"<h2 class=""yaf_header"">{0}</h2>", "Most Active Users"); html.AppendFormat(@"<h4 class=""yaf_subheader"">Last {0} Days</h4>", this.LastNumOfDays); html.AppendLine("<ol>"); // flush... writer.Write(html.ToString()); foreach (DataRow row in rankDt.Rows) { writer.WriteLine("<li>"); // render UserLink... var userLink = new UserLink { UserID = row.Field <int>("ID"), }; userLink.RenderControl(writer); // render online image... var onlineStatusImage = new OnlineStatusImage { UserID = row.Field <int>("ID") }; onlineStatusImage.RenderControl(writer); writer.WriteLine(" "); writer.WriteLine(@"<span class=""NumberOfPosts"">({0})</span>".FormatWith(row.Field <int>("NumOfPosts"))); writer.WriteLine("</li>"); } writer.WriteLine("</ol>"); writer.WriteLine("</div>"); writer.EndRender(); }
/// <summary> /// The render. /// </summary> /// <param name="writer"> /// The writer. /// </param> protected override void Render(HtmlTextWriter writer) { var userName = Parameters["inner"]; if (userName.IsNotSet() || userName.Length > 50) { return; } var userId = this.Get <IUserDisplayName>().GetId(userName.Trim()); if (userId.HasValue) { var stringBuilder = new StringBuilder(); var userLink = new UserLink { UserID = (int)userId, CssClass = "UserLinkBBCode", BlankTarget = true, ID = "UserLinkBBCodeFor{0}".FormatWith(userId) }; var showOnlineStatusImage = this.Get <YafBoardSettings>().ShowUserOnlineStatus&& !UserMembershipHelper.IsGuestUser(userId); var onlineStatusImage = new OnlineStatusImage { ID = "OnlineStatusImage", Style = "vertical-align: bottom", UserID = (int)userId }; stringBuilder.AppendLine("<!-- BEGIN userlink -->"); stringBuilder.AppendLine(@"<span class=""userLinkContainer"">"); stringBuilder.AppendLine(userLink.RenderToString()); if (showOnlineStatusImage) { stringBuilder.AppendLine(onlineStatusImage.RenderToString()); } stringBuilder.AppendLine("</span>"); stringBuilder.AppendLine("<!-- END userlink -->"); writer.Write(stringBuilder.ToString()); } else { writer.Write(this.HtmlEncode(userName)); } }
/// <summary> /// Renders the MostActiveUsers class. /// </summary> /// <param name="writer"> /// </param> protected override void Render([NotNull] HtmlTextWriter writer) { string actRank = string.Empty; DataTable rankDt = this.Get<IDataCache>().GetOrSet( Constants.Cache.MostActiveUsers, () => LegacyDb.user_activity_rank( this.PageContext.PageBoardID, DateTime.UtcNow.AddDays(-this.LastNumOfDays), this.DisplayNumber), TimeSpan.FromMinutes(5)); writer.BeginRender(); var html = new StringBuilder(); html.AppendFormat(@"<div id=""{0}"" class=""yaf_activeuser"">", this.ClientID); html.AppendFormat(@"<h2 class=""yaf_header"">{0}</h2>", "Most Active Users"); html.AppendFormat(@"<h4 class=""yaf_subheader"">Last {0} Days</h4>", this.LastNumOfDays); html.AppendLine("<ol>"); // flush... writer.Write(html.ToString()); foreach (DataRow row in rankDt.Rows) { writer.WriteLine("<li>"); // render UserLink... var userLink = new UserLink { UserID = row.Field<int>("ID"), }; userLink.RenderControl(writer); // render online image... var onlineStatusImage = new OnlineStatusImage { UserID = row.Field<int>("ID") }; onlineStatusImage.RenderControl(writer); writer.WriteLine(" "); writer.WriteLine(@"<span class=""NumberOfPosts"">({0})</span>".FormatWith(row.Field<int>("NumOfPosts"))); writer.WriteLine("</li>"); } writer.WriteLine("</ol>"); writer.WriteLine("</div>"); writer.EndRender(); }
/// <summary> /// Renders the MostActiveUsers class. /// </summary> /// <param name="writer"> /// </param> protected override void Render([NotNull] HtmlTextWriter writer) { int currentRank = 1; string actRank = string.Empty; DataTable rankDt = this.Get<IDataCache>().GetOrSet( Constants.Cache.MostActiveUsers, () => LegacyDb.user_activity_rank( this.PageContext.PageBoardID, DateTime.UtcNow.AddDays(-this.LastNumOfDays), this.DisplayNumber), TimeSpan.FromMinutes(5)); //// create XML data document... // XmlDocument xml = new XmlDocument(); // rankDt.TableName = "UserActivityRank"; // xml.LoadXml( rankDt.DataSet.GetXml() ); //// transform using the MostActiveUser xslt... // const string xsltFile = "YAF.Controls.Statistics.MostActiveUser.xslt"; // using ( Stream resourceStream = Assembly.GetAssembly( this.GetType() ).GetManifestResourceStream( xsltFile ) ) // { // if ( resourceStream != null ) // { // XslCompiledTransform myXslTrans = new XslCompiledTransform(); // //load the Xsl // myXslTrans.Load( XmlReader.Create( resourceStream ) ); // myXslTrans.Transform( xml.CreateNavigator(), xslArgs, writer ); // } // } writer.BeginRender(); var html = new StringBuilder(); html.AppendFormat(@"<div id=""{0}"" class=""yaf_activeuser"">", this.ClientID); html.AppendFormat(@"<h2 class=""yaf_header"">{0}</h2>", "Most Active Users"); html.AppendFormat(@"<h4 class=""yaf_subheader"">Last {0} Days</h4>", this.LastNumOfDays); html.AppendLine("<ol>"); // flush... writer.Write(html.ToString()); foreach (DataRow row in rankDt.Rows) { writer.WriteLine("<li>"); // render UserLink... var userLink = new UserLink { UserID = row.Field<int>("ID"), }; userLink.RenderControl(writer); // render online image... var onlineStatusImage = new OnlineStatusImage { UserID = row.Field<int>("ID") }; onlineStatusImage.RenderControl(writer); writer.WriteLine(" "); writer.WriteLine(@"<span class=""NumberOfPosts"">({0})</span>".FormatWith(row.Field<int>("NumOfPosts"))); writer.WriteLine("</li>"); } writer.WriteLine("</ol>"); writer.EndRender(); }