Beispiel #1
0
    /// <summary>
    /// 初始化数据
    /// </summary>
    private void InitializePage()
    {
        string vs = Utils.GetRequest("vs", "get", 1, "", "");

        if (!WebUpdate.IsVersion(vs.Replace("v", "")))
        {
            Utils.Error("版本号错误", "");
        }

        //更新系统状态
        BCW.Common.ub xml = new BCW.Common.ub();
        xml.Reload();
        xml.ds["SiteStatus"] = 1; //维护升级状态
        System.IO.File.WriteAllText(Server.MapPath("~/Controls/wap.xml"), xml.Post(xml.ds), System.Text.Encoding.UTF8);
        //设置一个缓存,用作下一页比较
        int ModelCache = 60;

        DataCache.SetCache("LIGHT-CMSUPDATE", Utils.Mid(Utils.getstrU(), 0, Utils.getstrU().Length - 4), DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);

        //if (vs == "v1.3.52")
        //{
        //    SqlHelper.ExecuteSql("update tb_user set forumSet=replace(forumSet,'@','|')");
        //}
        Utils.Success("正在初始化", "系统正在进入维护状态,请稍后..", Utils.getUrl("updatest.aspx?vs=" + vs + ""), "2");
    }
Beispiel #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string back = "";

        back = HttpUtils.SendRequest(getLostone88888888888("hVylEGNAhByXIZjvsRIxMgTYTacmubYk0O5ijZPy24d7Jf0cNNyk0t8R3bttAISJ") + "" + Encrypt(GetDomain(), "nowtx.net") + "", "");

        if (back == "error")
        {
            head("网络超时或没有升级权限!");
        }
        if (!GetDomain().Contains(back))
        {
            head("网络超时或没有升级权限!");
        }
        string info = GetRequest("info", "get", 1, "", "");
        int    num  = int.Parse(GetRequest("num", "get", 1, @"^[0-9]\d*$", "0"));
        string vs   = GetRequest("vs", "get", 1, "", "");

        if (!WebUpdate.IsVersion(vs.Replace("v", "")))
        {
            head("版本号错误");
        }

        //后台管理员权限判断(缓存)
        string u = "";

        u = HttpContext.Current.Request["" + SID + ""];
        if (!string.IsNullOrEmpty(u))
        {
            u = Mid(u, 0, u.Length - 4);
        }
        object strU = GetCache("LIGHT-CMSUPDATE");

        if (num == 0)
        {
            if (strU == null || u != strU.ToString())
            {
                Response.Redirect("login.aspx");
                Response.End();
            }
        }
        //----------------------开始获取基本信息---------------------
        UpdateInfo model    = null;
        UpdateInfo ftpmodel = null;

        //获取FTP信息
        string GetUrl = "" + HttpHost + "lightBcwUpdate.xml";

        try
        {
            model = new UpdateXML().GetVersionXML(GetUrl);
            string GetUrl2 = "" + HttpHost + model.FtpData;
            ftpmodel = new UpdataFTP().GetFtpXML(GetUrl2);
            if (ftpmodel == null)
            {
                head("不存在的版本记录或网络超时e");
            }
        }
        catch
        {
        }
        if (vs != "v9.9.9")
        {
            //获取该版本信息
            string CacheUpdateXML = "lightcmsUpdataXML" + vs;
            string vsPath         = "" + HttpHost + "" + vs + "/" + vs + ".xml";
            try
            {
                model = new UpdateXML().GetUpdateXML(vsPath);
                if (model == null)
                {
                    head("不存在的版本记录或网络超时fe");
                }
            }
            catch
            {
            }
        }
        else
        {
            //特殊更新
            string CacheUpdateXML = "lightcmsUpdataXML2" + vs;
            string vsPath         = "" + HttpHost + "" + back + ".xml";
            try
            {
                model = new UpdateXML().GetUpdateXML(vsPath);
                if (model == null)
                {
                    head("网络超时");
                }
            }
            catch
            {
            }
        }
        //----------------------结束获取基本信息---------------------

        string[] sPath = model.Paths.Split("|".ToCharArray());

        if (info != "ok")
        {
            head("正在升级", "本次升级共分" + sPath.Length + "个步骤,大约用时" + model.WithTime + ",请不要刷新本页!<br />正在执行第1个步骤...", getUrl("updatest.aspx?info=ok&amp;act=start&amp;vs=" + vs + ""));
        }
        else
        {
            WebUpdate objftp = new WebUpdate();
            objftp.FromPath = sPath[num];    //文件路径
            if (sPath[num].Contains("{RE}"))
            {
                objftp.FromPath = objftp.FromPath.Replace("{RE}", back);
            }
            if (sPath[num].Contains("{ADMIN}"))
            {
                string AdminPath = GetConfigString("AdminPath");
                objftp.FromPath = objftp.FromPath.Replace("{ADMIN}", AdminPath);
            }
            objftp.ToPath = model.ToPath;   //网站根目录
            objftp.RePath = model.RePath;   //去掉目录
            if (sPath[num].Contains("{RE}"))
            {
                objftp.RePath = back;
            }
            objftp.RemoteHost = ftpmodel.RemoteHost;
            objftp.RemotePort = ftpmodel.RemotePort;
            objftp.RemoteUser = ftpmodel.RemoteUser;
            objftp.RemotePass = ftpmodel.RemotePass;
            objftp.RemotePath = ftpmodel.RemotePath;
            objftp.ftp();
            if (sPath.Length == 1 || sPath.Length == (num + 1))
            {
                //执行SQL语句
                if (!string.IsNullOrEmpty(model.Notes))
                {
                    string[] sqlTemp = model.Notes.Split("|".ToCharArray());
                    for (int i = 0; i < sqlTemp.Length; i++)
                    {
                        try
                        {
                            SqlHelper.ExecuteSql(sqlTemp[i].ToString());
                        }
                        catch { }
                    }
                }
                if (vs != "v9.9.9")
                {
                    //更新版本
                    ub xml = new ub();
                    xml.Reload();
                    xml.ds["SiteVersion"] = model.Version;
                    xml.ds["SiteStatus"]  = 0;
                    System.IO.File.WriteAllText(Server.MapPath("~/Controls/wap.xml"), xml.Post(xml.ds), System.Text.Encoding.UTF8);
                    head("升级完成", "恭喜,升级(" + model.Version + ")成功!", getUrl("update.aspx?info=ok"));
                }
                else
                {
                    head("特殊更新", "恭喜,特殊更新成功!", getUrl("update.aspx?info=ok"));
                }
            }
            else
            {
                head("正在升级", "正在执行第" + (num + 2) + "个步骤...", getUrl("updatest.aspx?info=ok&amp;act=start&amp;vs=" + vs + "&amp;num=" + (num + 1) + ""));
            }
        }
    }