Ejemplo n.º 1
0
        /// <summary>
        /// Creates the status message text for a topic. (i.e. Moved, Poll, Sticky, etc.)
        /// </summary>
        /// <param name="row">Current Topic Data Row</param>
        /// <returns>Topic status text</returns>
        protected string GetPriorityMessage(DataRowView row)
        {
            string strReturn = "";

            if (row["TopicMovedID"].ToString().Length > 0)
            {
                strReturn = ForumPage.GetText("MOVED");
            }
            else if (row["PollID"].ToString() != "")
            {
                strReturn = ForumPage.GetText("POLL");
            }
            else
            {
                switch (int.Parse(row["Priority"].ToString()))
                {
                case 1: strReturn = ForumPage.GetText("STICKY"); break;

                case 2: strReturn = ForumPage.GetText("ANNOUNCEMENT"); break;
                }
            }

            if (strReturn.Length > 0)
            {
                strReturn = String.Format("[ {0} ] ", strReturn);
            }

            return(strReturn);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Formats the Last Post for the Topic Line
        /// </summary>
        /// <returns>Formatted Last Post Text</returns>
        protected string FormatLastPost()
        {
            string      strReturn = ForumPage.GetText("no_posts");
            DataRowView row       = m_row;

            if (row["LastMessageID"].ToString().Length > 0)
            {
                string strMiniPost = ForumPage.GetThemeContents("ICONS", (DateTime.Parse(row["LastPosted"].ToString()) > Mession.LastVisit) ? "ICON_NEWEST" : "ICON_LATEST");

                string strBy =
                    String.Format(ForumPage.GetText("by"), String.Format("<a href=\"{0}\">{1}</a>&nbsp;<a title=\"{4}\" href=\"{3}\"><img border=0 src='{2}'></a>",
                                                                         OrionGlobals.resolveBase(string.Format("userinfo.aspx?id={0}", row["LastUserID"])),
                                                                         BBCode.EncodeHTML(row["LastUserName"].ToString()),
                                                                         strMiniPost,
                                                                         Forum.GetLink(Pages.posts, "m={0}#{0}", row["LastMessageID"]),
                                                                         ForumPage.GetText("GO_LAST_POST")
                                                                         ));

                strReturn =
                    String.Format("{0}<br />{1}",
                                  ForumPage.FormatDateTimeTopic(Convert.ToDateTime(row["LastPosted"])),
                                  strBy);
            }

            return(strReturn);
        }
Ejemplo n.º 3
0
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            System.Text.StringBuilder html = new System.Text.StringBuilder(2000);

            html.Append("<table width='100%' cellspacing=0 cellpadding=0>");
            if (ForumPage.BoardSettings.AllowPrivateMessages)
            {
                html.AppendFormat("<tr class='header2'><td>{0}</td></tr>", ForumPage.GetText("MESSENGER"));
                html.AppendFormat("<tr><td>");
                html.AppendFormat("<li><a href='{0}'>{1}</a></li>", Forum.GetLink(Pages.cp_inbox), ForumPage.GetText("INBOX"));
                html.AppendFormat("<li><a href='{0}'>{1}</a></li>", Forum.GetLink(Pages.cp_inbox, "sent=1"), ForumPage.GetText("SENTITEMS"));
                html.AppendFormat("<li><a href='{0}'>{1}</a></li>", Forum.GetLink(Pages.pmessage), ForumPage.GetText("NEW_MESSAGE"));
                html.AppendFormat("</td></tr>");
                html.AppendFormat("<tr><td>&nbsp;</td></tr>");
            }
            html.AppendFormat("<tr class='header2'><td>{0}</td></tr>", ForumPage.GetText("PERSONAL_PROFILE"));
            html.AppendFormat("<tr><td>");
            html.AppendFormat("<li><a href='{0}'>{1}</a></li>", OrionGlobals.resolveBase("profile.aspx"), ForumPage.GetText("EDIT_PROFILE"));
            if (ForumPage.BoardSettings.AllowSignatures)
            {
                html.AppendFormat("<li><a href='{0}'>{1}</a></li>", Forum.GetLink(Pages.cp_signature), ForumPage.GetText("SIGNATURE"));
            }
            html.AppendFormat("<li><a href='{0}'>{1}</a></li>", Forum.GetLink(Pages.cp_subscriptions), ForumPage.GetText("SUBSCRIPTIONS"));
            html.AppendFormat("</td></tr>");
            html.Append("</table>");

            writer.Write(html.ToString());
        }
