Beispiel #1
0
        protected void Save_Btn_Click(object sender, EventArgs e)
        {
            M_Design_SiteInfo sfMod = sfBll.SelReturnModel(Mid);

            sfMod.SiteName  = SiteName_T.Text;
            Logo_UP.SaveUrl = sfMod.SiteDir + "/UploadFiles/";
            if (!Logo_UP.FVPath.Equals(sfMod.Logo, StringComparison.CurrentCultureIgnoreCase))
            {
                if (Logo_UP.HasFile)
                {
                    sfMod.Logo = Logo_UP.SaveFile();
                }
                else
                {
                    sfMod.Logo = Logo_UP.FVPath;
                }
            }
            sfMod.Score = DataConvert.CDouble(Request.Form["score_num"]);
            //if (Logo_UP.FileContent.Length > 100 && SafeSC.IsImage(Logo_UP.FileName))
            //{
            //    sfMod.Logo = SafeSC.SaveFile(sfMod.SiteDir + "/UploadFiles/", Logo_UP);
            //}
            sfBll.UpdateByID(sfMod);
            function.WriteSuccessMsg("修改成功", "SiteList.aspx");
        }
Beispiel #2
0
        private void MyBind()
        {
            M_Design_SiteInfo sfMod = sfBll.SelReturnModel(Mid);

            if (Tabs == 0)
            {
                SiteName_T.Text = sfMod.SiteName;
                M_IDC_DomainList domMod = domBll.SelReturnModel(sfMod.DomainID);
                if (domMod != null)
                {
                    domain_a.HRef      = "http://" + domMod.DomName;
                    domain_a.InnerText = domMod.DomName;
                }
                SiteDir_L.Text  = sfMod.SiteDir;
                Logo_UP.FileUrl = sfMod.Logo;
                function.Script(this, "setscore(" + sfMod.Score + ");");
            }
            else
            {
                M_UserInfo mu = buser.GetLogin();
                EGV.DataSource = pageBll.U_Sel(mu.UserID, Mid, M_Design_Page.PageEnum.Page);
                EGV.DataBind();
            }
            function.Script(this, "CheckTabs(" + Tabs + ");");
        }
Beispiel #3
0
        /// <summary>
        /// 清空目标站点页面,拷贝模板,并返回新加入的模板index页面的guid
        /// </summary>
        public string CopyTlp(int tlpID, M_Design_SiteInfo sfMod)
        {
            if (tlpID < 1 || sfMod == null || sfMod.ID < 1)
            {
                return("");
            }
            //后期扩展为只覆盖指定页??
            DBCenter.DelByWhere("ZL_Design_Page", "SiteID=" + sfMod.ID);
            string    guid = "";
            DataTable dt   = SelByTlpID(tlpID);

            dt.TableName = pageTbName;
            dt.Columns.Remove("ID");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];
                dr["Guid"]   = System.Guid.NewGuid().ToString();
                dr["UserID"] = sfMod.UserID;
                dr["SiteID"] = sfMod.ID;
                //dr["Comp"] = dr["Comp"].ToString().Replace("/UploadFiles/", B_Design_SiteInfo.GetSiteUpDir(sfMod.ID));
                string path = dt.Rows[i]["Path"].ToString().ToLower().Replace(" ", "");
                if (path.Equals("/") || path.Equals("/index"))
                {
                    guid = dr["Guid"].ToString();
                }
            }
            SqlHelper.Insert_Bat(dt, SqlHelper.ConnectionString);
            return(guid);
        }
Beispiel #4
0
        protected void DownSite_Btn_Click(object sender, EventArgs e)
        {
            DataTableHelper   dtHelper = new DataTableHelper();
            M_Design_SiteInfo sfMod    = sfBll.SelReturnModel(SiteID);
            M_UserInfo        mu       = buser.GetLogin();
            ZipClass          zip      = new ZipClass();
            //------------------------------
            //整合节点与内容,站点信息,生成XML文件
            string  xmlDir = function.VToP(sfMod.SiteDir + "Init/");
            DataSet ds     = desHelper.PackSiteToDS(sfMod.ID);

            if (!Directory.Exists(xmlDir))
            {
                Directory.CreateDirectory(xmlDir);
            }
            ds.WriteXml(xmlDir + "Site.xml");
            //页面信息单独存
            DataTable dt = pageBll.U_Sel(mu.UserID, sfMod.ID, M_Design_Page.PageEnum.All);

            dt.DataSet.WriteXml(xmlDir + "Page.xml");
            //模板与资源打包
            string zipDir  = function.VToP("/Temp/SiteDown/");
            string zipPath = zipDir + sfMod.ID + ".zip";

            if (!Directory.Exists(zipDir))
            {
                Directory.CreateDirectory(zipDir);
            }
            zip.Zip(function.VToP(sfMod.SiteDir), zipPath);
            SafeSC.DownFile(function.PToV(zipPath), sfMod.SiteName + ".zip");//打包成为tlp?
        }
