예제 #1
0
        protected void LatestPosts_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            // populate the controls here...
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DataRowView currentRow = ( DataRowView )e.Item.DataItem;
                // make message url...
                string messageUrl = YAF.Classes.Utils.YafBuildLink.GetLinkNotEscaped(YAF.Classes.Utils.ForumPages.posts, "m={0}#post{0}", currentRow ["LastMessageID"]);
                // get the controls
                HyperLink  textMessageLink     = (HyperLink)e.Item.FindControl("TextMessageLink");
                HyperLink  imageMessageLink    = (HyperLink)e.Item.FindControl("ImageMessageLink");
                ThemeImage lastPostedImage     = (ThemeImage)e.Item.FindControl("LastPostedImage");
                UserLink   lastUserLink        = ( UserLink )e.Item.FindControl("LastUserLink");
                Label      lastPostedDateLabel = ( Label )e.Item.FindControl("LastPostedDateLabel");
                HyperLink  forumLink           = ( HyperLink )e.Item.FindControl("ForumLink");

                // populate them...
                textMessageLink.Text         = YAF.Classes.Utils.General.BadWordReplace(currentRow["Topic"].ToString());
                textMessageLink.NavigateUrl  = messageUrl;
                imageMessageLink.NavigateUrl = messageUrl;
                // Just in case...
                if (currentRow ["LastUserID"] != DBNull.Value)
                {
                    lastUserLink.UserID   = Convert.ToInt32(currentRow ["LastUserID"]);
                    lastUserLink.UserName = currentRow ["LastUserName"].ToString();
                }
                if (currentRow ["LastPosted"] != DBNull.Value)
                {
                    lastPostedDateLabel.Text = YafDateTime.FormatDateTimeTopic(currentRow ["LastPosted"]);
                    lastPostedImage.ThemeTag = (DateTime.Parse(currentRow ["LastPosted"].ToString()) > YAF.Classes.Utils.Mession.GetTopicRead(Convert.ToInt32(currentRow ["TopicID"]))) ? "ICON_NEWEST" : "ICON_LATEST";
                }
                forumLink.Text        = currentRow["Forum"].ToString();
                forumLink.NavigateUrl = YAF.Classes.Utils.YafBuildLink.GetLinkNotEscaped(YAF.Classes.Utils.ForumPages.topics, "f={0}", currentRow ["ForumID"]);
            }
        }
예제 #2
0
        protected void SubforumList_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DataRow  row        = ( DataRow )e.Item.DataItem;
                DateTime lastRead   = Mession.GetForumRead(( int )row ["ForumID"]);
                DateTime lastPosted = row ["LastPosted"] != DBNull.Value ? ( DateTime )row ["LastPosted"] : lastRead;

                ThemeImage subForumIcon = e.Item.FindControl("ThemeSubforumIcon") as ThemeImage;

                subForumIcon.ThemeTag           = "SUBFORUM";
                subForumIcon.LocalizedTitlePage = "ICONLEGEND";
                subForumIcon.LocalizedTitleTag  = "NO_NEW_POSTS";

                try
                {
                    if (lastPosted > lastRead)
                    {
                        subForumIcon.ThemeTag           = "SUBFORUM_NEW";
                        subForumIcon.LocalizedTitlePage = "ICONLEGEND";
                        subForumIcon.LocalizedTitleTag  = "NEW_POSTS";
                    }
                }
                catch
                {
                }
            }
        }