Ejemplo n.º 4
0
        protected string GetForumIcon(object o)
        {
            DataRow  row        = (DataRow)o;
            bool     locked     = ((int)row["Flags"] & (int)ForumFlags.Locked) == (int)ForumFlags.Locked;
            DateTime lastRead   = ForumPage.GetForumRead((int)row["ForumID"]);
            DateTime lastPosted = row["LastPosted"] != DBNull.Value ? (DateTime)row["LastPosted"] : lastRead;

            string img, imgTitle;

            try
            {
                if (locked)
                {
                    img      = ForumPage.GetThemeContents("ICONS", "FORUM_LOCKED");
                    imgTitle = ForumPage.GetText("ICONLEGEND", "Forum_Locked");
                }
                else if (lastPosted > lastRead)
                {
                    img      = ForumPage.GetThemeContents("ICONS", "FORUM_NEW");
                    imgTitle = ForumPage.GetText("ICONLEGEND", "New_Posts");
                }
                else
                {
                    img      = ForumPage.GetThemeContents("ICONS", "FORUM");
                    imgTitle = ForumPage.GetText("ICONLEGEND", "No_New_Posts");
                }
            }
            catch (Exception)
            {
                img      = ForumPage.GetThemeContents("ICONS", "FORUM");
                imgTitle = ForumPage.GetText("ICONLEGEND", "No_New_Posts");
            }

            return(String.Format("<img src=\"{0}\" title=\"{1}\"/>", img, imgTitle));
        }
