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

namespace UUN
{
    /// <summary>
    /// 编译Club/Topic_Edit.aspx文件
    /// </summary>
    public class 编译扩展_Club_Topic_Edit : 编译扩展接口
    {
        private SqlConnection 连接;
        private HttpContext HC;
        private 编译器 编译器;

        public 编译扩展_Club_Topic_Edit(SqlConnection 连接, HttpContext HC, 编译器 编译器)
        {
            this.连接 = 连接;
            this.HC = HC;
            this.编译器 = 编译器;
        }

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            编译器.方法库 += @"
	private int BID;
	private int ID;
	private DataRow 论坛版块;
	private String 标题;
	private String 内容;
	private String 随机值;
	private void 生成贴子内容()
	{
		SqlCommand 语句=new SqlCommand(""SELECT [标题],[作者ID] FROM [""+程序.数据表前缀+""社区_论坛_贴子] WHERE [ID]=""+ID+"" AND [所属版块]=""+BID+"" AND [作者ID]=""+访问.用户[""ID""],访问.连接);
		SqlDataReader 读取=语句.ExecuteReader();
		if(读取.Read())
		{
			标题=读取[""标题""].ToString();
			读取.Close();
		}
		else
		{
			读取.Close();
			throw new Exception(""贴子不存在"");
		}
		内容=File.ReadAllText(Server.MapPath(程序.安装位置+""Data/DT_TieZhi/""+(ID/500)+""/""+ID+"".txt""),Encoding.UTF8);
	}
";
            String 返回值 = "";
            返回值 += @"

	ID=Convert.ToInt32(Request.QueryString[""ID""]);
	BID=Convert.ToInt32(Request.QueryString[""BID""]);
	论坛版块=常用.获取版块(BID);
	随机值=常用.随机字符(8);
	访问.验证会员();
	生成贴子内容();
";
            return 返回值;
        }

        public string 编译公共标签(string 代码)
        {
            switch (代码)
            {
                case "ID":
                    return @"
		返回值.Append(ID);
";
                case "标题":
                    return @"
		返回值.Append(Server.HtmlEncode(标题));
";
                case "内容":
                    return @"
		返回值.Append(Server.HtmlEncode(内容));
";
                case "版块ID":
                    return @"
		返回值.Append(论坛版块[""ID""]);
";
                case "版块名称":
                    return @"
		返回值.Append(Server.HtmlEncode(论坛版块[""版块名称""].ToString()));
";
                case "随机值":
                    return @"
		返回值.Append(随机值);
";
                default:
                    return "";
            }
        }

        public string 编译模板方法(string 方法名称, string[] 属性数组)
        {
            return "";
        }

        public string 结束执行代码()
        {
            return "";
        }

        #endregion
    }
}