using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using UUN;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;

public partial class Admin_YeMian_XiuGai3GWenJian : System.Web.UI.Page
{
    private 访问 访问;
    protected String 预览地址;
    protected String 编辑文件;
    protected String 编译类型;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("修改3G文件", "网站后台", "修改3G文件", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }

    private void ZhiXing()
    {
        访问.验证管理员();

        Label1.Text = Server.HtmlEncode(Request.QueryString["name"]);
        编辑文件 = Request.QueryString["file"];

        SqlCommand 语句 = new SqlCommand("SELECT [标识] FROM ["+程序.数据表前缀+"社区_用户_用户] WHERE [用户类型]='会员' ORDER BY [ID]", 访问.连接);
        String 标识;
        SqlDataReader 读取 = 语句.ExecuteReader();
        if (读取.Read())
            标识 = 读取["标识"].ToString();
        else
            标识 = "";
        读取.Close();

        预览地址 = 程序.安装位置 + "Admin/WAPLiuLanQi.aspx?url=" +
            Server.UrlEncode("http://" + Request.Url.Authority + 程序.安装位置 + 编辑文件.Substring(1) + ".aspx?bs=" + 标识);

        if (!this.IsPostBack)
        {
            DaiMa.Text = "正在获取..";
            String 文件位置;
            if (编辑文件.StartsWith("/club/", StringComparison.OrdinalIgnoreCase))
                文件位置 = 程序.安装位置 + "Template/Club/" + 程序.设置["默认社区模板"] + "/WapPage" + 编辑文件.Substring(5) + ".txt";
            else
                文件位置 = 程序.安装位置 + "Template/Content/" + 程序.设置["默认模板"] + "/WapPage" + 编辑文件 + ".txt";

            FileInfo FI = new FileInfo(Server.MapPath(文件位置));
            StreamReader 读取_ = FI.OpenText();
            String 第一行内容 = 读取_.ReadLine();
            编译类型 = 读取_.ReadLine();
            String 文件内容 = 读取_.ReadToEnd();
            读取_.Close();
            HDM.Value = 文件内容;
        }
    }

    private void 更改网页()
    {
        访问.验证权限("8");
        String ASPX代码, CS代码;

        String 文件位置;
        if (编辑文件.StartsWith("/club/", StringComparison.OrdinalIgnoreCase))
            文件位置 = 程序.安装位置 + "Template/Club/" + 程序.设置["默认社区模板"] + "/WapPage" + 编辑文件.Substring(5) + ".txt";
        else
            文件位置 = 程序.安装位置 + "Template/Content/" + 程序.设置["默认模板"] + "/WapPage" + 编辑文件 + ".txt";
        FileInfo FI = new FileInfo(Server.MapPath(文件位置));
        StreamReader 读取 = FI.OpenText();
        String 第一行内容 = 读取.ReadLine();
        编译类型 = 读取.ReadLine();
        String 文件内容 = 读取.ReadToEnd();
        读取.Close();

        编译器 编译 = new 编译器(this.Context, 访问.连接, 编译类型,false);
        编译.模板名称 = 编辑文件.StartsWith("/club/") ? 程序.设置["默认社区模板"].ToString() : 程序.设置["默认模板"].ToString();
        编译.文件名称 = 程序.安装位置 + 编辑文件.Substring(1) + ".aspx";
        编译.开始执行代码 = 编译.开始执行代码.Replace("$所在位置$", 编译类型)
            .Replace("$内容类型$", "网站页面")
            .Replace("$内容子类型$", Request.QueryString["name"]);
        CS代码 = 编译.编译(DaiMa.Text, 编辑文件.Substring(1), out ASPX代码);
        File.WriteAllText(Server.MapPath("~" + 编辑文件 + ".aspx"), ASPX代码, Encoding.UTF8);
        File.WriteAllText(Server.MapPath("~" + 编辑文件 + ".aspx.cs"), CS代码, Encoding.UTF8);
        

        File.WriteAllText(Server.MapPath(文件位置), 第一行内容 + "\r\n" +
            编译类型 + "\r\n" +
            DaiMa.Text, Encoding.UTF8);
        HDM.Value = DaiMa.Text;
        DaiMa.Text = "正在获取..";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        访问.连接.Open();
        更改网页();
        访问.连接.Close();
    }
}
