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;

public partial class Admin_YeMian_ZhuanYiWenJianJia : System.Web.UI.Page
{
    private 访问 访问;
    protected String 加载代码;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("转移文件夹", "网站后台", "转移文件夹", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }

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

        String 文件夹 = Request.QueryString["ti"].Substring(4);
        String 文件夹位置, 文件夹名称;
        获取位置和名称(文件夹, out 文件夹位置, out 文件夹名称);

        Label1.Text = 文件夹;
        if (this.IsPostBack)
            转移文件夹(文件夹, 文件夹位置, 文件夹名称);
        else
            初始化(文件夹, 文件夹位置, 文件夹名称);
    }

    private void 初始化(String 文件夹,String 文件夹位置,String 文件夹名称)
    {
        WenJianJia.Items.Add(new ListItem("主目录", "/"));
        生成文件夹(new DirectoryInfo(Server.MapPath(程序.安装位置 + "Template/" + 程序.设置["默认模板"] + "/WapPage/")), "/", 1);
    }

    private void 生成文件夹(DirectoryInfo DI, String 文件夹,int 深度)
    {
        DirectoryInfo[] DIS = DI.GetDirectories();
        for (int i = 0; i < DIS.Length; i++)
        {
            if (文件夹 + DIS[i].Name + "/" == Label1.Text)
                continue;
            WenJianJia.Items.Add(new ListItem(生成空格(深度)+DIS[i].Name, 文件夹 + DIS[i].Name + "/"));
            生成文件夹(DIS[i], 文件夹 + DIS[i].Name + "/", 深度 + 1);
        }
    }

    private String 生成空格(int 数量)
    {
        String 返回值 = "";
        for (int i = 0; i < 数量; i++)
            返回值 += "　";
        return 返回值 + "|-";
    }

    private void 转移文件夹(String 文件夹, String 文件夹位置, String 文件夹名称)
    {
        访问.验证权限("8");
        if (WenJianJia.SelectedValue == null || WenJianJia.SelectedValue == "")
            throw new Exception("请选择目标位置");

        String 新文件夹 = WenJianJia.SelectedValue;

        //验证

        if (Directory.Exists(Server.MapPath(程序.安装位置+新文件夹.Substring(1) + 文件夹名称+"/")))
            throw new Exception("无法移动到该文件夹");

        //转移数据
        new DirectoryInfo(Server.MapPath(程序.安装位置 + "Template/" + 程序.设置["默认模板"] + "/WapPage" + 文件夹位置 + 文件夹名称))
            .MoveTo(Server.MapPath(程序.安装位置 + "Template/" + 程序.设置["默认模板"] + "/WapPage" + 新文件夹 + 文件夹名称));
        new DirectoryInfo(Server.MapPath(程序.安装位置 + 文件夹位置.Substring(1) + 文件夹名称))
            .MoveTo(Server.MapPath(程序.安装位置 + 新文件夹.Substring(1) + 文件夹名称));

        加载代码 = "window.open('../DH_YeMianGuanLi.aspx','ZuoDaoHang');location.href='WenJianJia.aspx?ti=" + Server.UrlEncode("fol_" + 新文件夹 + 文件夹名称 + "/")+"';";
    }

    private void 获取位置和名称(String 文件夹, out String 文件夹位置, out String 文件夹名称)
    {
        文件夹 = 文件夹.Substring(0, 文件夹.Length - 1);
        文件夹位置 = 文件夹.Substring(0, 文件夹.LastIndexOf('/') + 1);
        文件夹名称 = 文件夹.Substring(文件夹.LastIndexOf('/') + 1);
    }
}