Beispiel #5
0
 /// <summary>
 /// 用户是否有管理该站点的权限
 /// </summary>
 public void CheckAuthEx(M_Design_SiteInfo sfMod, M_UserInfo mu)
 {
     if (sfMod == null || mu == null || mu.IsNull || !sfMod.UserID.Equals(mu.UserID.ToString()))
     {
         function.WriteErrMsg("你没有管理该站点的权限");
     }
 }
Beispiel #6
0
        private void MyBind()
        {
            M_UserInfo        mu    = buser.GetLogin();
            M_Design_SiteInfo sfMod = sfBll.SelReturnModel(mu.SiteID);

            PNodeName_L.Text = sfMod.SiteName;
            if (NodeID > 0)
            {
                M_Node nodeMod = nodeBll.SelReturnModel(NodeID);
                NodeName_T.Text    = nodeMod.NodeName;
                NodePic_T.Text     = nodeMod.NodePic;
                Description_T.Text = nodeMod.Description;
                Meta_T.Text        = nodeMod.Meta_Keywords;
                Pid = nodeMod.ParentID;
            }
            if (Pid > 0)
            {
                M_Node pmod = nodeBll.SelReturnModel(Pid);
                if (pmod.NodeBySite != mu.SiteID)
                {
                    function.WriteErrMsg("你没有权限在该栏目下添加子栏目");
                }
                else
                {
                    PNodeName_L.Text = pmod.NodeName;
                }
            }
        }
Beispiel #7
0
        //-------------------------------Tools
        /// <summary>
        /// 将站点信息整合为配置给页面调用
        /// </summary>
        public string ToSiteCfg(M_Design_SiteInfo model)
        {
            if (model == null || model.ID < 1)
            {
                return("{}");
            }
            JObject cfg = new JObject();

            cfg.Add(new JProperty("siteid", model.ID));
            cfg.Add(new JProperty("api", "/design/design.ashx"));
            string json = JsonConvert.SerializeObject(cfg);

            return(json);
        }
Beispiel #8
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         M_UserInfo mu = buser.GetLogin();
         if (mu.SiteID < 1)
         {
             function.WriteErrMsg("用户未正确关联站点");
         }
         M_Design_SiteInfo sfMod = sfBll.SelReturnModel(mu.SiteID);
         if (sfMod == null || sfMod.UserID != mu.UserID.ToString())
         {
             function.WriteErrMsg("你无权修改该站点");
         }
     }
 }
        protected void MyBind()
        {
            M_UserInfo        mu    = buser.GetLogin();
            M_Design_SiteInfo sfMod = sfBll.SelReturnModel(SiteID);

            sfBll.CheckAuthEx(sfMod, mu);
            string pdir = function.VToP(VDir);

            if (!Directory.Exists(pdir))
            {
                function.WriteErrMsg("[" + VDir + "]目录不存在");
            }
            DataTable filesDT = FileSystemObject.GetDirectoryInfos(pdir, FsoMethod.All);

            RPT.DataSource = filesDT;
            RPT.DataBind();
            GetBread();
        }
Beispiel #10
0
        private void MyBind()
        {
            M_UserInfo        mu    = buser.GetLogin();
            M_Design_SiteInfo sfMod = GetSite();

            SiteName_L.Text = sfMod.SiteName;
            M_IDC_DomainList domMod = domBll.SelReturnModel(sfMod.DomainID);

            if (domMod != null)
            {
                Domain             = "http://" + domMod.DomName;
                domain_a2.HRef     = "http://" + domMod.DomName;
                domain_a.HRef      = "http://" + domMod.DomName;
                domain_a.InnerHtml = "<i class='fa fa-link'></i> http://" + domMod.DomName;
            }
            //edit_a.HRef = "/Design/?SiteID=" + sfMod.ID;
            sitecfg_a.HRef = "SiteInfo.aspx?ID=" + sfMod.ID;

            //--------------
            Site_RPT.DataSource = sfBll.U_Sel(mu.UserID);
            Site_RPT.DataBind();
            Global_RPT.DataSource = pageBll.U_Sel(mu.UserID, sfMod.ID, M_Design_Page.PageEnum.Global);
            Global_RPT.DataBind();
            Scence_RPT.DataSource = seBll.U_Sel(mu.UserID);
            Scence_RPT.DataBind();
            DataTable askdt = askBll.Sel(mu.UserID);

            askdt.DefaultView.Sort = "CDate DESC";
            askdt = askdt.DefaultView.ToTable();
            Ask_RPT.DataSource = askdt;
            Ask_RPT.DataBind();
            DataTable pageDT = pageBll.U_Sel(mu.UserID, sfMod.ID, M_Design_Page.PageEnum.Page);

            EGV.DataSource = pageDT;
            EGV.DataBind();
            if (pageDT.Rows.Count > 0)
            {
                M_Design_Tlp tlpMod = tlpBll.SelReturnModel(Convert.ToInt32(pageDT.Rows[0]["TlpID"]));
                if (tlpMod != null)
                {
                    TlpView_img.Src = tlpMod.PreviewImg;
                }
            }
        }