Ejemplo n.º 5
0
        private void DisplayPost_PreRender(object sender, EventArgs e)
        {
            Attach.Visible               = CanAttach;
            Attach.Text                  = ForumPage.GetThemeContents("BUTTONS", "ATTACHMENTS");
            Attach.ToolTip               = "Attachments";
            Attach.NavigateUrl           = Forum.GetLink(Pages.attachments, "m={0}", DataRow["MessageID"]);
            Edit.Visible                 = CanEditPost;
            Edit.Text                    = ForumPage.GetThemeContents("BUTTONS", "EDITPOST");
            Edit.ToolTip                 = "Edit this post";
            Edit.NavigateUrl             = Forum.GetLink(Pages.postmessage, "m={0}", DataRow["MessageID"]);
            Delete.Visible               = CanDeletePost;
            Delete.Text                  = ForumPage.GetThemeContents("BUTTONS", "DELETEPOST");
            Delete.ToolTip               = "Delete this post";
            Delete.Attributes["onclick"] = string.Format("return confirm('{0}')", ForumPage.GetText("confirm_deletemessage"));
            Quote.Visible                = CanReply;
            Quote.Text                   = ForumPage.GetThemeContents("BUTTONS", "QUOTEPOST");
            Quote.ToolTip                = "Reply with quote";
            Quote.NavigateUrl            = Forum.GetLink(Pages.postmessage, "t={0}&f={1}&q={2}", ForumPage.PageTopicID, ForumPage.PageForumID, DataRow["MessageID"]);

            // private messages
            Pm.Visible     = ForumPage.User.IsAuthenticated && ForumPage.BoardSettings.AllowPrivateMessages;
            Pm.Text        = ForumPage.GetThemeContents("BUTTONS", "PM");
            Pm.NavigateUrl = Forum.GetLink(Pages.pmessage, "u={0}", DataRow["UserID"]);
            // emailing
            Email.Visible     = ForumPage.User.IsAuthenticated && ForumPage.BoardSettings.AllowEmailSending;
            Email.NavigateUrl = Forum.GetLink(Pages.im_email, "u={0}", DataRow["UserID"]);
            Email.Text        = ForumPage.GetThemeContents("BUTTONS", "EMAIL");

            Home.Visible     = DataRow["HomePage"] != DBNull.Value && DataRow["HomePage"].ToString() != string.Empty;
            Home.NavigateUrl = DataRow["HomePage"].ToString();
            Home.Text        = ForumPage.GetThemeContents("BUTTONS", "WWW");

            Msn.Visible     = ForumPage.User.IsAuthenticated && DataRow["MSN"] != DBNull.Value;
            Msn.Text        = ForumPage.GetThemeContents("BUTTONS", "MSN");
            Msn.NavigateUrl = Forum.GetLink(Pages.im_email, "u={0}", DataRow["UserID"]);

            Aim.Visible     = ForumPage.User.IsAuthenticated && DataRow["AIM"] != DBNull.Value;
            Aim.Text        = ForumPage.GetThemeContents("BUTTONS", "AIM");
            Aim.NavigateUrl = Forum.GetLink(Pages.im_aim, "u={0}", DataRow["UserID"]);

            Icq.Visible     = ForumPage.User.IsAuthenticated && DataRow["ICQ"] != DBNull.Value;
            Icq.Text        = ForumPage.GetThemeContents("BUTTONS", "ICQ");
            Icq.NavigateUrl = Forum.GetLink(Pages.im_icq, "u={0}", DataRow["UserID"]);

            // display admin only info
            if (ForumPage.IsAdmin)
            {
                AdminInfo.InnerHtml = "<span class='smallfont'>";
                if (Convert.ToDateTime(DataRow["Edited"]) != Convert.ToDateTime(DataRow["Posted"]))
                {
                    // message has been edited
                    AdminInfo.InnerHtml += String.Format("<b>Edited:</b> {0}", ForumPage.FormatDateTimeShort(Convert.ToDateTime(DataRow["Edited"])));
                }
                AdminInfo.InnerHtml += String.Format(" <b>IP:</b> {0}", DataRow["IP"].ToString());
                AdminInfo.InnerHtml += "</span>";
            }
        }
Ejemplo n.º 6
0
        protected string GetViewing(object o)
        {
            DataRow row      = (DataRow)o;
            int     nViewing = (int)row["Viewing"];

            if (nViewing > 0)
            {
                return("&nbsp;" + String.Format(ForumPage.GetText("VIEWING"), nViewing));
            }
            else
            {
                return("");
            }
        }
Ejemplo n.º 7
0
 protected override void Render(System.Web.UI.HtmlTextWriter writer)
 {
     writer.WriteLine(ForumPage.GetText(ForumPage.ForumPostAccess ? "can_post" : "cannot_post"));
     writer.WriteLine("<br/>");
     writer.WriteLine(ForumPage.GetText(ForumPage.ForumReplyAccess ? "can_reply" : "cannot_reply"));
     writer.WriteLine("<br/>");
     writer.WriteLine(ForumPage.GetText(ForumPage.ForumDeleteAccess ? "can_delete" : "cannot_delete"));
     writer.WriteLine("<br/>");
     writer.WriteLine(ForumPage.GetText(ForumPage.ForumEditAccess ? "can_edit" : "cannot_edit"));
     writer.WriteLine("<br/>");
     writer.WriteLine(ForumPage.GetText(ForumPage.ForumPollAccess ? "can_poll" : "cannot_poll"));
     writer.WriteLine("<br/>");
     writer.WriteLine(ForumPage.GetText(ForumPage.ForumVoteAccess ? "can_vote" : "cannot_vote"));
     writer.WriteLine("<br/>");
 }
