/* Yet Another Forum.net * Copyright (C) 2003 Bjørnar Henden * http://www.yetanotherforum.net/ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace yaf.pages { /// /// Summary description for inbox. /// public partial class cp_message : ForumPage { public cp_message() : base( "CP_MESSAGE" ) { } protected void Page_Load( object sender, System.EventArgs e ) { if ( !User.IsAuthenticated ) { if ( User.CanLogin ) Forum.Redirect( Pages.login, "ReturnUrl={0}", Utils.GetSafeRawUrl() ); else Forum.Redirect( Pages.forum ); } if ( !IsPostBack ) BindData(); } private void BindData() { if ( Request.QueryString ["pm"] == null ) { Data.AccessDenied(); return; } using ( DataTable dt = DB.userpmessage_list( Request.QueryString ["pm"] ) ) { foreach ( DataRow row in dt.Rows ) { if ( ( int ) row ["ToUserID"] != PageUserID && ( int ) row ["FromUserID"] != PageUserID ) Data.AccessDenied(); PageLinks.AddLink( BoardSettings.Name, Forum.GetLink( Pages.forum ) ); PageLinks.AddLink( PageUserName, Forum.GetLink( Pages.cp_profile ) ); if ( ( int ) row ["ToUserID"] == PageUserID ) PageLinks.AddLink( GetText( "INBOX" ), Forum.GetLink( Pages.cp_inbox ) ); else PageLinks.AddLink( GetText( "SENTITEMS" ), Forum.GetLink( Pages.cp_inbox, "sent=1" ) ); PageLinks.AddLink( HtmlEncode( row ["Subject"] ), "" ); } Inbox.DataSource = dt; } DataBind(); DB.pmessage_markread( Request.QueryString ["pm"] ); } protected string FormatBody( object o ) { DataRowView row = ( DataRowView ) o; return FormatMsg.FormatMessage( this, row ["Body"].ToString(), Convert.ToInt32( row ["Flags"] ) ); } private void Inbox_ItemCommand( object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e ) { if ( e.CommandName == "delete" ) { DB.userpmessage_delete( e.CommandArgument ); BindData(); AddLoadMessage( GetText( "msg_deleted" ) ); } else if ( e.CommandName == "reply" ) { Forum.Redirect( Pages.pmessage, "p={0}&q=0", e.CommandArgument ); } else if ( e.CommandName == "quote" ) { Forum.Redirect( Pages.pmessage, "p={0}&q=1", e.CommandArgument ); } } protected void DeleteMessage_Load( object sender, System.EventArgs e ) { ( ( LinkButton ) sender ).Attributes ["onclick"] = String.Format( "return confirm('{0}')", GetText( "confirm_deletemessage" ) ); } #region Web Form Designer generated code override protected void OnInit( EventArgs e ) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit( e ); } /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.Inbox.ItemCommand += new System.Web.UI.WebControls.RepeaterCommandEventHandler( this.Inbox_ItemCommand ); } #endregion } }