예제 #3
0
        /// <summary>
        /// Icons the legend load.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void IconLegendLoad([NotNull] object sender, [NotNull] EventArgs e)
        {
            string[] themeImageTags =
            {
                "TOPIC_NEW",              "TOPIC",              "TOPIC_HOT_NEW",    "TOPIC_HOT",    "TOPIC_NEW_LOCKED", "TOPIC_LOCKED",
                "TOPIC_ANNOUNCEMENT_NEW", "TOPIC_ANNOUNCEMENT", "TOPIC_STICKY_NEW", "TOPIC_STICKY",
                "TOPIC_POLL_NEW",         "TOPIC_POLL",         "TOPIC_MOVED"
            };

            string[] localizedTags =
            {
                "NEW_POSTS",           "NO_NEW_POSTS",     "HOT_NEW_POSTS", "HOT_NO_NEW_POSTS", "NEW_POSTS_LOCKED",
                "NO_NEW_POSTS_LOCKED", "ANNOUNCEMENT_NEW", "ANNOUNCEMENT",  "STICKY_NEW",       "STICKY",          "POLL_NEW",
                "POLL",                "MOVED"
            };

            HtmlGenericControl tr = null;

            // add a table control
            var table = new HtmlGenericControl("div");

            table.Attributes.Add(HtmlTextWriterAttribute.Class.ToString(), "container");
            this.Controls.Add(table);

            for (var i = 0; i < themeImageTags.Length; i++)
            {
                if (i % 2 == 0 || tr == null)
                {
                    // add <tr>
                    tr = new HtmlGenericControl("div");
                    tr.Attributes.Add(HtmlTextWriterAttribute.Class.ToString(), "row");
                    table.Controls.Add(tr);
                }

                // add this to the tr...
                var td = new HtmlGenericControl("div");
                td.Attributes.Add(HtmlTextWriterAttribute.Class.ToString(), "col");
                tr.Controls.Add(td);

                // add the themed icons
                var themeImage = new ThemeImage {
                    ThemeTag = themeImageTags[i]
                };
                td.Controls.Add(themeImage);

                // space
                var space = new Literal {
                    Text = " "
                };
                td.Controls.Add(space);

                // localized text describing the image
                var localLabel = new LocalizedLabel {
                    LocalizedTag = localizedTags[i]
                };
                td.Controls.Add(localLabel);
            }
        }
예제 #4
0
        /// <summary>
        /// The icon legend_ load.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The e.
        /// </param>
        private void IconLegend_Load([NotNull] object sender, [NotNull] EventArgs e)
        {
            string[] themeImageTags =
            {
                "TOPIC_NEW",        "TOPIC",        "TOPIC_HOT_NEW",  "TOPIC_HOT",  "TOPIC_NEW_LOCKED", "TOPIC_LOCKED", "TOPIC_ANNOUNCEMENT_NEW", "TOPIC_ANNOUNCEMENT",
                "TOPIC_STICKY_NEW", "TOPIC_STICKY", "TOPIC_POLL_NEW", "TOPIC_POLL", "TOPIC_MOVED"
            };

            string[] localizedTags =
            {
                "NEW_POSTS",        "NO_NEW_POSTS", "HOT_NEW_POSTS", "HOT_NO_NEW_POSTS", "NEW_POSTS_LOCKED", "NO_NEW_POSTS_LOCKED",
                "ANNOUNCEMENT_NEW", "ANNOUNCEMENT", "STICKY_NEW",    "STICKY",           "POLL_NEW",         "POLL", "MOVED"
            };

            HtmlTableRow tr = null;

            // add a table control
            var table = new HtmlTable();

            table.Attributes.Add("class", "iconlegend");
            Controls.Add(table);

            for (int i = 0; i < themeImageTags.Length; i++)
            {
                if ((i % 2) == 0 || tr == null)
                {
                    // add <tr>
                    tr = new HtmlTableRow();
                    table.Controls.Add(tr);
                }

                // add this to the tr...
                HtmlTableCell td = new HtmlTableCell();
                tr.Controls.Add(td);

                // add the themed icons
                var themeImage = new ThemeImage {
                    ThemeTag = themeImageTags[i]
                };
                td.Controls.Add(themeImage);

                // space
                var space = new Literal {
                    Text = " "
                };
                td.Controls.Add(space);

                // localized text describing the image
                var localLabel = new LocalizedLabel {
                    LocalizedTag = localizedTags[i]
                };
                td.Controls.Add(localLabel);
            }
        }