Ejemplo n.º 8
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            BoardSettings bs = ForumPage.BoardSettings;

            pagesize = bs.SmiliesColumns * bs.SmiliesPerRow;
            perrow   = bs.SmiliesPerRow;

            // setup the header
            AddSmiley.Attributes.Add("colspan", perrow.ToString());
            AddSmiley.InnerHtml = ForumPage.GetText("SMILIES_HEADER");

            dtSmileys = DB.smiley_listunique(base.ForumPage.PageBoardID);

            pager.PageSize = pagesize;
            CreateSmileys();
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Creates the text for the "Last Post" information on a forum listing.
        /// Detects user permissions and disables links if they have none.
        /// </summary>
        /// <param name="row">Current data row</param>
        /// <returns>Formatted "Last Post" text</returns>
        protected string FormatLastPost(System.Data.DataRow row)
        {
            if (row["RemoteURL"] != DBNull.Value)
            {
                return("-");
            }

            int ForumID = Convert.ToInt32(row["ForumID"]);
            // defaults to "no posts" text
            string strTemp = ForumPage.GetText("NO_POSTS");

            if (!row.IsNull("LastPosted"))
            {
                strTemp = ForumPage.GetThemeContents("ICONS", (DateTime.Parse(Convert.ToString(row["LastPosted"])) > Mession.LastVisit) ? "ICON_NEWEST" : "ICON_LATEST");

                if (int.Parse(row["ReadAccess"].ToString()) > 0)
                {
                    strTemp = String.Format("{0}<br/>{1}<br/>{2}&nbsp;<a title=\"{4}\" href=\"{5}\"><img src=\"{3}\"></a>",
                                            ForumPage.FormatDateTimeTopic((DateTime)row["LastPosted"]),
                                            String.Format(ForumPage.GetText("in"), String.Format("<a href=\"{0}\">{1}</a>", Forum.GetLink(Pages.posts, "t={0}", row["LastTopicID"]), Truncate(Utils.BadWordReplace(row["LastTopicName"].ToString()), 50))),
                                            String.Format(ForumPage.GetText("by"), String.Format("<a href=\"{0}\">{1}</a>", OrionGlobals.resolveBase(string.Format("userinfo.aspx?id={0}", row["LastUserID"])), BBCode.EncodeHTML(row["LastUser"].ToString()))),
                                            strTemp,
                                            ForumPage.GetText("GO_LAST_POST"),
                                            Forum.GetLink(Pages.posts, "m={0}#{0}", row["LastMessageID"])
                                            );
                }
                else
                {
                    // no access to this forum... disable links
                    strTemp = String.Format("{0}<br/>{1}<br/>{2}",
                                            ForumPage.FormatDateTimeTopic((DateTime)row["LastPosted"]),
                                            String.Format(ForumPage.GetText("in"), String.Format("{0}", Truncate(row["LastTopicName"].ToString(), 50))),
                                            String.Format(ForumPage.GetText("by"), String.Format("<a href=\"{0}\">{1}</a>", OrionGlobals.resolveBase(string.Format("userinfo.aspx?id={0}", row["LastUserID"])), row["LastUser"]))
                                            );
                }
            }

            return(strTemp);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Provides the "Forum Link Text" for the ForumList control.
        /// Automatically disables the link if the current user doesn't
        /// have proper permissions.
        /// </summary>
        /// <param name="row">Current data row</param>
        /// <returns>Forum link text</returns>
        public string GetForumLink(System.Data.DataRow row)
        {
            string strReturn = "";
            int    ForumID   = Convert.ToInt32(row["ForumID"]);

            // get the Forum Description
            strReturn = Convert.ToString(row["Forum"]);

            if (int.Parse(row["ReadAccess"].ToString()) > 0)
            {
                strReturn = String.Format("<a href=\"{0}\">{1}</a>",
                                          Forum.GetLink(yaf.Pages.topics, "f={0}", ForumID),
                                          strReturn
                                          );
            }
            else
            {
                // no access to this forum
                strReturn = String.Format("{0} {1}", strReturn, ForumPage.GetText("NO_FORUM_ACCESS"));
            }

            return(strReturn);
        }
Ejemplo n.º 11
0
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            DataTable dt     = (DataTable)ViewState["data"];
            bool      bTopic = ForumPage.PageTopicID > 0;

            try
            {
                if (dt == null)
                {
                    if (bTopic)
                    {
                        dt = DB.active_listtopic(ForumPage.PageTopicID);
                    }
                    else
                    {
                        dt = DB.active_listforum(ForumPage.PageForumID);
                    }
                    ViewState["data"] = dt;
                }

                if (bTopic)
                {
                    writer.WriteLine("<tr class=\"header2\">");
                    writer.WriteLine(String.Format("<td colspan=\"3\">{0}</td>", ForumPage.GetText("TOPICBROWSERS")));
                    writer.WriteLine("</tr>");
                    writer.WriteLine("<tr class=\"post\">");
                    writer.WriteLine("<td colspan=\"3\">");
                }
                else
                {
                    writer.WriteLine("<tr class=\"header2\">");
                    writer.WriteLine(String.Format("<td colspan=\"6\">{0}</td>", ForumPage.GetText("FORUMUSERS")));
                    writer.WriteLine("</tr>");
                    writer.WriteLine("<tr class=\"post\">");
                    writer.WriteLine("<td colspan=\"6\">");
                }

                bool bFirst = true;
                foreach (DataRow dr in dt.Rows)
                {
                    if (!bFirst)
                    {
                        writer.WriteLine(",");
                    }
                    else
                    {
                        bFirst = false;
                    }
                    writer.Write(String.Format("<a href=\"{0}\">{1}</a>", OrionGlobals.resolveBase(string.Format("userinfo.aspx?id={0}", dr["UserID"])), BBCode.EncodeHTML(dr["UserName"].ToString())));
                }
                writer.WriteLine("</td>");
                writer.WriteLine("</tr>");
            }
            finally
            {
                if (dt != null)
                {
                    dt.Dispose();
                }
            }
        }
