/// <summary> /// The render. /// </summary> /// <param name="writer"> /// The writer. /// </param> protected override void Render(HtmlTextWriter writer) { var userName = this.Parameters["inner"]; if (userName.IsNotSet() || userName.Length > 50) { return; } var userId = this.Get <IUserDisplayName>().GetId(userName.Trim()); if (userId.HasValue) { var userLink = new UserLink { UserID = userId.ToType <int>(), CssClass = "btn btn-outline-primary", BlankTarget = true, ID = $"UserLinkBBCodeFor{userId}" }; writer.Write("<!-- BEGIN userlink -->"); writer.Write(@"<span>"); userLink.RenderControl(writer); writer.Write("</span>"); writer.Write("<!-- END userlink -->"); } else { writer.Write(this.HtmlEncode(userName)); } }
/// <summary> /// The render. /// </summary> /// <param name="writer"> /// The writer. /// </param> protected override void Render(HtmlTextWriter writer) { var userName = this.Parameters["inner"]; if (userName.StartsWith("@")) { userName = userName.Replace("@", string.Empty); } if (userName.IsNotSet() || userName.Length > 50) { return; } var user = this.Get <IAspNetUsersHelper>().GetUserByName(userName.Trim()); if (user != null) { var boardUser = this.GetRepository <User>().GetSingle(u => u.ProviderUserKey == user.Id); if (boardUser == null) { writer.Write(this.HtmlEncode(userName)); return; } var userLink = new UserLink { Suspended = boardUser.Suspended, UserID = boardUser.ID, Style = boardUser.UserStyle, ReplaceName = this.Get <IUserDisplayName>().GetName(boardUser), CssClass = "btn btn-outline-primary", BlankTarget = true, ID = $"UserLinkBBCodeFor{boardUser.ID}" }; writer.Write("<!-- BEGIN userlink -->"); writer.Write(@"<span>"); userLink.RenderControl(writer); writer.Write("</span>"); writer.Write("<!-- END userlink -->"); } 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">Das <see cref="T:System.Web.UI.HtmlTextWriter" />-Objekt, das den Inhalt des Serversteuerelements empfängt.</param> protected override void Render([NotNull] HtmlTextWriter writer) { var 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.Append(@"<div class=""card"">"); html.Append(@"<div class=""card-body"">"); html.AppendFormat(@"<h5 class=""card-title"">{0}</h5>", "Most Active Users"); html.AppendFormat(@"<h6 class=""card-subtitle mb-2 text-mutedr"">Last {0} Days</h6>", 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); writer.WriteLine(" "); writer.WriteLine(@"<span class=""NumberOfPosts"">({0})</span>".FormatWith(row.Field <int>("NumOfPosts"))); writer.WriteLine("</li>"); } writer.WriteLine("</ol>"); writer.WriteLine("</div></div>"); writer.EndRender(); }
/// <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(); }