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_ZengJia3GWenJian : System.Web.UI.Page
{
    private 访问 访问;
    protected String 位置;
    protected String 加载代码;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("增加3G文件", "网站后台", "增加3G文件", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }

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

        位置 = Request.QueryString["ti"];
        if (位置 == "_")
            位置 = "/";
        else
            位置 = 位置.Substring(4);
        if (位置.EndsWith(".aspx"))
            位置 = 位置.Substring(0, 位置.LastIndexOf('/') + 1);
        Label1.Text = 位置;

        if (this.IsPostBack)
            增加页面();
    }

    private void 增加页面()
    {
        访问.验证权限("8");
        String 页面名称 = YeMianMingChen.Text;
        String 文件名称 = WenJianMingChen.Text;

        if (页面名称.Length < 1 || 页面名称.Length > 50)
            throw new Exception("页面名称的长度只能在1-50之间");
        if (文件名称.Length < 1 || 文件名称.Length > 50)
            throw new Exception("文件名称的长度只能在1-50之间");
        if (文件名称.IndexOf('/') != -1 || 文件名称.IndexOf('\\') != -1)
            throw new Exception("文件名称不能包含字符'/'");
        if (File.Exists(Server.MapPath(程序.安装位置 + 位置.Substring(1) + 文件名称 + ".aspx")))
            throw new Exception("文件已存在");

        编译器 编译 = new 编译器(this.Context, 访问.连接, "页面相关", false);
        编译.开始执行代码 = 编译.开始执行代码.Replace("$所在位置$", 页面名称)
                    .Replace("$内容类型$", "网站页面")
                    .Replace("$内容子类型$", 页面名称);
        String 代码内容 = 常用.网页_获取默认内容(页面名称, false);

        String ASPX代码, CS代码;
        CS代码 = 编译.编译(代码内容, 位置.Substring(1) + 文件名称, out ASPX代码);
        File.WriteAllText(Server.MapPath("~" + 位置 + 文件名称 + ".aspx"), ASPX代码, Encoding.UTF8);
        File.WriteAllText(Server.MapPath("~" + 位置 + 文件名称 + ".aspx.cs"), CS代码, Encoding.UTF8);

        代码内容 = "3G_" + 页面名称 + "\r\n"+
            "\r\n"
            + 代码内容;
        if (位置.StartsWith("/club/", StringComparison.OrdinalIgnoreCase))
            File.WriteAllText(Server.MapPath(程序.安装位置 + "Template/Club/" + 程序.设置["默认社区模板"] + "/WapPage" + 位置.Substring(5) + 文件名称 + ".txt"),
                代码内容,Encoding.UTF8);
        else
            File.WriteAllText(Server.MapPath(程序.安装位置 + "Template/Content/" + 程序.设置["默认模板"] + "/WapPage" + 位置 + 文件名称 + ".txt"),
                代码内容,Encoding.UTF8);

        加载代码 = "window.open('../DH_YeMianGuanLi.aspx','ZuoDaoHang');location.href='XiuGai3GWenJian.aspx?file=" + Server.UrlEncode(位置 + 文件名称) + "&name=" + Server.UrlEncode(页面名称) + "';";
    }
}