Ejemplo n.º 12
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"));
            }
        }
Ejemplo n.º 13
0
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            System.Text.StringBuilder html = new System.Text.StringBuilder(2000);

            html.AppendFormat("<tr class=\"{0}\">", (IsAlt ? "post_alt" : "post"));

            // Icon
            string imgTitle = "", img = GetTopicImage(m_row, ref imgTitle);

            html.AppendFormat("<td><img title='{1}' src='{0}'></td>", img, imgTitle);
            // Topic
            html.AppendFormat("<td><span class='post_priority'>{0}</span>", GetPriorityMessage(m_row));
            if (FindUnread)
            {
                html.AppendFormat("<a href='{0}' class='post_link'>{1}</a>", Forum.GetLink(Pages.posts, "t={0}&find=unread", m_row["LinkTopicID"]), Utils.BadWordReplace(Convert.ToString(m_row["Subject"])));
            }
            else
            {
                html.AppendFormat("<a href='{0}' class='post_link'>{1}</a>", Forum.GetLink(Pages.posts, "t={0}", m_row["LinkTopicID"]), Utils.BadWordReplace(Convert.ToString(m_row["Subject"])));
            }

            string tPager = CreatePostPager(Convert.ToInt32(m_row["Replies"]) + 1, ForumPage.BoardSettings.PostsPerPage, Convert.ToInt32(m_row["LinkTopicID"]));

            if (tPager != String.Empty)
            {
                // more then one page to show
                html.AppendFormat("<br/><span class='smallfont'>{0}</span>", String.Format(ForumPage.GetText("GOTO_POST_PAGER"), tPager));
            }

            //html.AppendFormat("<br/><span class='smallfont'>{0}: {1}</span>",ForumPage.GetText("TOPICS","CREATED"),ForumPage.FormatDateShort(m_row["Posted"]));

            html.Append("</td>");
            // Topic Starter
            html.AppendFormat("<td><a href='{0}'>{1}</a></td>", OrionGlobals.resolveBase(string.Format("userinfo.aspx?id={0}", m_row["UserID"])), BBCode.EncodeHTML(m_row["Starter"].ToString()));
            // Replies
            html.AppendFormat("<td align=center>{0}</td>", FormatReplies());
            // Views
            html.AppendFormat("<td align=center>{0:N0}</td>", m_row["Views"]);
            // Last Post
            html.AppendFormat("<td align=center class=smallfont>{0}</td>", FormatLastPost());
            writer.Write(html.ToString());

            base.RenderChildren(writer);

            writer.Write("</tr>");
        }
