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 wTemplate_Club_默认模板_Club_Aspx_2:System.Web.UI.Page
{
	//------------------------------
	// 此文件代码由工具自动生成
	// 2010-5-29 18:00:09
	// UUNSOFT.COM 版权所有
	//------------------------------
	private 访问 访问;
	private StringBuilder 返回值;
	protected void Page_Load(object sender,EventArgs e)
	{
		访问 = new 访问(this.Context);
		访问.是否前台=true;
		访问.是否WML=false;
		访问.开始处理("贴子列表","其它","贴子列表",new 访问.回调委托(ZhiXing));
		访问.关闭连接();
	}
	private void ZhiXing()
	{
		返回值=new StringBuilder();
	所属版块=Convert.ToInt32(Request.QueryString["ID"]);
	时间格式=获取时间格式();
	获取论坛版块();
	上级版块=Convert.ToInt32(论坛版块["所属版块"]);
	当前页面=程序.安装位置+"Club/3G_Board.aspx";
	是否精华=Convert.ToBoolean(Request.QueryString["state"]);
	if(Request.QueryString["order"]==null)
		排序=4;
	else
		排序=Convert.ToInt32(Request.QueryString["order"]);
	一页显示记录数=获取一页显示记录数();
	应用版块设置();
	生成下级版块数据();
	跳页表单项="<postfield name=\"state\" value=\""+是否精华+"\" />"+
		"<postfield name=\"ID\" value=\""+所属版块+"\" />"+
		"<postfield name=\"order\" value=\""+排序+"\" />"+
		"<postfield name=\""+程序.设置["标识名称"]+"\" value=\""+访问.用户["标识"]+"\" />";
	_3G跳页表单项="<input type=\"hidden\" name=\"state\" value=\""+是否精华+"\" />"+
		"<input type=\"hidden\" name=\"ID\" value=\""+所属版块+"\" />"+
		"<input type=\"hidden\" name=\"order\" value=\""+排序+"\" />"+
		"<input type=\"hidden\" name=\""+程序.设置["标识名称"]+"\" value=\""+访问.用户["标识"]+"\" />";
		查询条件+=" WHERE [是否删除]=0 AND [所属版块]="+所属版块+(是否精华?" AND [是否精华]='1'":"");
		String 数量语句SQL="SELECT COUNT(ID) FROM ["+程序.数据表前缀+"社区_论坛_贴子]"+查询条件;
		SqlCommand 数量语句=new SqlCommand(数量语句SQL,访问.连接);
		当前页=Convert.ToInt32(Request.QueryString["page"]);
		总记录数=Convert.ToInt32(数量语句.ExecuteScalar());
		总页数=常用.计算总页数(总记录数,一页显示记录数);
		当前页=常用.计算当前页(总页数,当前页);
		返回值.Append(@"<?xml version=""1.0"" encoding=""UTF-8""?>
<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN"" ""DTD/xhtml1-strict.dtd"">
<html xmlns=""http://www.w3.org/1999/xhtml"">
<head>
<meta http-equiv=""cache-control"" content=""no-cache""/>
<meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />
<title>");
		返回值.Append(Server.HtmlEncode(论坛版块["版块名称"].ToString()));
		返回值.Append(@"</title>
<style type=""text/css"">body{ font-size:12px;}body{background-color: #FFFFFF; margin: 0px; padding: 0px;font-size:12px;}
a:link{color:#009;}
a:visited{color:#800080;}
a{text-decoration:underline;}

div.div3  { padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px }

div.div5  { background-color: #ffefc4; color: #c62a05 }
div.div5  a { color: #6200c4 }

</style>
</head>
<body>
<div>");
		返回值.Append(new 消息(this.Context,访问.连接).弹出消息(访问.用户));
		返回值.Append(@"
<div class=""div5"">
<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"page.aspx?ID=2",访问.用户["标识"].ToString())));
		返回值.Append(@""">首页</a>-<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"club/page.aspx?ID=2",访问.用户["标识"].ToString())));
		返回值.Append(@""">社区</a>-");
		返回值.Append(Server.HtmlEncode(论坛版块["版块名称"].ToString()));
		返回值.Append(@"<br/>
</div>
");
		if(访问.用户["用户类型"].ToString()!="会员")
		{
		返回值.Append(@"
<div class=""div3"">
请先<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"3G_Club/Login.aspx?rurl="+Server.UrlEncode(Request.Url.ToString().Replace(访问.用户["标识"].ToString(),"@sid@")),访问.用户["标识"].ToString())));
		返回值.Append(@""">登录</a>或<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"3G_Club/Reg.aspx?rurl="+Server.UrlEncode(Request.Url.ToString().Replace(访问.用户["标识"].ToString(),"@sid@")),访问.用户["标识"].ToString())));
		返回值.Append(@""">注册</a>
</div>
");
		}
		返回值.Append(@"
");
		返回值.Append(论坛版块["版块简介"].ToString()==""?"":Server.HtmlEncode(常用.UBB转换(论坛版块["版块简介"].ToString(),访问.用户))+"<br/>");
		返回值.Append(@"
<div class=""div3"">
版主:");
		版主列表WDC4WM76();
		返回值.Append(@"
</div>
<div class=""div3"">
<a href=""3G_Topic_Add.aspx?ID=");
		返回值.Append(论坛版块["ID"]);
		返回值.Append(@"&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">发新贴</a>

");
		if(排序==4)
		{
		返回值.Append(@"
<a href=""3G_Board.aspx?ID=");
		返回值.Append(论坛版块["ID"]);
		返回值.Append(@"&amp;order=1&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">新贴</a>
");

		}
		返回值.Append(@"

");
		if(排序!=4)
		{
		返回值.Append(@"
<a href=""3G_Board.aspx?ID=");
		返回值.Append(论坛版块["ID"]);
		返回值.Append(@"&amp;order=4&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">顺序</a>
");

		}
		返回值.Append(@"

");
		if(是否精华)
		{		返回值.Append(@"
<a href=""3G_Board.aspx?ID=");
		返回值.Append(论坛版块["ID"]);
		返回值.Append(@"&amp;state=false&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">普通</a>
");

		}
		返回值.Append(@"

");
		if(!是否精华)
		{
		返回值.Append(@"
<a href=""3G_Board.aspx?ID=");
		返回值.Append(论坛版块["ID"]);
		返回值.Append(@"&amp;state=true&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">精华</a>
");

		}
		返回值.Append(@"

<a href=""3G_Topic_Search.aspx?ID=");
		返回值.Append(论坛版块["ID"]);
		返回值.Append(@"&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">搜索</a>

<a href=""3G_Topic_Function.aspx?ID=");
		返回值.Append(论坛版块["ID"]);
		返回值.Append(@"&amp;");
		返回值.Append(Server.HtmlEncode(程序.设置["标识名称"].ToString()));
		返回值.Append(@"=");
		返回值.Append(访问.用户["标识"].ToString());
		返回值.Append(@""">功能</a>
</div>
------------------------<br/>

");
		贴子列表G41146F2();
		返回值.Append(@"
");
		if(总页数<2)
		{
		}
		else
		{
		返回值.Append(@"<form method=""get"" action=""");
		返回值.Append(当前页面);
		返回值.Append(@""">
");
		返回值.Append(页面定位LPY23PMF());
		返回值.Append(下页代码70T9TNNA());
		返回值.Append(尾页代码KP6MG3YC());
		返回值.Append(上页代码ECDCO6FA());
		返回值.Append(首页代码1OW7L6I6());
		返回值.Append(@"<br/>

");
		返回值.Append(当前页);
		返回值.Append(@"/");
		返回值.Append(总页数);
		返回值.Append(@"页(");
		返回值.Append(总记录数);
		返回值.Append(@"贴) 
<input type=""text"" name=""page"" size=""2"" value=""2"" /><input type=""submit"" value=""转到该页"" />");
		返回值.Append(_3G跳页表单项);
		返回值.Append(@"
</form>");
		}
		返回值.Append(@"

------------------------<br/>
");
		if(上级版块!=0)
		{
			DataSet 数据9O4XI0W5=(DataSet)Application["UUN_UUN3G_LunTanBanKuai"];
			返回值.Append(生成上级版块列表9O4XI0W5(数据9O4XI0W5,上级版块));
		}
		返回值.Append(@"
<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"club/page.aspx?ID=2",访问.用户["标识"].ToString())));
		返回值.Append(@""">返回社区首页</a><br/>
<a href=""");
		返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"page.aspx?ID=2",访问.用户["标识"].ToString())));
		返回值.Append(@""">返回首页</a><br/>
");
		返回值.Append(DateTime.Now.ToString(@"MM月dd日 HH:mm"));
		返回值.Append(@"
    </div>
  </body>
</html>");
		Response.Write(返回值);
		Response.Write("<!-- Powered by www.uunsoft.com -->");
	}
	private String 当前页面;
	//参数
	private int 所属版块;
	private bool 是否精华;
	private int 排序;
	//其它
	private String 跳页表单项;
	private String _3G跳页表单项;
	private String 查询条件="";
	private DataRow 论坛版块;
	private DataSet 论坛版主;
	private DataSet 下级版块数据;
	private int 上级版块;
	private int 在线人数=-1;
	private String 时间格式;
	//列表分页
	private int 当前页;
	private int 总页数;
	private int 总记录数;
	private int 一页显示记录数;
	private String 列表跳页(int 页码)
	{
		return Server.HtmlEncode(常用.处理地址(当前页面+"?ID="+所属版块+"&state="+是否精华+"&order="+排序+"&page="+页码,访问.用户["标识"].ToString()));
	}
	private void 获取论坛版块()
	{
		DataSet 论坛版块=(DataSet)Application["UUN_UUN3G_LunTanBanKuai"];
		for(int i=0;i<论坛版块.Tables[0].Rows.Count;i++)
		{
			DataRow 行=论坛版块.Tables[0].Rows[i];
			if(所属版块==0)
				所属版块=Convert.ToInt32(行["ID"]);
			if(Convert.ToInt32(行["ID"])==所属版块)
				this.论坛版块=行;
		}
	}
	private int 获取在线人数()
	{
		SqlCommand 语句=new SqlCommand("SELECT COUNT(ID) FROM ["+程序.数据表前缀+"社区_用户_用户] WHERE [最后访问时间]>@最后访问时间 AND [用户类型]='管理员' AND [所在位置]=@所在位置",访问.连接);
		语句.Parameters.Add("@最后访问时间",SqlDbType.DateTime).Value=DateTime.Now-new TimeSpan(0,Convert.ToInt32(程序.设置["离线时间"]),0);
		语句.Parameters.Add("@所在位置",SqlDbType.NVarChar).Value="版块["+论坛版块["版块名称"]+"]";
		return Convert.ToInt32(语句.ExecuteScalar());
	}
	private void 获取论坛版主()
	{
		论坛版主=new DataSet();
		SqlCommand 语句=new SqlCommand("SELECT * FROM ["+程序.数据表前缀+"社区_论坛_版主] WHERE [所属版块]="+所属版块+" 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 bool 是否允许发贴()
	{
		switch(Convert.ToInt32(论坛版块["发贴权限"]))
		{
			case 0:
				return true;
			case 1:
				return 访问.用户["用户类型"].ToString()=="会员";
			default:
				return 是否版主();
		}
	}
	private String 生成余下全部地址()
	{
		return "";
	}
	private void 生成下级版块数据()
	{
		DataSet 数据=(DataSet)Application["UUN_UUN3G_LunTanBanKuai"];
		DataSet 版块数据=new DataSet();
		版块数据.Tables.Add(数据.Tables[0].Clone());
		for(int i=0;i<数据.Tables[0].Rows.Count;i++)
			if(Convert.ToInt32(数据.Tables[0].Rows[i]["所属版块"])==所属版块)
				版块数据.Tables[0].Rows.Add(常用.数据_复制行(版块数据.Tables[0],数据.Tables[0].Rows[i]));
		下级版块数据=版块数据;
	}
	private void 版主列表WDC4WM76()
	{
		if(论坛版主==null)
			获取论坛版主();
		DataSet 数据=论坛版主;
		if(数据.Tables[0].Rows.Count<1)
			返回值.Append(@"暂无版主");
		else
		{
			for(int i=0;i<数据.Tables[0].Rows.Count;i++)
			{
			DataRow 行=数据.Tables[0].Rows[i];
			返回值.Append(@"<a href=""");
			返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"Club/3G_User.aspx?ID="+行["版主ID"]+"&rurl="+Server.UrlEncode(Request.Url.ToString()),访问.用户["标识"].ToString())));
			返回值.Append(@""">");
			返回值.Append(Server.HtmlEncode(行["版主昵称"].ToString()));
			返回值.Append(@"</a> ");

			}
		}
	}
	private void 贴子列表G41146F2()
	{
		if(总记录数<1)
			返回值.Append(@"暂时还没有贴子<br/>");
		String 语句SQL="SELECT [ID],[是否置顶],[是否精华],[是否锁定],[回贴数],[发表时间],[贴子类型],[所属版块],[标题],[作者昵称],[点击数] FROM ["+程序.数据表前缀+"社区_论坛_贴子]"+查询条件;
		语句SQL+=" ORDER BY [是否置顶] DESC,";
	switch(排序)
	{
			case 0:
				语句SQL+="[ID]";
				break;
			case 1:
				语句SQL+="[ID] DESC";
				break;
			case 2:
				语句SQL+="[点击数] DESC";
				break;
			case 3:
				语句SQL+="[回贴数] DESC";
				break;
			default:
				语句SQL+="[最后回贴时间] DESC";
				break;
	}
		SqlCommand 语句=new SqlCommand(语句SQL,访问.连接);
		DataSet 数据=new DataSet();
		SqlDataAdapter 填充=new SqlDataAdapter(语句);
		填充.Fill(数据,(当前页-1)*一页显示记录数,一页显示记录数,"表");
		for(int i=0;i<数据.Tables[0].Rows.Count;i++)
		{
			DataRow 行=数据.Tables[0].Rows[i];
			返回值.Append(@"<div class=""div3"">");
			返回值.Append((当前页-1)*一页显示记录数+i+1);
			返回值.Append(@".");
			返回值.Append(常用.贴子状态代码(行));
			返回值.Append(@"<a href=""");
			返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"Club/3G_Topic.aspx?BID="+行["所属版块"]+"&ID="+行["ID"],访问.用户["标识"].ToString())));
			返回值.Append(@""">");
			返回值.Append(Server.HtmlEncode(行["标题"].ToString()));
			返回值.Append(@"</a>[");
			返回值.Append(Server.HtmlEncode(行["作者昵称"].ToString()));
			返回值.Append(@"/<a href=""");
			返回值.Append(Server.HtmlEncode(常用.处理地址(程序.安装位置+"Club/3G_Reply.aspx?BID="+行["所属版块"]+"&ID="+行["ID"],访问.用户["标识"].ToString())));
			返回值.Append(@""">");
			返回值.Append(行["回贴数"].ToString());
			返回值.Append(@"回</a>/");
			返回值.Append(行["点击数"].ToString());
			返回值.Append(@"阅]</div>");
		}
		}

	private String 页面定位LPY23PMF()
	{
		String 返回值="";
		for(int i=当前页-2;i<=当前页+2;i++)
			if(i>0&&i<=总页数&&总页数>1)
				if(i==当前页)
				{
								返回值+=@"";
				返回值+=i.ToString();
				返回值+=@"
";

				}
				else
				{
				返回值+=@"<a href=""";
				返回值+=列表跳页(i);
				返回值+=@""">";
				返回值+=i.ToString();
				返回值+=@"</a>
";
				}
		return 返回值;
	}

		private String 下页代码70T9TNNA()
		{
			String 返回值="";
			int 页数=当前页+1;
			if(当前页<总页数)
			{
				返回值+=@"<a href=""";
				返回值+=列表跳页(页数);
				返回值+=@""">下页</a> ";

			}
			else
			{

			}

			return 返回值;
		}

		private String 尾页代码KP6MG3YC()
		{
			String 返回值="";
			int 页数=总页数;
			if(当前页!=总页数)
			{
				返回值+=@"<a href=""";
				返回值+=列表跳页(页数);
				返回值+=@""">尾页</a> ";

			}
			else
			{

			}

			return 返回值;
		}

		private String 上页代码ECDCO6FA()
		{
			String 返回值="";
			int 页数=当前页-1;
			if(当前页>1)
			{
				返回值+=@"<a href=""";
				返回值+=列表跳页(页数);
				返回值+=@""">上页</a> ";

			}
			else
			{

			}

			return 返回值;
		}

		private String 首页代码1OW7L6I6()
		{
			String 返回值="";
			int 页数=1;
			if(当前页!=1)
			{
				返回值+=@"<a href=""";
				返回值+=列表跳页(页数);
				返回值+=@""">首页</a> ";

			}
			else
			{

			}

			return 返回值;
		}
	private String 生成上级版块列表9O4XI0W5(DataSet 数据,int ID)
	{
		if(ID!=0)
		{
			String 返回值="";
			String 版块名称="";
			int 上级版块=0;
			for(int i=0;i<数据.Tables[0].Rows.Count;i++)
			{
				DataRow 行=数据.Tables[0].Rows[i];
				if(Convert.ToInt32(行["ID"])==ID)
				{
					版块名称=Convert.ToString(行["版块名称"]);
					上级版块=Convert.ToInt32(行["所属版块"]);
				}
			}
				返回值+=@"<a href=""";
				返回值+=Server.HtmlEncode(常用.处理地址(程序.安装位置+"Club/3G_Board.aspx?ID="+ID,访问.用户["标识"].ToString()));
				返回值+=@""">返回";
				返回值+=Server.HtmlEncode(版块名称);
				返回值+=@"</a><br/>";
				return 返回值+生成上级版块列表9O4XI0W5(数据,上级版块);
		}
		else
		{
			return "";
		}
	}
	private int 获取一页显示记录数()
	{
		return 访问.获取一页显示记录数();

	}
	private String 获取时间格式()
	{
		return @"yyyy-MM-dd HH:mm:ss";

	}
}