using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.IO;
using UUN;
using System.Collections;
using System.Text;

public partial class wClub_Topic_Add2:System.Web.UI.Page
{
	//------------------------------
	// 此文件代码由工具自动生成
	// 2010-5-28 21:46:18
	// UUNSOFT.COM 版权所有
	//------------------------------
	private 访问 访问;
	private StringBuilder 返回值;
	protected void Page_Load(object sender,EventArgs e)
	{
		访问 = new 访问(this.Context);
		访问.是否前台=true;
		访问.是否WML=true;
		访问.开始处理("发表贴子提交","网站页面","发表贴子提交",new 访问.回调委托(ZhiXing));
		访问.关闭连接();
	}
	private void ZhiXing()
	{
		返回值=new StringBuilder();

	ID=Convert.ToInt32(Request.QueryString["ID"]);
	论坛版块=常用.获取版块(ID);
	应用版块设置();
	应用贴子提交();
		返回值.Append(@"<?xml version=""1.0"" encoding=""utf-8""?>
<!DOCTYPE wml PUBLIC ""-//WAPFORUM//DTD WML 1.1//EN"" ""http://www.wapforum.org/DTD/wml_1.1.xml"">
<wml>
<head>
<meta http-equiv=""Cache-Control"" content=""max-age=0"" />
</head>

<card title=""发表贴子提交"">
<p>
");
		返回值.Append(new 消息(this.Context,访问.连接).弹出消息(访问.用户));
		返回值.Append(@"



发表贴子成功<br/>
<a href=""Topic_Add.aspx?ID=");

		返回值.Append(ID);
		返回值.Append(@"&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">返回发表贴子</a><br/>


<a href=""Board.aspx?ID=");

		返回值.Append(ID);
		返回值.Append(@"&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">返回");

		返回值.Append(Server.HtmlEncode(论坛版块["版块名称"].ToString()));
		返回值.Append(@"</a><br/>


<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"club/page.aspx?ID=1",访问.用户["标识"].ToString())));
		返回值.Append(@""">返回社区首页</a><br/>

<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"page.aspx?ID=1",访问.用户["标识"].ToString())));
		返回值.Append(@""">返回首页</a><br/>

");
		返回值.Append(DateTime.Now.ToString(@"MM月dd日 HH:mm"));
		返回值.Append(@"



</p>
</card>
</wml>");
		Response.Write(返回值);
		Response.Write("<!-- Powered by www.uunsoft.com -->");
	}

	private int ID;
	private DataRow 论坛版块;
	private DataSet 论坛版主;
	private void 获取论坛版主()
	{
		论坛版主=new DataSet();
		SqlCommand 语句=new SqlCommand("SELECT * FROM ["+程序.数据表前缀+"社区_论坛_版主] WHERE [所属版块]="+ID+" ORDER BY [创建时间]",访问.连接);
		SqlDataAdapter 填充=new SqlDataAdapter(语句);
		填充.Fill(论坛版主,"论坛版主");
	}
	private bool 是否版主()
	{
		if(论坛版主==null)
			获取论坛版主();
		bool 返回值=false;
		for(int i=0;i<论坛版主.Tables[0].Rows.Count;i++)
			if(Convert.ToInt32(论坛版主.Tables[0].Rows[i]["版主ID"])==Convert.ToInt32(访问.用户["ID"]))
				返回值=true;
		return 返回值;
	}
	private void 应用版块设置()
	{
		if(!Convert.ToBoolean(论坛版块["版块状态"]))
			throw new Exception(论坛版块["禁止访问提示"].ToString());
		switch(Convert.ToInt32(论坛版块["发贴权限"]))
		{
			case 0:
				break;
			case 1:
				访问.验证会员();
				break;
			default:
				if(!是否版主())
					throw new Exception("此版块只允许版主发贴");
				break;
		}
	}
	private void 应用贴子提交()
	{
		String 标题=Request.Form["title"];
		String 内容=Request.Form["content"];
		String 投票选项=Request.Form["options"];

		if(标题.Length<1||标题.Length>50)
			throw new Exception("标题的长度只能在1-50之间");
		if(内容.Length<1)
			throw new Exception("内容不能为空");

		int ZGID=常用.SQL_最高ID(访问.连接,程序.数据表前缀+"社区_论坛_贴子");
		String 文件夹位置=程序.安装位置+"Data/DT_TieZhi/"+(ZGID/500)+"/";
		if(!Directory.Exists(Server.MapPath(文件夹位置)))
			Directory.CreateDirectory(Server.MapPath(文件夹位置));

		File.WriteAllText(Server.MapPath(文件夹位置+ZGID+".txt"),内容);
		SqlCommand 语句=new SqlCommand("INSERT INTO ["+程序.数据表前缀+"社区_论坛_贴子]([ID],[标题],[贴子简介],[作者ID],[作者昵称],[是否置顶],[是否精华],[是否锁定],[是否删除],[贴子类型],[附件内容],[投票选项],[所属版块],[模板_贴子内容],[模板_回贴列表],[模板_3G贴子内容],[模板_3G回贴列表])"+
			"VALUES(@ID,@标题,@贴子简介,@作者ID,@作者昵称,@是否置顶,@是否精华,@是否锁定,@是否删除,@贴子类型,@附件内容,@投票选项,@所属版块,@模板_贴子内容,@模板_回贴列表,@模板_3G贴子内容,@模板_3G回贴列表)",访问.连接);
		语句.Parameters.Add("@ID",SqlDbType.Int).Value=ZGID;
		语句.Parameters.Add("@标题",SqlDbType.NVarChar).Value=标题;
		语句.Parameters.Add("@贴子简介",SqlDbType.NVarChar).Value=常用.截取字符串(内容, 100);
		语句.Parameters.Add("@作者ID",SqlDbType.Int).Value=Convert.ToInt32(访问.用户["ID"]);
		语句.Parameters.Add("@作者昵称",SqlDbType.NVarChar).Value=访问.用户["昵称"].ToString();
		语句.Parameters.Add("@是否置顶",SqlDbType.Bit).Value=false;
		语句.Parameters.Add("@是否精华",SqlDbType.Bit).Value=false;
		语句.Parameters.Add("@是否锁定",SqlDbType.Bit).Value=false;
		语句.Parameters.Add("@是否删除",SqlDbType.Bit).Value=false;
		语句.Parameters.Add("@贴子类型",SqlDbType.Int).Value=0;
		语句.Parameters.Add("@附件内容",SqlDbType.NVarChar).Value="";
		语句.Parameters.Add("@投票选项",SqlDbType.NVarChar).Value=投票选项;
		语句.Parameters.Add("@所属版块",SqlDbType.Int).Value=ID;
		语句.Parameters.Add("@模板_贴子内容",SqlDbType.Int).Value=0;
		语句.Parameters.Add("@模板_回贴列表",SqlDbType.Int).Value=0;
		语句.Parameters.Add("@模板_3G贴子内容",SqlDbType.Int).Value=0;
		语句.Parameters.Add("@模板_3G回贴列表",SqlDbType.Int).Value=0;
		语句.ExecuteNonQuery();
	}
}