Ejemplo n.º 14
0
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            System.Text.StringBuilder html = new System.Text.StringBuilder(2000);
            html.Append("<table cellspacing=1 cellpadding=1><tr>");
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC_NEW"), ForumPage.GetText("NEW_POSTS"));
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC"), ForumPage.GetText("NO_NEW_POSTS"));
            html.Append("</tr><tr>");
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC_NEW_LOCKED"), ForumPage.GetText("NEW_POSTS_LOCKED"));
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC_LOCKED"), ForumPage.GetText("NO_NEW_POSTS_LOCKED"));
            html.Append("</tr><tr>");
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC_ANNOUNCEMENT"), ForumPage.GetText("ANNOUNCEMENT"));
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC_STICKY"), ForumPage.GetText("STICKY"));
            html.Append("</tr><tr>");
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC_MOVED"), ForumPage.GetText("MOVED"));
            html.AppendFormat("<td><img align=absMiddle src='{0}'/> {1}</td>", ForumPage.GetThemeContents("ICONS", "TOPIC_POLL"), ForumPage.GetText("POLL"));
            html.Append("</tr></table>");

            writer.Write(html.ToString());
        }
Ejemplo n.º 15
0
        protected string FormatBody()
        {
            DataRowView row = DataRow;

            string html2 = FormatMsg.FormatMessage(ForumPage, row["Message"].ToString(), new MessageFlags(Convert.ToInt32(row["Flags"])));

            // define valid image extensions
            string[] aImageExtensions = { "jpg", "gif", "png" };

            if (long.Parse(row["HasAttachments"].ToString()) > 0)
            {
                string stats       = ForumPage.GetText("ATTACHMENTINFO");
                string strFileIcon = ForumPage.GetThemeContents("ICONS", "ATTACHED_FILE");

                html2 += "<p>";

                using (DataTable dt = DB.attachment_list(row["MessageID"], null, null))
                {
                    // show file then image attachments...
                    int tmpDisplaySort = 0;

                    while (tmpDisplaySort <= 1)
                    {
                        bool bFirstItem = true;

                        foreach (DataRow dr in dt.Rows)
                        {
                            string strFilename = Convert.ToString(dr["FileName"]).ToLower();
                            bool   bShowImage  = false;

                            // verify it's not too large to display (might want to make this a board setting)
                            if (Convert.ToInt32(dr["Bytes"]) <= 262144)
                            {
                                // is it an image file?
                                for (int i = 0; i < aImageExtensions.Length; i++)
                                {
                                    if (strFilename.EndsWith(aImageExtensions[i]))
                                    {
                                        bShowImage = true;
                                        break;
                                    }
                                }
                            }

                            if (bShowImage && tmpDisplaySort == 1)
                            {
                                if (bFirstItem)
                                {
                                    html2     += "<i class=\"smallfont\">";
                                    html2     += String.Format(ForumPage.GetText("IMAGE_ATTACHMENT_TEXT"), Convert.ToString(row["UserName"]));
                                    html2     += "</i><br/>";
                                    bFirstItem = false;
                                }
                                html2 += String.Format("<img src=\"{0}image.aspx?a={1}\" alt=\"{2}\"><br/>", Data.ForumRoot, dr["AttachmentID"], Server.HtmlEncode(Convert.ToString(dr["FileName"])));
                            }
                            else if (!bShowImage && tmpDisplaySort == 0)
                            {
                                if (bFirstItem)
                                {
                                    html2     += String.Format("<b class=\"smallfont\">{0}</b><br/>", ForumPage.GetText("ATTACHMENTS"));
                                    bFirstItem = false;
                                }
                                // regular file attachment
                                int kb = (1023 + (int)dr["Bytes"]) / 1024;
                                html2 += String.Format("<img border='0' src='{0}'> <b><a href=\"{1}image.aspx?a={2}\">{3}</a></b> <span class='smallfont'>{4}</span><br/>", strFileIcon, Data.ForumRoot, dr["AttachmentID"], dr["FileName"], String.Format(stats, kb, dr["Downloads"]));
                            }
                        }
                        // now show images
                        tmpDisplaySort++;
                        html2 += "<br/>";
                    }
                }
            }

            if (row["Signature"] != DBNull.Value && row["Signature"].ToString().ToLower() != "<p>&nbsp;</p>" && ForumPage.BoardSettings.AllowSignatures)
            {
                // don't allow any HTML on signatures
                MessageFlags tFlags = new MessageFlags();
                tFlags.IsHTML = false;

                html2 += "<br/><hr noshade/>" + FormatMsg.FormatMessage(ForumPage, row["Signature"].ToString(), tFlags);
            }

            return(html2);
        }
