Esempio n. 1
0
        /// <summary>
        /// Used to process the current request.
        /// </summary>
        public override void ProcessRequest()
        {
            //Assemble page parts.
            RootElement.RemoveAll();
            if (InputContext.ViewingUser.IsSuperUser == false && InputContext.ViewingUser.IsEditor == false)
            {
                SerialiseAndAppend(new Error { Type = "Access Denied", ErrorMessage = "Access denied" }, "");
                return;
            }

            _siteConfig = SiteConfig.GetPreviewSiteConfig(InputContext.CurrentSite.SiteID, AppContext.ReaderCreator);
            _topicPage = new TopicPage { Page = "PREVIEW" };
            _topicPage.TopicElementList = TopicElementList.GetTopicListFromDatabase(AppContext.ReaderCreator,
                                                                         InputContext.CurrentSite.SiteID,
                                                                         TopicStatus.Preview, false);


            GetQueryParameters();
            var result = ProcessCommand();
            if(result != null)
            {
                SerialiseAndAppend(result, "");
            }

            
            var previewElement = AddElementTag(RootElement, "SITECONFIGPREVIEW");
            var editKeyElement = AddElementTag(previewElement, "EDITKEY");
            editKeyElement.InnerText = _siteConfig.EditKey.ToString();
            SerialiseAndAppend(_siteConfig, "/DNAROOT/SITECONFIGPREVIEW");


            SerialiseAndAppend(_topicPage, "");

           
        }
Esempio n. 2
0
        /// <summary>
        /// Returns the object filles from the preview table.
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="readerCreator"></param>
        /// <returns></returns>
        public static SiteConfig GetPreviewSiteConfig(int siteId, IDnaDataReaderCreator readerCreator)
        {
            var siteConfig = new SiteConfig {SiteId = siteId};

            using(var reader = readerCreator.CreateDnaDataReader("fetchpreviewsiteconfig"))
            {
                reader.AddParameter("siteid", siteId);
                reader.Execute();
                if(reader.Read())
                {
                    siteConfig.EditKey = reader.GetGuid("editkey");
                    var siteConfigStr = reader.GetStringNullAsEmpty("config");
                    if(!string.IsNullOrEmpty(siteConfigStr))
                    {
                        var xmlSiteConfig = new XmlDocument();
                        xmlSiteConfig.LoadXml(Entities.GetEntities() + siteConfigStr);

                        /*var xmlV2Node = xmlSiteConfig.SelectSingleNode("//SITECONFIG/V2_BOARDS");
                        if(xmlV2Node != null)
                        {
                            siteConfig.V2Board = (SiteConfigV2Board)StringUtils.DeserializeObjectUsingXmlSerialiser(xmlV2Node.OuterXml, typeof(SiteConfigV2Board));
                        }*/

                        var elements = new List<XmlElement>();
                        foreach (XmlElement childNode in xmlSiteConfig.ChildNodes[1].ChildNodes)
                        {
                            if(childNode.Name == "V2_BOARDS")
                            {
                                siteConfig.V2Board = (SiteConfigV2Board)StringUtils.DeserializeObjectUsingXmlSerialiser(childNode.OuterXml, typeof(SiteConfigV2Board));
                            }
                            else
                            {
                                elements.Add(childNode);
                            }
                        }
                        siteConfig.LegacyElements = elements.ToArray();
                    }
                    
                }
            }
            return siteConfig;
        }
Esempio n. 3
0
 public MessageBoardBackup()
 {
     TopicPage = new TopicPage();
     SiteConfig = new SiteConfig();
     Date = DateTime.Now;
 }