Beispiel #11
0
        private void MyBind()
        {
            M_UserInfo        mu    = buser.GetLogin();
            M_Design_SiteInfo sfMod = sfBll.SelReturnModel(SiteID);

            Domain = B_IDC_DomainList.GetMyDomain(sfMod.DomainID);
            sfBll.CheckAuthEx(sfMod, mu);
            string nids = "";

            if (NodeID > 0)
            {
                nids = NodeID.ToString();
                M_Node   nod            = bNode.SelReturnModel(NodeID);
                string   ModeIDList     = nod.ContentModel;
                string[] ModelID        = ModeIDList.Split(',');
                string   AddContentlink = "";
                for (int i = 0; i < ModelID.Length; i++)
                {
                    M_ModelInfo infoMod = bmode.SelReturnModel(DataConverter.CLng(ModelID[i]));
                    if (infoMod == null)
                    {
                        continue;
                    }
                    if (infoMod.ModelType != 5)
                    {
                        AddContentlink += "<a href='AddContent.aspx?SiteID=" + SiteID + "&NodeID=" + NodeID + "&ModelID=" + infoMod.ModelID + "' class='btn btn-info' style='margin-right:5px;'><i class='fa fa-plus'></i> 添加" + infoMod.ItemName + "</a>";
                    }
                }
                AddContent_L.Text = AddContentlink;
            }
            else
            {
                nids = sfNodeBll.SelToIDS(SiteID);
            }

            //int type = DataConverter.CLng(DropDownList1.SelectedValue);
            if (Status.Equals("-2"))
            {
                Rel_Btn.Visible = true;
            }                                                   //回收站
            EGV.DataSource = bll.Search(TxtSearchTitle.Text, "", nids, Status);
            EGV.DataBind();
        }
Beispiel #12
0
        //----------
        private M_Design_SiteInfo GetSite()
        {
            B_User.CheckIsLogged(Request.RawUrl);
            M_UserInfo        mu    = buser.GetLogin();
            M_Design_SiteInfo sfMod = sfBll.SelModelByUid(mu.UserID);

            if (sfMod == null)
            {
                //自动创建站点
                Response.Redirect("/design/newsite.aspx?tlpid=-1&rurl=/design/user/");
            }
            if (!sfMod.UserID.Equals(mu.UserID.ToString()))
            {
                function.WriteErrMsg("你无权管理该站点");
            }
            SiteID    = sfMod.ID;
            mu.SiteID = sfMod.ID;
            return(sfMod);
        }
        private void MyBind()
        {
            M_Design_SiteInfo sfMod = sfBll.SelReturnModel(Mid);

            if (sfMod == null)
            {
                function.WriteErrMsg("站点不存在", "/Design/User/");
            }
            SiteName_T.Text = sfMod.SiteName;
            M_IDC_DomainList domMod = domBll.SelReturnModel(sfMod.DomainID);

            if (domMod != null)
            {
                Domain_L.Text = "http://" + domMod.DomName;
            }
            Logo_UP.FileUrl = sfMod.Logo;
            //if (!string.IsNullOrEmpty(sfMod.Logo))
            //{
            //    Logo_Img.ImageUrl = sfMod.Logo;
            //    Logo_Img.Visible = true;
            //}
        }
        public void MyBind()
        {
            M_UserInfo        mu        = buser.GetLogin();
            M_Design_SiteInfo sfMod     = sfBll.SelReturnModel(mu.SiteID);
            DataTable         nodetable = nodeBll.SelForShowAll(0, true);

            nodetable.DefaultView.RowFilter = "NodeBySite='" + mu.SiteID + "'";
            nodetable = nodetable.DefaultView.ToTable();
            DataRow dr = nodetable.NewRow();//根节点

            dr["NodeID"]     = 0;
            dr["NodeType"]   = 0;
            dr["NodeName"]   = sfMod.SiteName;
            dr["NodeDir"]    = "root";
            dr["CDate"]      = sfMod.CDate;
            dr["Depth"]      = 0;
            dr["ItemCount"]  = nodetable.Compute("SUM(ItemCount)", "ParentID=0");
            dr["ChildCount"] = nodetable.Rows.Count;
            dr["SafeGuard"]  = 0;
            nodetable.Rows.InsertAt(dr, 0);
            RPT.DataSource = nodetable;
            RPT.DataBind();
        }