Ejemplo n.º 16
0
        protected string FormatUserBox()
        {
            System.Data.DataRowView row = DataRow;
            string html = "";

            // Avatar
            if (ForumPage.BoardSettings.AvatarUpload && row["HasAvatarImage"] != null && long.Parse(row["HasAvatarImage"].ToString()) > 0)
            {
                html += String.Format("<img src='{1}image.aspx?u={0}'><br clear=\"all\"/>", row["UserID"], Data.ForumRoot);
            }
            else if (row["user_avatar"].ToString().Length > 0)
            {
                string s = row["user_avatar"].ToString();
                if (s == null || s == string.Empty)
                {
                    s = User.DefaultAvatar;
                }
                html += String.Format("<img src='{0}' width='50px' height='50px'><br clear=\"all\"/>",
                                      s
                                      );
            }

            // Rank Image
            if (row["RankImage"].ToString().Length > 0)
            {
                html += String.Format("<img align=left src=\"{0}images/ranks/{1}\"/><br clear=\"all\"/>", Data.ForumRoot, row["RankImage"]);
            }

            // Rank
            html += String.Format("{0}: {1}<br clear=\"all\"/>", ForumPage.GetText("rank"), row["RankName"]);

            // Groups
            if (ForumPage.BoardSettings.ShowGroups)
            {
                using (DataTable dt = DB.usergroup_list(row["UserID"]))
                {
                    html += String.Format("{0}: ", ForumPage.GetText("groups"));
                    bool bFirst = true;
                    foreach (DataRow grp in dt.Rows)
                    {
                        if (bFirst)
                        {
                            html  += grp["Name"].ToString();
                            bFirst = false;
                        }
                        else
                        {
                            html += String.Format(", {0}", grp["Name"]);
                        }
                    }
                    html += "<br/>";
                }
            }

            // Extra row
            html += "<br/>";

            // Joined
            html += String.Format("{0}: {1}<br/>", ForumPage.GetText("joined"), ForumPage.FormatDateShort((DateTime)row["user_registDate"]));

            // Posts
            html += String.Format("{0}: {1:N0}<br/>", ForumPage.GetText("posts"), row["Posts"]);

            // Location
            if (row["Location"].ToString().Length > 0)
            {
                html += String.Format("{0}: {1}<br/>", ForumPage.GetText("location"), FormatMsg.RepairHtml(ForumPage, row["Location"].ToString(), false));
            }

            return(html);
        }