/// <summary> /// Gets settings from data store /// </summary> /// <param name="exType">Extension Type</param> /// <param name="exId">Extension ID</param> /// <returns>Settings as Stream</returns> public object GetSettings(ExtensionType exType, string exId) { WidgetData wd = new WidgetData(); XmlDocument xml = new XmlDocument(); if (_section.DefaultProvider == "XmlBlogProvider") { Stream stm = (Stream)BlogService.LoadFromDataStore(exType, exId); if (stm != null) { XmlSerializer x = new XmlSerializer(typeof(XmlDocument)); xml = (XmlDocument)x.Deserialize(stm); stm.Close(); } } else { object o = BlogService.LoadFromDataStore(exType, exId); if (!string.IsNullOrEmpty((string)o)) { XmlSerializer serializer = new XmlSerializer(typeof(WidgetData)); using (StringReader reader = new StringReader((string)o)) { wd = (WidgetData)serializer.Deserialize(reader); } if (wd.Settings.Length > 0) { xml.InnerXml = wd.Settings; } } } return(xml); }
/// <summary> /// Theme widtegs /// </summary> public WidgetsVM() { try { var packages = Packaging.FileSystem.LoadWidgets(); AvailableWidgets = new List<WidgetItem>(); foreach (var pk in packages) { AvailableWidgets.Add(new WidgetItem { Id = pk.Id, Name = pk.Title, Title = pk.Title, ShowTitle = false }); } WidgetZones = new List<WidgetZone>(); WebClient client = new WebClient(); var html = client.DownloadString(Utils.AbsoluteWebRoot); var cnt = 0; var tag = "widgetzone_"; for (int i = 0; i < 10; i++) { int from = html.IndexOf(tag, cnt); if (from > 0) { from = from + 11; int to = html.IndexOf("\"", from); var zoneId = html.Substring(from, to - from); var zone = new WidgetZone(); zone.Id = zoneId; var xml = RetrieveXml(zoneId); var wd = new WidgetData { Settings = xml.InnerXml }; //------------------------------ var widgets = xml.SelectSingleNode("widgets"); zone.Widgets = new List<WidgetItem>(); if (widgets != null) { foreach (XmlNode node in widgets.ChildNodes) { if (node != null && node.Attributes != null) { var item = new WidgetItem(); item.Id = node.Attributes["id"].InnerText; item.Name = node.InnerText; item.Title = node.Attributes["title"].InnerText; item.ShowTitle = bool.Parse(node.Attributes["showTitle"].InnerText); zone.Widgets.Add(item); } } } //------------------------------ WidgetZones.Add(zone); cnt = to; } else { break; } } } catch (Exception) { } }
/// <summary> /// Theme widtegs /// </summary> public WidgetsVM() { try { WidgetZones = new List<WidgetZone>(); WebClient client = new WebClient(); var html = client.DownloadString(Utils.AbsoluteWebRoot); var cnt = 0; var tag = "widgetzone_"; for (int i = 0; i < 10; i++) { int from = html.IndexOf(tag, cnt); if (from > 0) { from = from + 11; int to = html.IndexOf("\"", from); var zoneId = html.Substring(from, to - from); var zone = new WidgetZone(); zone.Id = zoneId; //var ws = new WidgetSettings(zoneId); //var abc = ws.GetSettings(); // var x = (StringDictionary)ws.GetSettings(); var xml = RetrieveXml(zoneId); var wd = new WidgetData { Settings = xml.InnerXml }; //------------------------------ var widgets = xml.SelectSingleNode("widgets"); if (widgets != null) { zone.Widgets = new List<WidgetItem>(); foreach (XmlNode node in widgets.ChildNodes) { if (node != null && node.Attributes != null) { var item = new WidgetItem(); item.Id = new Guid(node.Attributes["id"].InnerText); item.Title = node.Attributes["title"].InnerText; item.ShowTitle = bool.Parse(node.Attributes["showTitle"].InnerText); zone.Widgets.Add(item); } } } //------------------------------ WidgetZones.Add(zone); cnt = to; } else { break; } } } catch (Exception) { } }
/// <summary> /// Saves XML document to data storage /// </summary> /// <param name="extensionType"> /// Extension Type /// </param> /// <param name="extensionId"> /// Extension ID /// </param> /// <param name="settings"> /// Settings as XML document /// </param> /// <returns> /// True if saved /// </returns> public bool SaveSettings(ExtensionType extensionType, string extensionId, object settings) { var xml = (XmlDocument)settings; if (Section.DefaultProvider == "XmlBlogProvider") { BlogService.SaveToDataStore(extensionType, extensionId, xml); } else { var wd = new WidgetData { Settings = xml.InnerXml }; BlogService.SaveToDataStore(extensionType, extensionId, wd); } return(true); }
/// <summary> /// Saves XML document to data storage /// </summary> /// <param name="exType">Extension Type</param> /// <param name="exId">Extension ID</param> /// <param name="settings">Settings as XML document</param> /// <returns>True if saved</returns> public bool SaveSettings(ExtensionType exType, string exId, object settings) { try { XmlDocument xml = (XmlDocument)settings; if (_section.DefaultProvider == "XmlBlogProvider") { BlogService.SaveToDataStore(exType, exId, xml); } else { WidgetData wd = new WidgetData(); wd.Settings = xml.InnerXml; BlogService.SaveToDataStore(exType, exId, wd); } return(true); } catch (Exception) { throw; } }
/// <summary> /// Saves XML document to data storage /// </summary> /// <param name="extensionType"> /// Extension Type /// </param> /// <param name="extensionId"> /// Extension ID /// </param> /// <param name="settings"> /// Settings as XML document /// </param> /// <returns> /// True if saved /// </returns> public bool SaveSettings(ExtensionType extensionType, string extensionId, object settings) { var xml = (XmlDocument)settings; if (Section.DefaultProvider == "XmlBlogProvider") { BlogService.SaveToDataStore(extensionType, extensionId, xml); } else { var wd = new WidgetData { Settings = xml.InnerXml }; BlogService.SaveToDataStore(extensionType, extensionId, wd); } return true; }
private void AddZones(string html) { try { var cnt = 0; bool found = false; var tag = "widgetzone_"; for (int i = 0; i < 10; i++) { int from = html.IndexOf(tag, cnt); if (from > 0) { from = from + 11; int to = html.IndexOf("\"", from); var zoneId = html.Substring(from, to - from); var zone = new WidgetZone(); zone.Id = zoneId; var xml = RetrieveXml(zoneId); var wd = new WidgetData { Settings = xml.InnerXml }; var widgets = xml.SelectSingleNode("widgets"); zone.Widgets = new List<WidgetItem>(); if (widgets != null) { foreach (XmlNode node in widgets.ChildNodes) { if (node != null && node.Attributes != null) { var item = new WidgetItem(); item.Id = node.Attributes["id"].InnerText; item.Name = node.InnerText; item.Title = node.Attributes["title"].InnerText; item.ShowTitle = bool.Parse(node.Attributes["showTitle"].InnerText); zone.Widgets.Add(item); } } } found = false; if (WidgetZones.Count > 0) { foreach (var z in WidgetZones) { if(z.Id == zone.Id) { found = true; break; } } } if (!found) { WidgetZones.Add(zone); } cnt = to; } else { break; } } } catch (Exception) { } }