Beispiel #15
0
 protected void Page_Load(object sender, EventArgs e)
 {
     //模板预览
     if (TlpID > 0)
     {
         DataTable tlpdt = DBCenter.Sel("ZL_Design_Page", "TlpID=" + TlpID + " AND SiteID=0 AND (Path='' OR Path='/' OR Path='/index' OR Path='index')");
         if (tlpdt.Rows.Count > 0)
         {
             Response.Redirect("/Design/PreView.aspx?ID=" + tlpdt.Rows[0]["Guid"]); return;
         }
         else
         {
             function.WriteErrMsg("模板未指定首页,无法预览");
         }
     }
     if (!IsPostBack)
     {
         if (!string.IsNullOrEmpty(Mid))
         {
             pageMod = pageBll.SelModelByGuid(Mid);
         }
         else if (!string.IsNullOrEmpty(Path))
         {
             pageMod = pageBll.SelModelByPath(Domain, Path);
         }
         if (pageMod == null || pageMod.ID < 1)
         {
             function.WriteErrMsg("页面不存在");
         }
         pageMod = pageBll.MergeGlobal(pageMod, "");
         if (pageMod.comp_global.Count > 0)
         {
             comp_global = JsonConvert.SerializeObject(pageMod.comp_global);
         }
         //------站点
         M_Design_SiteInfo sfMod = sfBll.SelReturnModel(pageMod.SiteID);
         if (pageMod.IsTemplate)//浏览模板
         {
             tlpprompt_div.Visible = true;
             M_UserInfo        mu     = buser.GetLogin();
             M_Design_Tlp      tlpMod = tlpBll.SelReturnModel(pageMod.TlpID);
             M_Design_TlpClass tcMod  = tcBll.SelReturnModel(tlpMod.ClassID);
             Title_L.Text         = tlpMod.TlpName + "_" + pageMod.Title;
             tlpinfo_sp.InnerHtml = "模板名称:" + tlpMod.TlpName + " 归属分类:" + tcMod.Name;
             if (mu.IsNull)
             {
                 nologin_wrap.Visible = true;
             }
             else
             {
                 logged_wrap.Visible = true;
             }
         }
         else if (sfMod != null)//浏览用户站点
         {
             sitecfg      = sfBll.ToSiteCfg(sfMod);
             Title_L.Text = sfMod.SiteName + "_" + pageMod.Title;
         }
         else
         {
             Title_L.Text = pageMod.Title;
         }
         //------解析标签
         if (!string.IsNullOrEmpty(pageMod.labelArr))
         {
             DataTable labelDT = new DataTable();
             labelDT.Columns.Add(new DataColumn("guid", typeof(string)));
             labelDT.Columns.Add(new DataColumn("label", typeof(string)));
             labelDT.Columns.Add(new DataColumn("htmlTlp", typeof(string)));
             string[] labelArr = pageMod.labelArr.Trim('|').Split('|');
             foreach (string label in labelArr)
             {
                 DataRow dr = labelDT.NewRow();
                 dr["guid"]  = label.Split(':')[0];
                 dr["label"] = label.Split(':')[1];
                 string html = createBll.CreateHtml(StringHelper.Base64StringDecode(dr["label"].ToString()));
                 dr["htmlTlp"] = StringHelper.Base64StringEncode(html);
                 labelDT.Rows.Add(dr);
             }
             extendData = JsonConvert.SerializeObject(labelDT);
         }
         //------解析页面属性
         Resource_L.Text = pageMod.Resource;
         Meta_L.Text     = pageMod.Meta;
     }
 }
