示例#1
0
        /// <summary>
        /// 输出XML
        /// </summary>
        /// <returns></returns>
        public String ToXml(basePortalModule pmb)
        {
            //读取XML的模版
            XmlFormat xf = new XmlFormat(pmb.MapPath(String.Format("{0}Resource/xml/EffectDB.xml", pmb.ModulePath)));

            //将字段列表转换成XML的实体
            return(xf.ToXml <EffectDB>(this));
        }
示例#2
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// ImportModule implements the IPortable ImportModule Interface
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <param name="ModuleID">The ID of the Module being imported</param>
        /// <param name="Content">The Content being imported</param>
        /// <param name="Version">The Version of the Module Content being imported</param>
        /// <param name="UserID">The UserID of the User importing the Content</param>
        /// <history>
        /// </history>
        /// -----------------------------------------------------------------------------

        public void ImportModule(int ModuleID, string Content, string Version, int UserId)
        {
            //先清除原有的字段列表
            QueryParam qp          = new QueryParam();
            Int32      RecordCount = 0;

            qp.Where.Add(new SearchParam("ModuleId", ModuleID, SearchType.Equal));
            List <DNNGo_PowerForms_Field> fieldList = DNNGo_PowerForms_Field.FindAll(qp, out RecordCount);

            foreach (DNNGo_PowerForms_Field fieldItem in fieldList)
            {
                fieldItem.Delete();
            }


            ImportExportHelper ieHelper = new ImportExportHelper();

            ieHelper.ModuleID = ModuleID;
            ieHelper.UserId   = UserId;

            if (!String.IsNullOrEmpty(Content))
            {
                //将XML转换为实体
                XmlFormat xf = new XmlFormat();
                xf.XmlDoc.LoadXml(Content);
                List <FieldEntity>           XmlFieldList   = xf.ToList <FieldEntity>();
                List <GallerySettingsEntity> XmlSettingList = xf.ToList <GallerySettingsEntity>();

                Int32 InsertResult = 0;
                foreach (FieldEntity XmlField in XmlFieldList)
                {
                    DNNGo_PowerForms_Field FieldItem = ieHelper.XmlToEntity(XmlField);

                    FieldItem.CreateUser = UserId;
                    FieldItem.CreateTime = DateTime.Now;

                    FieldItem.LastIP   = WebHelper.UserHost;
                    FieldItem.LastTime = DateTime.Now;
                    FieldItem.LastUser = UserId;

                    if (FieldItem.Insert() > 0)
                    {
                        InsertResult++;
                    }
                }

                //插入设置的记录
                foreach (GallerySettingsEntity XmlSettingItem in XmlSettingList)
                {
                    if (!String.IsNullOrEmpty(XmlSettingItem.SettingName) && !String.IsNullOrEmpty(XmlSettingItem.SettingValue))
                    {
                        ieHelper.UpdateModuleSetting(XmlSettingItem.SettingName, XmlSettingItem.SettingValue);
                    }
                }
            }
        }
