private void btnUpdate_Click(object sender, EventArgs e) { Page.Validate("feeds"); if (!Page.IsValid) { return; } RssFeed feed = new RssFeed(ModuleId, ItemId); if (feed.ModuleId != ModuleId) { SiteUtils.RedirectToAccessDeniedPage(this); return; } feed.ModuleId = ModuleId; feed.Author = txtAuthor.Text; feed.Url = txtWebSite.Text; feed.RssUrl = txtRssUrl.Text; feed.ImageUrl = txtImageUrl.Text; int sortRank = 500; int.TryParse(txtSortRank.Text, out sortRank); feed.SortRank = sortRank; SiteUser siteUser = SiteUtils.GetCurrentSiteUser(); if (siteUser == null) return; Module module = new Module(ModuleId); feed.ModuleGuid = module.ModuleGuid; feed.UserId = siteUser.UserId; feed.UserGuid = siteUser.UserGuid; feed.LastModUserGuid = siteUser.UserGuid; feed.PublishByDefault = chkPublishByDefault.Checked; if (feed.Save()) { CurrentPage.UpdateLastModifiedTime(); FeedCache.RefreshFeed( feed, ModuleId, module.ModuleGuid, config.MaxDaysOld, config.MaxEntriesPerFeed, config.EnableSelectivePublishing); String rssFriendlyUrl = "aggregator" + ModuleId.ToInvariantString() + "rss.aspx"; if (!FriendlyUrl.Exists(siteSettings.SiteId, rssFriendlyUrl)) { FriendlyUrl friendlyUrl = new FriendlyUrl(); friendlyUrl.SiteId = siteSettings.SiteId; friendlyUrl.SiteGuid = siteSettings.SiteGuid; friendlyUrl.Url = rssFriendlyUrl; friendlyUrl.RealUrl = "~/FeedManager/FeedAggregate.aspx?pageid=" + PageId.ToInvariantString() + "&mid=" + ModuleId.ToInvariantString(); friendlyUrl.Save(); } if (hdnReturnUrl.Value.Length > 0) { WebUtils.SetupRedirect(this, hdnReturnUrl.Value); return; } WebUtils.SetupRedirect(this, SiteUtils.GetCurrentPageUrl()); } }
public void InstallContent(Module module, string configInfo) { if (string.IsNullOrEmpty(configInfo)) { return; } SiteSettings siteSettings = new SiteSettings(module.SiteId); SiteUser admin = SiteUser.GetNewestUser(siteSettings); XmlDocument xml = new XmlDocument(); using (StreamReader stream = File.OpenText(HostingEnvironment.MapPath(configInfo))) { xml.LoadXml(stream.ReadToEnd()); } foreach (XmlNode node in xml.DocumentElement.ChildNodes) { if (node.Name == "feed") { XmlAttributeCollection feedAttributes = node.Attributes; RssFeed feed = new RssFeed(module.ModuleId); feed.ModuleId = module.ModuleId; feed.ModuleGuid = module.ModuleGuid; if (admin != null) { feed.UserId = admin.UserId; feed.UserGuid = admin.UserGuid; feed.LastModUserGuid = admin.UserGuid; } if (feedAttributes["feedName"] != null) { feed.Author = feedAttributes["feedName"].Value; } if (feedAttributes["webUrl"] != null) { feed.Url = feedAttributes["webUrl"].Value; } if (feedAttributes["feedUrl"] != null) { feed.RssUrl = feedAttributes["feedUrl"].Value; } if (feedAttributes["sortRank"] != null) { int sort = 500; if (int.TryParse(feedAttributes["sortRank"].Value, out sort)) { feed.SortRank = sort; } } feed.Save(); } if (node.Name == "moduleSetting") { XmlAttributeCollection settingAttributes = node.Attributes; if ((settingAttributes["settingKey"] != null)&&(settingAttributes["settingKey"].Value.Length > 0)) { string key = settingAttributes["settingKey"].Value; string val = string.Empty; if (settingAttributes["settingValue"] != null) { val = settingAttributes["settingValue"].Value; } ModuleSettings.UpdateModuleSetting(module.ModuleGuid, module.ModuleId, key, val); } } } }