Beispiel #16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            B_User.CheckIsLogged(Request.RawUrl);
            AutoCreateSite();
            //if (!new B_User().CheckLogin()) { function.Script(this, "AjaxLogin();"); return; }
            M_UserInfo mu = buser.GetLogin(false);

            //-----------获取需要修改的页面
            #region 根据路径与SiteID访问(disuse)
            //if (string.IsNullOrEmpty(Mid) && SiteID < 1 && string.IsNullOrEmpty(Path))
            //{
            //    Response.Redirect("/Design/User/");
            //}
            //if (!string.IsNullOrEmpty(Mid))
            //{
            //    pageMod = pageBll.SelModelByGuid(Mid);
            //}
            //else if (SiteID > 0)
            //{
            //    pageMod = pageBll.SelModelBySiteID(SiteID, Path);
            //}
            #endregion
            M_Design_SiteInfo sfMod = sfBll.SelModelByUid(mu.UserID);
            if (sfMod == null)
            {
                function.WriteErrMsg("尚未创建站点,<a href='/'>返回首页</a>");
            }
            if (string.IsNullOrEmpty(Mid))
            {
                pageMod = pageBll.SelModelBySiteID(sfMod.ID, "");
                if (pageMod == null || pageMod.ID < 1)
                {
                    function.WriteErrMsg("未指定首页 <a href='/Design/User/'>用户中心</a>");
                }
                else
                {
                    Response.Redirect("?ID=" + pageMod.guid);
                }
            }
            else
            {
                pageMod = pageBll.SelModelByGuid(Mid);
            }
            if (pageMod == null)
            {
                function.WriteErrMsg("指定的页面不存在");
            }
            M_Design_Tlp tlpMod = tlpBll.SelReturnModel(pageMod.TlpID);
            if (tlpMod != null)
            {
                TlpName_L.Text = "[" + tlpMod.TlpName + "]";
            }
            //demo应该注释该句
            if (pageMod.IsTemplate)
            {
                B_Permission.CheckAuthEx("design");
            }
            //if (pageMod.UserID != mu.UserID) { function.WriteErrMsg("你无权修改该页面"); }
            pageMod = pageBll.MergeGlobal(pageMod, Source);
            if (pageMod.comp_global.Count > 0)
            {
                comp_global = JsonConvert.SerializeObject(pageMod.comp_global);
            }

            //---------站点//修改模板时无站点数据
            if (sfMod != null)
            {
                sitecfg   = sfBll.ToSiteCfg(sfMod);
                mu.SiteID = sfMod.ID;
                //---------域名(没有则直接创建,只能有一个)
                M_IDC_DomainList domMod = domBll.SelModelByUid(mu.UserID);
                if (domMod != null)
                {
                    domain_a.HRef      = "http://" + domMod.DomName;
                    domain_a.InnerText = domMod.DomName;
                }
            }
            //解析标签
            if (!string.IsNullOrEmpty(pageMod.labelArr))
            {
                DataTable labelDT = new DataTable();
                labelDT.Columns.Add(new DataColumn("guid", typeof(string)));
                labelDT.Columns.Add(new DataColumn("label", typeof(string)));
                labelDT.Columns.Add(new DataColumn("htmlTlp", typeof(string)));
                string[] labelArr = pageMod.labelArr.Trim('|').Split('|');
                foreach (string label in labelArr)
                {
                    DataRow dr = labelDT.NewRow();
                    dr["guid"]  = label.Split(':')[0];
                    dr["label"] = label.Split(':')[1];
                    string html = createBll.CreateHtml(StringHelper.Base64StringDecode(dr["label"].ToString()));
                    dr["htmlTlp"] = StringHelper.Base64StringEncode(html);
                    labelDT.Rows.Add(dr);
                }
                extendData = JsonConvert.SerializeObject(labelDT);
            }
            //用户可选择关闭
            if (DeviceHelper.GetBrower() != DeviceHelper.Brower.Chrome)
            {
                function.Script(this, "ShowIE();"); return;
            }
        }
Beispiel #17
0
 public bool UpdateByID(M_Design_SiteInfo model)
 {
     return(DBCenter.UpdateByID(model, model.ID));
 }