示例#3
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// ExportModule implements the IPortable ExportModule Interface
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <param name="ModuleID">The Id of the module to be exported</param>
        /// <history>
        /// </history>
        /// -----------------------------------------------------------------------------

        public string ExportModule(int ModuleID)
        {
            string strXML = String.Empty;

            ImportExportHelper ieHelper = new ImportExportHelper();

            ieHelper.ModuleID = ModuleID;

            //查询字段的数据,填充待导出的XML实体
            QueryParam qp          = new QueryParam();
            Int32      RecordCount = 0;

            qp.Orderfld  = DNNGo_PowerForms_Field._.Sort;
            qp.OrderType = 0;
            qp.Where.Add(new SearchParam("ModuleId", ModuleID, SearchType.Equal));
            List <DNNGo_PowerForms_Field> fieldList      = DNNGo_PowerForms_Field.FindAll(qp, out RecordCount);
            List <FieldEntity>            xmlFieldList   = new List <FieldEntity>();
            List <GallerySettingsEntity>  xmlSettingList = new List <GallerySettingsEntity>();

            foreach (DNNGo_PowerForms_Field fieldItem in fieldList)
            {
                xmlFieldList.Add(ieHelper.EntityToXml(fieldItem));
            }

            if (xmlFieldList != null && xmlFieldList.Count > 0)
            {
                //查询出所有的配置项
                List <SettingEntity> EffectSettingDB = ieHelper.Setting_EffectSettingDB;
                if (EffectSettingDB != null && EffectSettingDB.Count > 0)
                {
                    foreach (SettingEntity SettingItem in EffectSettingDB)
                    {
                        String SettingValue = ieHelper.ViewXmlSetting(SettingItem.Name, SettingItem.DefaultValue).ToString();
                        xmlSettingList.Add(new GallerySettingsEntity(ieHelper.EffectSettingsFormat(ieHelper.Settings_EffectName, SettingItem.Name), SettingValue));
                    }

                    foreach (String key in ieHelper.PowerForms_Settings.Keys)
                    {
                        if (!xmlSettingList.Exists(r1 => r1.SettingName == key) && key.IndexOf("Gallery") != 0)
                        {
                            xmlSettingList.Add(new GallerySettingsEntity(key, Convert.ToString(ieHelper.PowerForms_Settings[key])));
                        }
                    }
                }


                XmlFormat xf = new XmlFormat(HttpContext.Current.Server.MapPath(String.Format("{0}Resource/xml/FieldEntity.xml", "~/DesktopModules/DNNGo_PowerForms/")));
                strXML = xf.ToXml <FieldEntity>(xmlFieldList, xmlSettingList);
            }
            else
            {
            }

            return(strXML);
        }
        /// <summary>
        /// 创建
        /// </summary>
        /// <param name="FieldItem"></param>
        /// <param name="ControlName"></param>
        /// <returns></returns>
        public String ViewCreateIconPicker(SettingEntity FieldItem, String ControlName, String ControlID)
        {
            StringBuilder ControlHtml = new StringBuilder();//控件的HTML


            ControlHtml.AppendFormat("<select id=\"{0}\" name=\"{1}\" class=\"form-control search-select search-select-auto {2}\" ", ControlID, ControlName, ViewVerification(FieldItem));


            ControlHtml.AppendFormat(" style=\"width:{0}px;\" >", FieldItem.Width);


            List <OptionItem> Optins = new List <OptionItem>();

            if (String.IsNullOrEmpty(FieldItem.ListContent))//没有列表项的时候,需要加载默认的字体
            {
                String    xml_url = BaseModule.Server.MapPath(String.Format("{0}Resource/xml/SelectIcons.xml", BaseModule.ModulePath));
                XmlFormat xf      = new XmlFormat(xml_url);

                Optins = xf.ToList <OptionItem>();
            }
            else if (!String.IsNullOrEmpty(FieldItem.ListContent))
            {
                List <String> list = Common.GetList(FieldItem.ListContent.Replace(",", "|").Replace("\r\n", "|").Replace("\r", "|"), "|");

                for (Int32 i = 0; i < list.Count; i++)
                {
                    if (!String.IsNullOrEmpty(list[i]))
                    {
                        OptionItem Optin = new OptionItem();
                        Optin.Text  = list[i];
                        Optin.Value = list[i];
                        //判断是否包含有键值对,将键值对分离开
                        if (list[i].IndexOf(":") >= 0)
                        {
                            List <String> ItemKeyValue = Common.GetList(list[i], ":");
                            Optin.Text  = ItemKeyValue[0];
                            Optin.Value = ItemKeyValue[1];
                        }
                        Optins.Add(Optin);
                    }
                }
            }


            foreach (var Optin in Optins)
            {
                String DisabledStr = String.IsNullOrEmpty(Optin.Value) ? "disabled=\"disabled\"" : "";
                String CheckedStr  = !String.IsNullOrEmpty(Optin.Value) && FieldItem.DefaultValue.IndexOf(Optin.Value, StringComparison.CurrentCultureIgnoreCase) >= 0 ? "selected=\"selected\"" : "";
                ControlHtml.AppendFormat("<option value=\"{0}\" {2} {3}> {1}</option>", Optin.Value, Optin.Text, CheckedStr, DisabledStr).AppendLine();
            }

            ControlHtml.Append("</select>");

            return(ControlHtml.ToString());
        }
