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.Net;

public partial class Admin_XuanZheTuPian : System.Web.UI.Page
{
    private 访问 访问;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("选择图片", "网站后台", "选择图片", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }
    public String 标识;
    private void 上传图片()
    {
        int ZGID = 常用.SQL_最高ID(访问.连接, 程序.数据表前缀+"其它_图片资源");
        String 图片位置 = 程序.安装位置 + "Data/TuPian/" + (ZGID /500) + "/";
        if (!Directory.Exists(Server.MapPath(图片位置)))
            Directory.CreateDirectory(Server.MapPath(图片位置));
        String 后缀;
        if (Convert.ToBoolean(Request.Form["FangShi"]))
        {
            if (Request.Files.Count != 1)
                throw new Exception("请选择您要上传的文件");
            后缀 = Path.GetExtension(Request.Files[0].FileName).Substring(1);
            if (!常用.是否允许后缀("gif,jpg,jpe,jpeg,png,tif,tiff,bmp", 后缀))
                throw new Exception("该文件非图片格式");
            Request.Files[0].SaveAs(Server.MapPath(图片位置 + ZGID + "." + 后缀));
        }
        else
        {
            后缀 = Path.GetExtension(Request.Form["TuPianDiZhi"]).Substring(1);
            if (!常用.是否允许后缀("gif,jpg,jpe,jpeg,png,tif,tiff,bmp", 后缀))
                throw new Exception("该文件非图片格式");
            常用.下载文件(Request.Form["TuPianDiZhi"], Server.MapPath(图片位置 + ZGID + "." + 后缀));
        }

        if (Request.Form["submit"] == "提交(增加水印)")
            new 水印().增加水印(Server.MapPath(图片位置 + ZGID + "." + 后缀));

        SqlCommand 语句 = new SqlCommand("INSERT INTO ["+程序.数据表前缀+"其它_图片资源]([ID],[图片地址])" +
            "VALUES(" + ZGID + ",@图片地址)", 访问.连接);
        语句.Parameters.Add("@图片地址", SqlDbType.NVarChar).Value = 图片位置 + ZGID + "." + 后缀;
        语句.ExecuteNonQuery();
    }
    private void 删除图片()
    {
        String[] IDS = Request.QueryString["del"].Split(',');
        SqlCommand 语句;
        SqlDataReader 读取;
        String 图片地址;
        for (int i = 0; i < IDS.Length; i++)
        {
            语句 = new SqlCommand("SELECT [图片地址] FROM [" + 程序.数据表前缀 + "其它_图片资源] WHERE [ID]=" + IDS[i], 访问.连接);
            读取 = 语句.ExecuteReader();
            if (读取.Read())
            {
                图片地址 = 读取["图片地址"].ToString();
                读取.Close();
            }
            else
            {
                读取.Close();
                continue;
            }

            if (File.Exists(Server.MapPath(图片地址)))
                File.Delete(Server.MapPath(图片地址));

            语句 = new SqlCommand("DELETE FROM [" + 程序.数据表前缀 + "其它_图片资源] WHERE [ID]=" + IDS[i], 访问.连接);
            语句.ExecuteNonQuery();
        }
    }
    private void ZhiXing()
    {
        访问.验证管理员();
        标识 = Request.QueryString["b"];

        if (Request.QueryString["l"] == "upload")
            上传图片();
        if (Request.QueryString["del"] != null)
            删除图片();

        SqlCommand 语句 = new SqlCommand("SELECT COUNT(ID) FROM [" + 程序.数据表前缀 + "其它_图片资源]", 访问.连接);
        后台分页 分页 = new 后台分页(Convert.ToInt32(语句.ExecuteScalar()),
            Convert.ToInt32(Request.QueryString["page"]),
            20,
            "XuanZheTuPian.aspx?b="+标识);

        DataSet 数据 = new DataSet();
        语句 = new SqlCommand("SELECT [ID],[图片地址] FROM [" + 程序.数据表前缀 + "其它_图片资源] ORDER BY [ID] DESC", 访问.连接);

        SqlDataAdapter 填充 = new SqlDataAdapter(语句);
        填充.Fill(数据, (分页.当前页 - 1) * 20, 20, "图片资源");

        String 图片列表 = "<table class=\"tab3\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\">";
        int i;
        for (i = 0; i < 数据.Tables[0].Rows.Count; i++)
        {
            DataRow 行 = 数据.Tables[0].Rows[i];
            if (i % 5 == 0)
                图片列表 += "<tr>";
            图片列表 += "<td style=\"width:20%\"><input type=\"checkbox\" name=\"d\" value=\"" + 行["ID"] + "\" />" +
                "<img src=\"" + Server.HtmlEncode(行["图片地址"].ToString()) + "\" alt=\"点击选择此图片\" onclick=\"javascript:window.close();opener.SheZhiWenJian('"+标识+"','"+Server.HtmlEncode(行["图片地址"].ToString())+"');\" style=\"width:180px;height:150px;cursor:hand\" />" +
                "</td>";
            if (i % 5 == 4)
                图片列表 += "</tr>";
        }
        if (i % 5 != 0)
        {
            while (i % 5 != 0)
            {
                图片列表 += "<td style=\"width:20%\"></td>";
                i++;
            }
            图片列表 += "</tr>";
        }
        图片列表 += "</table>";

        if (数据.Tables[0].Rows.Count > 0)
            CaoZuoDaiMa.Text = "操作：<input type=\"checkbox\" id=\"xz\" name=\"xz\" onclick=\"this.checked?QuanXuan('d'):BuXuan('d')\" /><label for=\"xz\">选择</label><a href=\"#\" onclick=\"if(HuoQuZhi('d')!=''){" +
                "if(confirm('真的要删除吗？')){location.href='XuanZheTuPian.aspx?page=" + 分页.当前页 +
                "&del='+HuoQuZhi('d');};}return false;\">删除</a>";

        TuPianLieBiao.Text = 图片列表;

        FenYeDaiMa.Text = 分页.生成代码();
    }
}