예제 #5
0
        protected void ForumList1_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DataRow    row        = ( DataRow )e.Item.DataItem;
                ForumFlags flags      = new ForumFlags(row["Flags"]);
                DateTime   lastRead   = Mession.GetForumRead(( int )row ["ForumID"]);
                DateTime   lastPosted = row ["LastPosted"] != DBNull.Value ? ( DateTime )row ["LastPosted"] : lastRead;

                ThemeImage forumIcon = e.Item.FindControl("ThemeForumIcon") as ThemeImage;

                forumIcon.ThemeTag           = "FORUM";
                forumIcon.LocalizedTitlePage = "ICONLEGEND";
                forumIcon.LocalizedTitleTag  = "NO_NEW_POSTS";

                try
                {
                    if (flags.IsLocked)
                    {
                        forumIcon.ThemeTag           = "FORUM_LOCKED";
                        forumIcon.LocalizedTitlePage = "ICONLEGEND";
                        forumIcon.LocalizedTitleTag  = "FORUM_LOCKED";
                    }
                    else if (lastPosted > lastRead)
                    {
                        forumIcon.ThemeTag           = "FORUM_NEW";
                        forumIcon.LocalizedTitlePage = "ICONLEGEND";
                        forumIcon.LocalizedTitleTag  = "NEW_POSTS";
                    }
                    else
                    {
                        forumIcon.ThemeTag           = "FORUM";
                        forumIcon.LocalizedTitlePage = "ICONLEGEND";
                        forumIcon.LocalizedTitleTag  = "NO_NEW_POSTS";
                    }
                }
                catch
                {
                }

                if (!PageContext.BoardSettings.ShowModeratorList)
                {
                    // hide moderator list...
                    HtmlTableCell      moderatorColumn = e.Item.FindControl("ModeratorListTD") as HtmlTableCell;
                    ForumModeratorList modList         = e.Item.FindControl("ModeratorList") as ForumModeratorList;

                    // set them as invisible...
                    moderatorColumn.Visible = false;
                    modList.Visible         = false;
                }
            }
        }
예제 #6
0
        /// <summary>
        /// The icon legend_ load.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The e.
        /// </param>
        private void IconLegend_Load([NotNull] object sender, [NotNull] EventArgs e)
        {
            string[] themeImageTags = {
                                          "TOPIC_NEW", "TOPIC", "TOPIC_HOT_NEW", "TOPIC_HOT", "TOPIC_NEW_LOCKED", "TOPIC_LOCKED", "TOPIC_ANNOUNCEMENT_NEW", "TOPIC_ANNOUNCEMENT",
                                          "TOPIC_STICKY_NEW", "TOPIC_STICKY", "TOPIC_POLL_NEW", "TOPIC_POLL", "TOPIC_MOVED"
                                      };

            string[] localizedTags = {
                                         "NEW_POSTS", "NO_NEW_POSTS", "HOT_NEW_POSTS", "HOT_NO_NEW_POSTS", "NEW_POSTS_LOCKED", "NO_NEW_POSTS_LOCKED",
                                         "ANNOUNCEMENT_NEW", "ANNOUNCEMENT", "STICKY_NEW", "STICKY", "POLL_NEW",  "POLL", "MOVED"
                                     };

            HtmlTableRow tr = null;

            // add a table control
            var table = new HtmlTable();
            table.Attributes.Add("class", "iconlegend");
            Controls.Add(table);

            for (int i = 0; i < themeImageTags.Length; i++)
            {
                if ((i % 2) == 0 || tr == null)
                {
                    // add <tr>
                    tr = new HtmlTableRow();
                    table.Controls.Add(tr);
                }

                // add this to the tr...
                HtmlTableCell td = new HtmlTableCell();
                tr.Controls.Add(td);

                // add the themed icons
                var themeImage = new ThemeImage { ThemeTag = themeImageTags[i] };
                td.Controls.Add(themeImage);

                // space
                var space = new Literal { Text = " " };
                td.Controls.Add(space);

                // localized text describing the image
                var localLabel = new LocalizedLabel { LocalizedTag = localizedTags[i] };
                td.Controls.Add(localLabel);
            }
        }