示例#5
0
        /// <summary>
        /// 导出数据到XML
        /// </summary>
        protected void cmdExportToXml_Click(object sender, EventArgs e)
        {
            ImportExportHelper ieHelper = new ImportExportHelper();

            ieHelper.ModuleID = ModuleId;

            //查询字段的数据,填充待导出的XML实体
            QueryParam qp          = new QueryParam();
            Int32      RecordCount = 0;

            qp.Orderfld  = DNNGo_PowerForms_Field._.Sort;
            qp.OrderType = 0;
            qp.Where.Add(new SearchParam("ModuleId", ModuleId, SearchType.Equal));
            List <DNNGo_PowerForms_Field> fieldList      = DNNGo_PowerForms_Field.FindAll(qp, out RecordCount);
            List <FieldEntity>            xmlFieldList   = new List <FieldEntity>();
            List <GallerySettingsEntity>  xmlSettingList = new List <GallerySettingsEntity>();

            foreach (DNNGo_PowerForms_Field fieldItem in fieldList)
            {
                xmlFieldList.Add(ieHelper.EntityToXml(fieldItem));
            }

            //查询出所有的配置项
            List <SettingEntity> EffectSettingDB = ieHelper.Setting_EffectSettingDB;

            if (EffectSettingDB != null && EffectSettingDB.Count > 0)
            {
                foreach (SettingEntity SettingItem in EffectSettingDB)
                {
                    String SettingValue = ieHelper.ViewXmlSetting(SettingItem.Name, SettingItem.DefaultValue).ToString();
                    xmlSettingList.Add(new GallerySettingsEntity(ieHelper.EffectSettingsFormat(ieHelper.Settings_EffectName, SettingItem.Name), SettingValue));
                }

                foreach (String key in ieHelper.PowerForms_Settings.Keys)
                {
                    if (!xmlSettingList.Exists(r1 => r1.SettingName == key) && key.IndexOf("Gallery") != 0)
                    {
                        xmlSettingList.Add(new GallerySettingsEntity(key, Convert.ToString(ieHelper.PowerForms_Settings[key])));
                    }
                }
            }

            XmlFormat xf = new XmlFormat(MapPath(String.Format("{0}Resource/xml/FieldEntity.xml", ModulePath)));
            //将字段列表转换成XML的实体
            String XmlContent  = xf.ToXml <FieldEntity>(xmlFieldList, xmlSettingList);
            String XmlFilePath = FileSystemUtils.SaveXmlToFile(String.Format("FieldListEntity_{0}_{1}.xml", ModuleId, xUserTime.UtcTime().ToString("yyyyMMddHHmmssffff")), XmlContent, this);

            FileSystemUtils.DownloadFile(XmlFilePath, "FieldListEntity.xml");
        }
