C# Files: LinkBars.cs   dh_messages.cs   dh_users.cs   dh_update_ratings.cs   Params.cs  


<%@ Register TagPrefix="DH" TagName="TopBar" src="../topbar.ascx" %>
  <%@ Register TagPrefix="DH" TagName="SideBar" src="../sidebar.ascx" %>
  <%@ Register TagPrefix="DH" TagName="AddToMyHood" src="../AddToMyHood.ascx" %>
  <%@ Register TagPrefix="DH" TagName="Copyright" src="../copyrightbar.ascx" %>
  <%@ Register TagPrefix="DH" Namespace="LinkBars" Assembly="devhood" %>
  <%@ Register TagPrefix="devHood" TagName="Caste" src="/ratings/caste.ascx" %>
  <%@ Register TagPrefix="devHood" TagName="MessageRating" src="/ratings/message_rating.ascx" %>
  <%@ Import Namespace="DH_Messages" %>
  <%@ Import Namespace="DH_Users" %>
  <%@ Import Namespace="DH_Constants" %>
  <%@ Import Namespace="RATINGS" %>
  <%@ Import Namespace="SpeechLib" %>
  <%@ Import Namespace="System.IO" %>
  <%@ Import Namespace="System.Drawing" %>
<html> <head> <title id="page_title" runat="server" /> <LINK rel="stylesheet" type="text/css" href="messages-2.css"> <script language="C#" runat="server"> PagedDataSource pg; int i=0; void Page_Load(Object Sender, EventArgs e) { int iThreadID = (Request.Params["thread_id"] == null) ? 1 : Convert.ToInt32(Request.Params["thread_id"]); ArrayList alMessages = null; PassportIdentity id = (PassportIdentity) Page.User.Identity; if (true || !Page.IsPostBack) { pg = new PagedDataSource(); if (id.IsAuthenticated) { pg.DataSource = alMessages = DH_MessageDB.GetThreadMessages2(id.Name, iThreadID); } else { pg.DataSource = alMessages = DH_MessageDB.GetThreadMessages(iThreadID); } pg.AllowPaging = true; pg.PageSize = DH_Constants.PAGE_SIZE; int iCurrent = 0; if (Request.Params["current"] != null) { if (Request.Params["current"] == "last") { iCurrent = pg.PageCount-1; } else { iCurrent = Convert.ToInt32(Request.Params["current"]); } } //messages.DataSource = alMessages; pg.CurrentPageIndex = iCurrent; prev.Enabled = !pg.IsFirstPage; next.Enabled = !pg.IsLastPage; last.Enabled = !pg.IsLastPage; messages.DataSource = pg; messages.DataBind(); subjectlbl.Text = ((DH_Message)alMessages[0]).Subject; page_title.InnerHtml = subjectlbl.Text; addto.Description = "Forums - "+subjectlbl.Text; if (Request.Params["poll_id"] != null) { //bar.CategoryName = DH_Poll.DH_PollDB.GetPollQuestion(Convert.ToInt32(Request.Params["poll_id"])).Question; bar.CategoryName = "DevHood Poll"; bar.CategoryLink = "/poll/poll_discuss.aspx?poll_id="+Request.Params["poll_id"]; } else { bar.CategoryName = ((DH_Message)alMessages[0]).CategoryName; bar.CategoryLink = String.Concat("message_threads-2.aspx?category_id=", ((DH_Message)alMessages[0]).CategoryID); if (Request.Params["school_id"] != null) { bar.CategoryLink += "&school_id="+Request.Params["school_id"]; } } } } void rp_ItemCreated(Object o, RepeaterItemEventArgs e) { if (Page.IsPostBack) return; ControlCollection cc = e.Item.Controls; if (cc[1] is Literal) { ((Literal)cc[1]).Text += i.ToString() + "></a>"; i++; } for (int j=0; j<cc.Count; j++){ string strPath = Request.Url.PathAndQuery; if (cc[j] is PlaceHolder) { PlaceHolder pl = (PlaceHolder)cc[j]; ((HyperLink)pl.Controls[1]).NavigateUrl = strPath+"#top"; //top ((HyperLink)pl.Controls[3]).NavigateUrl = strPath+"#bottom"; //bottom //((HyperLink)pl.Controls[5]).NavigateUrl = strPath+"#"+(i-2); //prev //((HyperLink)pl.Controls[7]).NavigateUrl = strPath+"#"+i; //next ((HyperLink)pl.Controls[5]).NavigateUrl = "listen.aspx?text="+Server.UrlEncode(DataBinder.Eval(e.Item.DataItem, "BodyOriginal").ToString()); ((HyperLink)pl.Controls[7]).NavigateUrl = "message_edit-2.aspx"+Request.Url.Query+"&message_id="+DataBinder.Eval(e.Item.DataItem, "MessageID").ToString(); //edit ((HyperLink)pl.Controls[9]).NavigateUrl = "message_reply-2.aspx"+Request.Url.Query+"&message_id="+DataBinder.Eval(e.Item.DataItem, "MessageID").ToString(); //reply break; } } } Boolean Visible(Object messageID, Object authorID) { string strUserID = Page.User.Identity.Name.ToString(); if (DH_Update_Ratings.IsHigher(strUserID, 300) && !DH_MessageDB.AlreadyRated(Convert.ToInt32(messageID.ToString()), strUserID) && authorID.ToString() != strUserID) { return true; } else { return false; } } void NavClick(Object o, CommandEventArgs e) { //might not need to do this all the time //int iCurrent = Convert.ToInt32(lblCurrent.Text); int iCurrent = 0; if (Request.Params["current"] != null) { if (Request.Params["current"] == "last") { iCurrent = pg.PageCount-1; } else { iCurrent = Convert.ToInt32(Request.Params["current"]); } } switch (e.CommandName) { case "prev": iCurrent--; break; case "next": iCurrent++; break; case "last": iCurrent = pg.PageCount-1; break; } //save the current lblCurrent.Text = iCurrent.ToString(); Response.Redirect("/messages/message_view-2.aspx?thread_id="+Request.Params["thread_id"]+"¤t="+iCurrent.ToString()); } </script>
</head> <body bgcolor="white"> <form runat="server"> <DH:TopBar id="TopBar" runat="server" /> <table border="0" cellspacing="0" cellpadding="0" width="100%" height="90%"> <tr> <td height="100%" width="1%" rowspan="2" valign="top" align="left" class="tblSideBar"> <DH:SideBar runat="server" /> </td> <td height="100%" width="100%" valign="top" align="left"> <table border="0" cellpadding="0" cellspacing="10" width="100%" height="100%"> <tr> <td height="1%" width="72%" valign="bottom"> <DH:NavBar id="bar" RPad="3" LPad="1" Seperator=">" width="100%" seperatorcolor="red" runat="server" /> </td> <td height="1%" width="28%" align="right" valign="top"> <DH:AddToMyHood id="addto" runat="server" /> </td> </tr> <tr> <td height="100%" width="100%" colspan="2" valign="top"> <!-- BEGIN PAGE CELL --> <p> <TABLE cellSpacing="1" cellPadding="2" width="97%" border="0"> <TR> <TD align="center" noWrap width="12%" class="MsgViewHeader"> Author </TD> <TD class="MsgViewHeader"> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY> <TR> <TD align="left" class="MsgViewHeader"> Subject<span class="MsgViewHeaderSubject">:  <asp:label id="subjectlbl" runat="server" /></span> </TD> <td>   <p> </td> <td align="right" valign="middle" class="MsgViewHeader" nowrap> <a href="thread_subscribe.aspx<%=Request.Url.Query%>">Subscribe to this thread </a> </td> </TR> </TBODY> </TABLE> </TD> </TR> <asp:repeater id="messages" onitemcreated="rp_ItemCreated" runat="server"> <ItemTemplate> <TR> <TD vAlign="top" align=center width="12%" class="MsgViewAuthor"> <asp:Literal Text="<a name=" Runat="server" /> <CENTER> <BR> <B><a class="MsgViewAuthor" href='/public.aspx?user_id=<%#DataBinder.Eval(Container.DataItem, "UserID")%>'> <%#DataBinder.Eval(Container.DataItem, "FirstNames")%>  <%#DataBinder.Eval(Container.DataItem, "LastName")%></a></B> <BR> <a class="MsgViewAuthorEmail" href="mailto:<%#DataBinder.Eval(Container.DataItem, "Email")%>"> <%#DataBinder.Eval(Container.DataItem, "Email") %> </a> <BR> <devHood:Caste PictureOnly="true" UserID='<%#DataBinder.Eval(Container.DataItem, "UserID") %>' runat="server" /> </CENTER> </A> </TD> <!-- MESSAGE BODY --> <TD vAlign="top" align="right" class="MsgViewBody"> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY class="MsgViewBody"> <TR> <TD vAlign="top"> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY> <TR> <!--<TD align=left width="1%">
<IMG src="images/clock_ico.gif" width="18" height="20"></TD>--> <TD class="MsgViewDate" noWrap> <%# DataBinder.Eval(Container.DataItem, "DateSubmitted") %> </TD> <!--
<TD vAlign=top align=right> <TABLE height=18 cellSpacing=0 cellPadding=0 border=0> <TBODY> <TR> <TD vAlign=top width=18><IMG height=20 src="images/thread-header-start.gif" width=18 border=0><BR></TD> <TD vAlign=top><IMG height=20 src="images/thread-header-table-background.gif" width=8 border=0></TD> <TD vAlign=top><A href="javascript:WinOpen('printthread.cfm?catid=40&threadid=432725','700','500');"> <IMG alt="Print this thread" src="images/toolbar_print.gif" border=0 width="15" height="20"></A></TD> <TD vAlign=top><IMG height=20 src="images/thread-header-table-background.gif" width=10 border=0></TD> <TD vAlign=top><A href="javascript:WinOpen('textthread.cfm?catid=40&threadid=432725','700','500');"> <IMG alt="View thread in raw text format" src="images/toolbar_textview.gif" border=0 width="13" height="20"></A></TD> <TD vAlign=top><IMG height=20 src="images/thread-header-table-background.gif" width=4 border=0></TD></TR></TBODY></TABLE></TD>--> <td align=right width=1% nowrap class=MsgViewDate> <%# (100 != Convert.ToInt32(DataBinder.Eval(Container.DataItem, "Rating"))) ? String.Concat("Avg. Rating: ", Math.Round((float)(DataBinder.Eval(Container.DataItem, "Rating")), 1).ToString(), " by ", DH_MessageDB.GetRatingsCount(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "MessageID"))), " Users") : "Not rated" %> </td> </TR> </TBODY> </TABLE> <IMG height="4" src="images/block.gif" width="1" border="0"> <BR> <span class="MsgViewBody"> <%# DataBinder.Eval(Container.DataItem, "Body") %> </span> <BR> <BR> </TD> </TR> </TBODY> </TABLE> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY> <TR> <TD vAlign="bottom" align="left"> <%# DataBinder.Eval(Container.DataItem, "PrettyLastEdited") %> </TD> <td align="right" vAlign="bottom" class="MsgViewAction"> <devhood:MessageRating id="mrRating1" Content_id=<%# DataBinder.Eval(Container.DataItem, "MessageID")%> Rater_id=<%# Page.User.Identity.Name.ToString()%> visible=<%# Visible(DataBinder.Eval(Container.DataItem, "MessageID"), DataBinder.Eval(Container.DataItem, "UserID"))%> runat="server" /> <asp:PlaceHolder Runat="server"> [<asp:HyperLink cssClass="MsgViewAction" Text="Top" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Bottom" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Listen" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Edit" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Reply" Runat="Server" /></asp:PlaceHolder> </td> </TR> </TBODY> </TABLE> </TD> </TR> </ItemTemplate> <AlternatingItemTemplate> <TR> <TD vAlign="top" align=center width="12%" class="MsgViewAuthor"> <asp:Literal Text="<a name=" Runat="server" /> <CENTER> <BR> <B><a class="MsgViewAuthor" href='/public.aspx?user_id=<%#DataBinder.Eval(Container.DataItem, "UserID")%>'> <%#DataBinder.Eval(Container.DataItem, "FirstNames")%>  <%#DataBinder.Eval(Container.DataItem, "LastName")%></a></B> <BR> <a class="MsgViewAuthorEmail" href="mailto:<%#DataBinder.Eval(Container.DataItem, "Email")%>"> <%#DataBinder.Eval(Container.DataItem, "Email") %> </a> <BR> <devHood:Caste PictureOnly="true" UserID='<%#DataBinder.Eval(Container.DataItem, "UserID") %>' runat="server" /> </CENTER> </A> </TD> <!-- MESSAGE BODY --> <TD vAlign="top" align="right" class="MsgViewAlternateBody"> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY class="MsgViewAlternateBody"> <TR> <TD vAlign="top"> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY> <TR> <!--<TD align=left width="1%">
<IMG src="images/clock_ico.gif" width="18" height="20"></TD>--> <TD class="MsgViewDate" noWrap> <%# DataBinder.Eval(Container.DataItem, "DateSubmitted") %> </TD> <td align=right width=1% nowrap class=MsgViewDate> <%# (100 != Convert.ToInt32(DataBinder.Eval(Container.DataItem, "Rating"))) ? String.Concat("Avg. Rating: ", Math.Round((float)(DataBinder.Eval(Container.DataItem, "Rating")), 1).ToString(), " by ", DH_MessageDB.GetRatingsCount(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "MessageID"))), " Users") : "Not rated" %> </td> <!--
<TD vAlign=top align=right> <TABLE height=18 cellSpacing=0 cellPadding=0 border=0> <TBODY> <TR> <TD vAlign=top width=18><IMG height=20 src="images/thread-header-start.gif" width=18 border=0><BR></TD> <TD vAlign=top><IMG height=20 src="images/thread-header-table-background.gif" width=8 border=0></TD> <TD vAlign=top><A href="javascript:WinOpen('printthread.cfm?catid=40&threadid=432725','700','500');"> <IMG alt="Print this thread" src="images/toolbar_print.gif" border=0 width="15" height="20"></A></TD> <TD vAlign=top><IMG height=20 src="images/thread-header-table-background.gif" width=10 border=0></TD> <TD vAlign=top><A href="javascript:WinOpen('textthread.cfm?catid=40&threadid=432725','700','500');"> <IMG alt="View thread in raw text format" src="images/toolbar_textview.gif" border=0 width="13" height="20"></A></TD> <TD vAlign=top><IMG height=20 src="images/thread-header-table-background.gif" width=4 border=0></TD></TR></TBODY></TABLE></TD>--> </TR> </TBODY> </TABLE> <IMG height="4" src="images/block.gif" width="1" border="0"> <BR> <span class="MsgViewAlternateBody"> <%# DataBinder.Eval(Container.DataItem, "Body") %> </span> <BR> <BR> </TD> </TR> </TBODY> </TABLE> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY> <TR> <TD vAlign="bottom" align="left"> <%# DataBinder.Eval(Container.DataItem, "PrettyLastEdited") %> </TD> <TD vAlign="bottom" align="left"> <BR> </TD> <td align="right" class="MsgViewAction"> <devhood:MessageRating id="Messagerating1" Content_id=<%# DataBinder.Eval(Container.DataItem, "MessageID")%> Rater_id=<%# Page.User.Identity.Name.ToString()%> visible=<%# Visible(DataBinder.Eval(Container.DataItem, "MessageID"), DataBinder.Eval(Container.DataItem, "UserID"))%> runat="server" /> <asp:PlaceHolder Runat="server"> [<asp:HyperLink cssClass="MsgViewAction" Text="Top" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Bottom" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Listen" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Edit" Runat="server" />]  [<asp:HyperLink cssClass="MsgViewAction" Text="Reply" Runat="Server" /></asp:PlaceHolder> </td> </TR> </TBODY> </TABLE> </TD> </TR> </AlternatingItemTemplate> </asp:repeater> <TR> <TD colspan="2" align="right" class="MsgViewHeader"> <TABLE cellSpacing="0" width="97%" border="0"> <tr> <td width="100%" valign="middle" class="MsgViewHeader"> <p> <asp:linkbutton id="prev" text="<< Prev" oncommand="NavClick" commandname="prev" runat="server" /> | <asp:linkbutton id="next" text="Next >>" oncommand="NavClick" commandname="next" runat="server" /> | <asp:linkbutton text="Last" id="last" oncommand="NavClick" commandname="last" runat="server" /> <asp:label id="lblCurrent" text="0" visible="false" runat="server" /> <a name="bottom"></a> </td> <td align="right" valign="middle" class="MsgViewHeader" nowrap height="40"> <a href="thread_subscribe.aspx<%=Request.Url.Query%>">Subscribe to this thread </a> </td> </tr> </TABLE> </TD> </TR> </TABLE> <!-- END PAGE CELL --> </td> </tr> </table> </td> </tr> <tr> <td height="1%" width="100%" align="left" valign="bottom"> <DH:Copyright runat="server" /> </td> </tr> </table> </form> </body> </html>