Exemple #1
0
        /// <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();
        }
Exemple #2
0
        /// <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));
            }
        }
Exemple #3
0
        /// <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();
    }