示例#6
0
        /// <summary>
        /// 从XML导入数据
        /// </summary>
        protected void cmdImportFormXml_Click(object sender, EventArgs e)
        {
            try
            {
                HttpPostedFile hpfile = fuImportFormXml.PostedFile;

                if (hpfile.ContentLength > 0)
                {
                    if (Path.GetExtension(hpfile.FileName).IndexOf(".xml", StringComparison.CurrentCultureIgnoreCase) >= 0)
                    {
                        ImportExportHelper ieHelper = new ImportExportHelper();
                        ieHelper.ModuleID = ModuleId;
                        ieHelper.UserId   = UserId;

                        //先清除原有的字段列表
                        QueryParam qp          = new QueryParam();
                        Int32      RecordCount = 0;
                        qp.Where.Add(new SearchParam("ModuleId", ModuleId, SearchType.Equal));
                        List <DNNGo_PowerForms_Field> fieldList = DNNGo_PowerForms_Field.FindAll(qp, out RecordCount);
                        foreach (DNNGo_PowerForms_Field fieldItem in fieldList)
                        {
                            fieldItem.Delete();
                        }

                        //构造需要上传的路径
                        String   XmlFilePath = String.Format("{0}PowerForms\\Import\\{1}_{2}", PortalSettings.HomeDirectoryMapPath, xUserTime.UtcTime().ToString("yyyyMMddHHmmssffff"), fuImportFormXml.FileName);
                        FileInfo XmlFile     = new FileInfo(XmlFilePath);
                        //判断文件夹是否存在
                        if (!XmlFile.Directory.Exists)
                        {
                            XmlFile.Directory.Create();
                        }
                        //保存文件
                        fuImportFormXml.SaveAs(XmlFilePath);

                        XmlFormat xf = new XmlFormat(XmlFilePath);

                        List <FieldEntity> XmlFieldList = xf.ToList <FieldEntity>();


                        Int32 InsertResult = 0;
                        foreach (FieldEntity XmlField in XmlFieldList)
                        {
                            DNNGo_PowerForms_Field FieldItem = ieHelper.XmlToEntity(XmlField);


                            FieldItem.CreateUser = UserId;
                            FieldItem.CreateTime = xUserTime.UtcTime();

                            FieldItem.ModuleId = ModuleId;
                            FieldItem.PortalId = PortalId;

                            FieldItem.LastIP   = WebHelper.UserHost;
                            FieldItem.LastTime = xUserTime.UtcTime();
                            FieldItem.LastUser = UserId;

                            if (FieldItem.Insert() > 0)
                            {
                                InsertResult++;
                            }
                        }

                        //提示
                        mTips.LoadMessage("ImportFieldSuccess", EnumTips.Success, this, new String[] { InsertResult.ToString() });

                        //跳转
                        Response.Redirect(xUrl("FieldList"));
                    }
                    else
                    {
                        //上传文件的后缀名错误
                        mTips.IsPostBack = true;
                        mTips.LoadMessage("UploadFieldExtensionError", EnumTips.Warning, this, new String[] { "xml" });
                    }
                }
                else
                {
                    //为上传任何数据
                    mTips.IsPostBack = true;
                    mTips.LoadMessage("ImportFieldNullError", EnumTips.Success, this, new String[] { "" });
                }
            }
            catch (Exception ex)
            {
                DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
示例#7
0
        /// <summary>
        /// 效果列表行绑定
        /// </summary>
        protected void gvEffectList_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DirectoryInfo EffectDir = e.Row.DataItem as DirectoryInfo;

                if (!EffectDir.Exists)
                {
                    EffectDir.Create();
                }

                //获取效果数据的XML
                String EffectDBPath = String.Format("{0}\\EffectDB.xml", EffectDir.FullName);
                if (File.Exists(EffectDBPath))
                {
                    XmlFormat xf = new XmlFormat(EffectDBPath);

                    EffectDB ResultDB = xf.ToItem <EffectDB>();


                    //构造图片的路径
                    Image imgPicture = e.Row.FindControl("imgPicture") as Image;
                    imgPicture.Attributes.Add("onError", String.Format("this.src='{0}Resource/images/no_image.png'", ModulePath));
                    if (!String.IsNullOrEmpty(ResultDB.Thumbnails))
                    {
                        if (ResultDB.Thumbnails.IndexOf("http://", StringComparison.CurrentCultureIgnoreCase) >= 0)
                        {
                            imgPicture.ImageUrl = ResultDB.Thumbnails;
                        }
                        else
                        {
                            imgPicture.ImageUrl = String.Format("{0}Results/{1}/{2}", ModulePath, ResultDB.Name, ResultDB.Thumbnails);
                        }
                    }

                    //构造效果标题描述
                    Label labName        = e.Row.FindControl("labName") as Label;
                    Label labDescription = e.Row.FindControl("labDescription") as Label;
                    Label labVersion     = e.Row.FindControl("labVersion") as Label;



                    labName.Text        = ResultDB.Name;
                    labDescription.Text = ResultDB.Description;
                    labVersion.Text     = ResultDB.Version;



                    //演示地址
                    if (!String.IsNullOrEmpty(ResultDB.DemoUrl))
                    {
                        Literal LiDemoUrl = e.Row.FindControl("LiDemoUrl") as Literal;
                        LiDemoUrl.Text = String.Format("<a href=\"{0}\" target=\"_blank\" class=\"btn btn-default btn-sm\"><i class=\"fa clip-link\"></i> {1}</a>", ResultDB.DemoUrl, ViewResourceText("labDemoUrl", "Demo Url"));
                    }

                    //响应式
                    if (ResultDB.Responsive)
                    {
                        Literal LiResponsive = e.Row.FindControl("LiResponsive") as Literal;
                        LiResponsive.Text = String.Format("<a  class=\"btn btn-default btn-sm\"><i class=\"fa clip-embed\"></i> {0}</a>", ViewResourceText("labResponsive", "Responsive"));
                    }



                    //应用效果的按钮
                    LinkButton btnApply    = e.Row.FindControl("btnApply") as LinkButton;
                    HyperLink  hlThemeName = e.Row.FindControl("hlThemeName") as HyperLink;
                    btnApply.CommandArgument = ResultDB.Name;
                    if (!String.IsNullOrEmpty(Settings_ResultName) && Settings_ResultName == ResultDB.Name)//判断设置效果是否为当前效果
                    {
                        btnApply.Text     = String.Format("<i class=\"fa fa-stop\"></i> {1}", ModulePath, Localization.GetString("btnApply_Stop", this.LocalResourceFile));
                        btnApply.Enabled  = false;
                        btnApply.CssClass = "btn btn-danger";


                        hlThemeName.Text        = String.Format("<i class=\"fa clip-cogs\"></i> {0}", Settings_ResultThemeName);
                        hlThemeName.NavigateUrl = xUrl("Effect_Options");
                    }
                    else
                    {
                        btnApply.Text       = String.Format("<i class=\"fa fa-play-circle-o\"></i> {1}", ModulePath, Localization.GetString("btnApply_Play", this.LocalResourceFile));
                        btnApply.CssClass   = "btn btn-success";
                        hlThemeName.Visible = false;
                    }
                }
            }
        }