Beispiel #18
0
 public int Insert(M_Design_SiteInfo model)
 {
     return(DBCenter.Insert(model));
 }
        protected void Restore_Btn_Click(object sender, EventArgs e)
        {
            string path = TlpFile_T.Text.Trim();
            string tdir = function.VToP("/Site/NoName/");

            if (!File.Exists(path))
            {
                function.WriteErrMsg("站点文件不存在");
            }
            if (!Path.GetExtension(path).ToLower().Equals(".zip"))
            {
                function.WriteErrMsg("文件格式不正确");
            }
            if (Directory.Exists(tdir))
            {
                Directory.Delete(tdir, true);
            }
            //----------------------
            ZipClass zip = new ZipClass();

            zip.UnZipFiles(path, tdir);
            //还原信息(尽量少或不清除)
            DataSet siteDS = new DataSet();

            siteDS.ReadXml(tdir + "Init/Site.xml");
            //-------------站点信息(仍建立资源文件夹,但不用于建site信息了)
            DataTable         siteDT = siteDS.Tables["ZL_Design_SiteInfo"];
            M_Design_SiteInfo sfMod  = new M_Design_SiteInfo().GetModelFromReader(siteDT.Rows[0]);

            SiteConfig.SiteInfo.SiteName = sfMod.SiteName;
            //-------------导入页面
            B_CodeModel pageBll = new B_CodeModel("ZL_Design_Page");

            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_Design_Page");
            DataSet pageDS = new DataSet();

            pageDS.ReadXml(tdir + "Init/Page.xml");
            DataTable pageDT = pageDS.Tables[0];

            for (int i = 0; i < pageDT.Rows.Count; i++)
            {
                pageDT.Rows[i]["SiteID"] = 0;
                pageDT.Rows[i]["CDate"]  = DateTime.Now;
                pageDT.Rows[i]["UPDate"] = DateTime.Now;
                pageBll.Insert(pageDT.Rows[i]);
            }
            //-------------导入节点|内容(新建一个节点)
            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_Node");
            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_CommonModel"); //可注释
            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_C_Article");
            DataTable nodeDT = siteDS.Tables["ZL_Node"];           //与站点绑定,其他内容与节点绑定
            DataTable conDT  = siteDS.Tables["ZL_CommonModel"];
            DataTable artDT  = siteDS.Tables["ZL_C_Article"];

            for (int i = 0; i < nodeDT.Rows.Count; i++)
            {
                DataRow dr = nodeDT.Rows[i];
                dr["NodeBySite"] = 0;
                dr["ParentID"]   = 0;
                dr["CUser"]      = 0;
            }
            desHelper.ImportContentFromDT(nodeDT, conDT, artDT);
            //移动文件
            string siteDir = function.VToP(sfMod.SiteDir);

            if (!Directory.Exists(tdir))
            {
                function.WriteErrMsg("来源目录不存在");
            }
            if (Directory.Exists(siteDir))
            {
                Directory.Delete(siteDir, true);
            }
            Directory.Move(tdir, siteDir);
            function.WriteSuccessMsg("恢复站点成功,即将跳转首页", "/");
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            B_User.CheckIsLogged(Request.RawUrl);
            M_UserInfo   mu     = buser.GetLogin(false);
            M_Design_Tlp tlpMod = null;

            if (TlpID == -1)
            {
                tlpMod = tlpBll.SelModelByDef(0);
            }
            else
            {
                tlpBll.SelReturnModel(TlpID);
            }
            if (tlpMod == null)
            {
                function.WriteErrMsg("模板不存在");
            }
            //为其注册二级域名
            string           domain    = domainBll.GetNewDomain(mu.UserID.ToString());
            M_IDC_DomainList domainMod = new M_IDC_DomainList();

            domainMod.SType    = 2;
            domainMod.MyStatus = 1;
            domainMod.UserID   = mu.UserID.ToString();
            domainMod.DomName  = domain;
            domainMod.ID       = domainBll.Insert(domainMod);
            //else if (domainMod.UserID == mu.UserID.ToString()) { }//以前注册过,不需要做特殊处理
            //else if (domainMod.UserID != mu.UserID.ToString()) { function.WriteErrMsg("该域名已被占用"); }
            //生成站点信息(用户只能拥有一个站点)
            M_Design_SiteInfo sfMod = sfBll.SelModelByUid(mu.UserID);

            if (sfMod != null)
            {
                mu.SiteID = sfMod.ID;
                if (mu.SiteID < 1)
                {
                    DBCenter.UpdateSQL("ZL_User", "SiteID=" + mu.SiteID, "UserID=" + mu.UserID);
                }
                //function.WriteSuccessMsg("你已经创建站点了,将自动转至用户中心", "/design/user/default.aspx");
            }
            else
            {
                sfMod = new M_Design_SiteInfo();
            }
            //M_Design_SiteInfo sfMod = new M_Design_SiteInfo();
            sfMod.SiteFlag = function.GetRandomString(8).ToLower();
            sfMod.UserID   = mu.UserID.ToString();
            sfMod.UserName = mu.UserName;
            sfMod.ZStatus  = 1;
            sfMod.SiteName = mu.UserName + "的站点";
            sfMod.DomainID = domainMod.ID;
            sfMod.ID       = sfBll.Insert(sfMod);
            //拷贝站点文件
            string tlpdir  = Server.MapPath("/Design/Tlp/" + tlpMod.TlpName + "/");
            string userdir = Server.MapPath("/Site/" + sfMod.ID + "/");

            if (Directory.Exists(userdir))
            {
                Directory.CreateDirectory(userdir);
            }
            if (Directory.Exists(tlpdir))
            {
                FileSystemObject.CopyDirectory(tlpdir, userdir);
            }
            //创建用户节点,先检测是否通过其他途径创建了根节点
            M_Node nodeMod = desNodeBll.GetUserRootNode(mu);

            if (nodeMod.IsNull)
            {
                nodeMod = desNodeBll.CreateUserRootNode(mu);
            }
            nodeMod.NodeBySite = sfMod.ID;
            nodeBll.UpdateByID(nodeMod);
            //导入节点和内容数据(从公用数据区)
            string commonDir = Server.MapPath("/design/tlp/common/init/");
            //DataTable nodeDT = XmlToDT(function.VToP(commonDir + "Node.xml"));
            DataTable nodeDT = DBCenter.Sel("ZL_Node", "ParentID=797");//1站点,非根节点信息
            DataTable conDT  = XmlToDT(function.VToP(commonDir + "CommonModel.xml"));
            DataTable artDT  = XmlToDT(function.VToP(commonDir + "Article.xml"));

            for (int i = 0; i < nodeDT.Rows.Count; i++)
            {
                DataRow dr = nodeDT.Rows[i];
                dr["NodeBySite"] = sfMod.ID;
                dr["ParentID"]   = nodeMod.NodeID;
                dr["CUser"]      = sfMod.UserID;
            }
            //修改逻辑,支持来源拷贝,将站点数据拷贝后-->修改-->写入,即nodedt不再来自XML
            desHelper.ImportContentFromDT(nodeDT, conDT, artDT);
            //根据所选模板,拷贝内容
            string guid = tlpBll.CopyTlp(tlpMod.ID, sfMod);

            if (string.IsNullOrEmpty(guid))
            {
                function.WriteErrMsg("站点创建失败");
            }
            RouteHelper.RouteDT = domainBll.Sel();
            mu.SiteID           = sfMod.ID;
            DBCenter.UpdateSQL("ZL_User", "SiteID=" + mu.SiteID, "UserID=" + mu.UserID);
            if (string.IsNullOrEmpty(RUrl))
            {
                Response.Redirect("/Design/Default.aspx?ID=" + guid);
            }
            else
            {
                Response.Redirect(RUrl);
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            //throw new Exception("该接口默认不开放,请联系管理员");
            M_UserInfo mu = buser.GetLogin();

            retMod.retcode = M_APIResult.Failed;
            //if (mu.IsNull) { retMod.retmsg = "用户未登录"; RepToClient(retMod); }
            //retMod.callback = CallBack;//暂不开放JsonP
            int siteID = DataConvert.CLng(Req("SiteID"));

            try
            {
                switch (Action)
                {
                case "save":
                    #region 保存或更新
                {
                    M_Design_Page model = JsonConvert.DeserializeObject <M_Design_Page>(Req("model"));
                    if (string.IsNullOrEmpty(model.guid))
                    {
                        model.guid     = System.Guid.NewGuid().ToString();
                        model.UserID   = mu.UserID;
                        model.UserName = mu.UserName;
                        pageBll.Insert(model);
                    }
                    else
                    {
                        M_Design_Page pageMod = pageBll.SelModelByGuid(model.guid);
                        pageMod.comp     = model.comp;
                        pageMod.page     = model.page;
                        pageMod.labelArr = model.labelArr;
                        pageMod.UPDate   = DateTime.Now;
                        pageBll.UpdateByID(pageMod);
                    }
                    retMod.result  = model.guid;
                    retMod.retcode = M_APIResult.Success;
                }
                    #endregion
                    break;

                //--------------节点
                case "node_sel":    //返回站点所拥有的节点,过滤掉用户名的所在节点
                {
                    DataTable dt = Node_Sel(siteID);
                    dt.DefaultView.RowFilter = "NodeType IN (1)";
                    dt             = dt.DefaultView.ToTable();
                    retMod.result  = JsonConvert.SerializeObject(dt);
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "node_del":
                {
                    int nid = DataConvert.CLng(Req("nid"));
                    if (nid < 1)
                    {
                        retMod.retmsg = "未指定节点ID";
                    }
                    else
                    {
                        DBCenter.DelByWhere("ZL_Node", "NodeBySite=" + mu.SiteID + " AND NodeID=" + nid);
                        retMod.retcode = M_APIResult.Success;
                    }
                }
                break;

                //--------------内容
                case "content_selbynid":    //获取用户站点下的文章,附表只返回简介
                {
                    string nids = Req("nid");
                    retMod.result  = JsonConvert.SerializeObject(Content_SelByNid(siteID, nids));
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "content_selbyid":    //根据ID获取文章内容与正文
                {
                    int gid = DataConvert.CLng(Req("Gid"));
                    retMod.result  = JsonConvert.SerializeObject(Content_ByID(gid));
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "mb_getdata":    //按条件筛选内容并返回
                {
                    int id    = DataConvert.CLng(Req("id"));
                    int psize = DataConvert.CLng(Req("psize"));        //取几条数据
                    if (psize < 1)
                    {
                        psize = 100;
                    }
                    string nodename = HttpUtility.UrlDecode(Req("nodename"));
                    string dbtype   = Req("dbtype");
                    string flag     = Req("flag");

                    List <SqlParameter> sp = new List <SqlParameter>();
                    string fields          = "A.GeneralID AS id,A.title,A.hits,A.CreateTime AS cdate,B.wxsize,B.wxico,B.wxbk,B.wxlink,B.content,B.flag,B.dbtype"; //固定返回这些字段
                    string where = " A.Status!=" + (int)ZLEnum.ConStatus.Recycle + " ";                                                                           //去除回收站文件
                    if (!string.IsNullOrEmpty(nodename))
                    {
                        string filter = "SELECT NODEID FROM ZL_Node WHERE NodeBySite=" + siteID + " AND NodeName =@nodename";
                        where += " AND A.NodeID IN (" + filter + ")";
                        sp.Add(new SqlParameter("nodename", nodename));
                    }
                    if (!string.IsNullOrEmpty(flag))
                    {
                        where += " AND B.flag=@flag"; sp.Add(new SqlParameter("flag", flag));
                    }
                    if (!string.IsNullOrEmpty(dbtype))
                    {
                        where += " AND B.dbtype=@dbtype"; sp.Add(new SqlParameter("dbtype", dbtype));
                    }
                    //通过ID筛取其值会变动,需要通过标识符
                    if (id > 0)
                    {
                        where += " AND A.GeneralID=" + id;
                    }
                    //retMod.retmsg = where;

                    DataTable dt = DBCenter.SelPage(new PageSetting()
                        {
                            cpage  = 1,
                            psize  = psize,
                            pk     = "A.GeneralID",
                            fields = fields,
                            t1     = "ZL_CommonModel",
                            t2     = "ZL_C_Article",
                            on     = "A.ItemID=B.ID",
                            where  = where,
                            order  = "A.GeneralID ASC",
                            sp     = sp.ToArray()
                        });
                    //对数据进行处理,如链接等,以便于统一管理,并减轻客户端逻辑,或交由tools处理
                    retMod.result  = JsonConvert.SerializeObject(dt);
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "mb_pro_get":    //获取商品数据
                {
                    int id    = DataConvert.CLng(Req("id"));
                    int psize = DataConvert.CLng(Req("psize"));
                    if (psize < 1)
                    {
                        psize = 100;
                    }

                    List <SqlParameter> sp = new List <SqlParameter>();
                    string fields          = "A.id,A.proname,A.Thumbnails AS pics,A.proinfo,A.procontent AS content,A.LinPrice AS price,A.AddTime AS cdate"; //固定返回这些字段
                    string where = "A.Recycler=0 AND A.ParentID=" + siteID + " ";                                                                            //去除回收站文件
                                                                                                                                                             //通过ID筛取其值会变动,需要通过标识符
                    if (id > 0)
                    {
                        where += " AND A.ID=" + id;
                    }
                    DataTable dt = DBCenter.SelPage(new PageSetting()
                        {
                            cpage  = 1,
                            psize  = psize,
                            pk     = "A.ID",
                            fields = fields,
                            t1     = "ZL_Commodities",
                            t2     = "ZL_P_Shop",
                            on     = "A.ItemID=B.ID",
                            where  = where,
                            order  = "A.ID ASC",
                            sp     = sp.ToArray()
                        });
                    //对数据进行处理,如链接等,以便于统一管理,并减轻客户端逻辑,或交由tools处理
                    retMod.result  = JsonConvert.SerializeObject(dt);
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                //--------------站点信息
                case "site_sel":
                {
                    M_Design_SiteInfo sfMod = sfBll.SelReturnModel(siteID);
                    DataTable         dt    = DBCenter.SelWithField("ZL_Design_SiteInfo", "ID,SiteName,Logo", "ID=" + siteID);
                    retMod.result  = FirstToJson(dt);
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                //--------------用户(SiteID)
                case "user_sel":
                {
                    //DataTable dt = DBCenter.SelWithField("ZL_User", "UserID,UserName", "SiteID=" + siteID);
                    //retMod.result = JsonConvert.SerializeObject(dt);
                    //retMod.retcode = M_APIResult.Success;
                }
                break;

                default:
                {
                    retMod.retmsg = "[" + Action + "]接口不存在";
                }
                break;
                }
            }
            catch (Exception ex) { retMod.retmsg = ex.Message; }
            RepToClient(retMod);
        }