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")); } }