Exemple #1
0
        protected string GetTopicImage(object o, ref string imgTitle)
        {
            DataRowView row        = (DataRowView)o;
            DateTime    lastPosted = row["LastPosted"] != DBNull.Value ? (DateTime)row["LastPosted"] : new DateTime(2000, 1, 1);
            bool        isLocked   = ((int)row["TopicFlags"] & (int)TopicFlags.Locked) == (int)TopicFlags.Locked;

            imgTitle = "???";

            try
            {
                bool bIsLocked = isLocked || ((int)row["ForumFlags"] & (int)ForumFlags.Locked) == (int)ForumFlags.Locked;

                if (row["TopicMovedID"].ToString().Length > 0)
                {
                    imgTitle = ForumPage.GetText("MOVED");
                    return(ForumPage.GetThemeContents("ICONS", "TOPIC_MOVED"));
                }

                DateTime lastRead      = ForumPage.GetTopicRead((int)row["TopicID"]);
                DateTime lastReadForum = ForumPage.GetForumRead((int)row["ForumID"]);
                if (lastReadForum > lastRead)
                {
                    lastRead = lastReadForum;
                }

                if (lastPosted > lastRead)
                {
                    Mession.UnreadTopics++;

                    if (row["PollID"] != DBNull.Value)
                    {
                        imgTitle = ForumPage.GetText("POLL_NEW");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_POLL_NEW"));
                    }
                    else if (row["Priority"].ToString() == "1")
                    {
                        imgTitle = ForumPage.GetText("STICKY");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_STICKY"));
                    }
                    else if (row["Priority"].ToString() == "2")
                    {
                        imgTitle = ForumPage.GetText("ANNOUNCEMENT");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_ANNOUNCEMENT_NEW"));
                    }
                    else if (bIsLocked)
                    {
                        imgTitle = ForumPage.GetText("NEW_POSTS_LOCKED");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_NEW_LOCKED"));
                    }
                    else
                    {
                        imgTitle = ForumPage.GetText("NEW_POSTS");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_NEW"));
                    }
                }
                else
                {
                    if (row["PollID"] != DBNull.Value)
                    {
                        imgTitle = ForumPage.GetText("POLL");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_POLL"));
                    }
                    else if (row["Priority"].ToString() == "1")
                    {
                        imgTitle = ForumPage.GetText("STICKY");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_STICKY"));
                    }
                    else if (row["Priority"].ToString() == "2")
                    {
                        imgTitle = ForumPage.GetText("ANNOUNCEMENT");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_ANNOUNCEMENT"));
                    }
                    else if (bIsLocked)
                    {
                        imgTitle = ForumPage.GetText("NO_NEW_POSTS_LOCKED");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC_LOCKED"));
                    }
                    else
                    {
                        imgTitle = ForumPage.GetText("NO_NEW_POSTS");
                        return(ForumPage.GetThemeContents("ICONS", "TOPIC"));
                    }
                }
            }
            catch (Exception)
            {
                return(ForumPage.GetThemeContents("ICONS", "TOPIC"));
            }
        }