Esempio n. 1
0
        /// <summary>
        /// Create a tree for pages
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            pagesTree.Attributes.Add("OnClick", "client_OnTreeNodeChecked(event)");
            XMLImportExportDB pageTreeSource = new XMLImportExportDB();
            DataTable         dtTree         = pageTreeSource.GetPageTree(0).Tables[0];

            if (!IsPostBack)
            {
                for (int i = 0; i < dtTree.Rows.Count; i++)
                {
                    int parentId = 0;
                    int.TryParse(dtTree.Rows[i]["ParentPageID"].ToString(), out parentId);

                    if (parentId == 0)
                    {
                        TreeNode newNode = new TreeNode();
                        newNode.Text         = dtTree.Rows[i]["PageName"].ToString();
                        newNode.NavigateUrl  = "/" + dtTree.Rows[i]["PageID"].ToString();
                        newNode.Value        = dtTree.Rows[i]["PageID"].ToString();
                        newNode.SelectAction = TreeNodeSelectAction.None;
                        pagesTree.Nodes.Add(newNode);

                        int pageId = 0;
                        int.TryParse(dtTree.Rows[i]["PageID"].ToString(), out pageId);
                        if (HasChildren(dtTree, pageId))
                        {
                            CreatePageTree(dtTree, pageId, newNode);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Create XML
        /// </summary>
        /// <param name="PageID">Selected page id</param>
        /// <param name="lang">Current language</param>
        public void GetPageDetails(int PageID, string lang)
        {
            XMLImportExportDB pageDetail = new XMLImportExportDB();

            DataSet dsPageModuleDetails = pageDetail.GetPageByID(PageID, lang);

            XmlNode pageNode = xmlDoc.CreateElement("Page");

            xmlDoc.AppendChild(pageNode);
            int i = 0;

            //Page Attribures
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "PageID", pageNode);
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "ParentPageID", pageNode);
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "PageOrder", pageNode);
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "PortalID", pageNode);
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "PageName", pageNode);
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "MobilePageName", pageNode);
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "ShowMobile", pageNode);
            AddAttribute(dsPageModuleDetails.Tables[0].Rows[i], "PageLayout", pageNode);

            //Page Long text fields
            XmlNode longTextNode = xmlDoc.CreateElement("PageDescription");

            longTextNode.AppendChild(xmlDoc.CreateCDataSection(dsPageModuleDetails.Tables[0].Rows[i]["PageDescription"].ToString()));
            pageNode.AppendChild(longTextNode);

            longTextNode = xmlDoc.CreateElement("AuthorizedRoles");
            longTextNode.AppendChild(xmlDoc.CreateCDataSection(dsPageModuleDetails.Tables[0].Rows[i]["AuthorizedRoles"].ToString()));
            pageNode.AppendChild(longTextNode);

            //page settings
            XmlNode pageSettingRoot = xmlDoc.CreateElement("PageSettings");

            pageNode.AppendChild(pageSettingRoot);

            foreach (DataRow item in dsPageModuleDetails.Tables[1].Rows)
            {
                XmlNode pageSetting = xmlDoc.CreateElement("PageSetting");
                pageSettingRoot.AppendChild(pageSetting);

                XmlAttribute attribute = xmlDoc.CreateAttribute("Name");
                attribute.Value = item["SettingName"].ToString();
                pageSetting.Attributes.Append(attribute);

                pageSetting.AppendChild(xmlDoc.CreateCDataSection(item["SettingValue"].ToString()));
            }


            //Module
            XmlNode ModuleRoot = xmlDoc.CreateElement("Modules");

            pageNode.AppendChild(ModuleRoot);

            DateTime lstModDt = new DateTime();

            foreach (DataRow item in dsPageModuleDetails.Tables[2].Rows)
            {
                XmlNode ModuleDetail = xmlDoc.CreateElement("Module");
                ModuleRoot.AppendChild(ModuleDetail);

                AddAttribute(item, "ModuleID", ModuleDetail);
                AddAttribute(item, "ModuleDefID", ModuleDetail);
                AddAttribute(item, "ModuleOrder", ModuleDetail);
                AddAttribute(item, "CacheTime", ModuleDetail);
                AddAttribute(item, "ShowMobile", ModuleDetail);
                AddAttribute(item, "NewVersion", ModuleDetail);
                AddAttribute(item, "SupportWorkflow", ModuleDetail);
                AddAttribute(item, "WorkflowState", ModuleDetail);
                AddAttribute(item, "StagingLastModified", ModuleDetail);
                AddAttribute(item, "SupportCollapsable", ModuleDetail);
                AddAttribute(item, "ShowEveryWhere", ModuleDetail);
                AddAttribute(item, "WorkflowState", ModuleDetail);
                AddAttribute(item, "WorkflowState", ModuleDetail);
                AddAttribute(item, "WorkflowState", ModuleDetail);

                DateTime.TryParse(item["LastModified"].ToString(), out lstModDt);
                XmlAttribute Dateattribute = xmlDoc.CreateAttribute("LastModified");
                Dateattribute.Value = lstModDt.ToString("dd-MMM-yyyyTHH:mm:ss");
                ModuleDetail.Attributes.Append(Dateattribute);

                DateTime.TryParse(item["LastModified"].ToString(), out lstModDt);
                Dateattribute       = xmlDoc.CreateAttribute("StagingLastModified");
                Dateattribute.Value = lstModDt.ToString("dd-MMM-yyyyTHH:mm:ss");
                ModuleDetail.Attributes.Append(Dateattribute);

                longTextNode = xmlDoc.CreateElement("PaneName");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["PaneName"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("ModuleTitle");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["ModuleTitle"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedEditRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedEditRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedAddRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedAddRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedDeleteRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedDeleteRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedViewRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedViewRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedPropertiesRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedPropertiesRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedPublishingRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedPublishingRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedApproveRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedApproveRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("LastEditor");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["LastEditor"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("StagingLastEditor");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["StagingLastEditor"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedMoveModuleRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedMoveModuleRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                longTextNode = xmlDoc.CreateElement("AuthorizedDeleteModuleRoles");
                longTextNode.AppendChild(xmlDoc.CreateCDataSection(item["AuthorizedDeleteModuleRoles"].ToString()));
                ModuleDetail.AppendChild(longTextNode);

                XmlNode ModuleSettings = xmlDoc.CreateElement("ModuleSettings");
                ModuleDetail.AppendChild(ModuleSettings);

                foreach (DataRow moduleSetting in dsPageModuleDetails.Tables[3].Rows)
                {
                    if (item["ModuleID"].ToString() == moduleSetting["ModuleID"].ToString())
                    {
                        XmlNode ModuleSettingNode = xmlDoc.CreateElement("ModuleSetting");
                        ModuleSettings.AppendChild(ModuleSettingNode);

                        XmlAttribute attribute = xmlDoc.CreateAttribute("SettingName");
                        attribute.Value = moduleSetting["SettingName"].ToString();
                        ModuleSettingNode.Attributes.Append(attribute);
                        ModuleSettingNode.AppendChild(xmlDoc.CreateCDataSection(moduleSetting["SettingValue"].ToString()));
                    }
                }
            }

            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            XmlTextWriter          writer = new XmlTextWriter(stream, System.Text.Encoding.UTF8);

            xmlDoc.WriteTo(writer);
            writer.Flush();
            Response.Clear();
            byte[] byteArray = stream.ToArray();

            string pagename = dsPageModuleDetails.Tables[0].Rows[i]["PageName"].ToString();
            Regex  rgx      = new Regex("[^a-zA-Z0-9 -]");

            pagename = rgx.Replace(pagename, "");
            Response.AppendHeader("Content-Disposition", "attachment; filename=" + pagename + ".xml");
            Response.AppendHeader("Content-Length", byteArray.Length.ToString());
            Response.ContentType = "application/octet-stream";
            Response.BinaryWrite(byteArray);
            writer.Close();
            Response.End();
        }