protected void rblFrom_SelectedIndexChanged(object sender, EventArgs e) { ddlTemplate.Items.Clear(); if (rblFrom.SelectedIndex == 0) // site { var scriptFileSetting = ModuleContext.OpenContentSettings().Template; ddlTemplate.Items.AddRange(OpenContentUtils.GetTemplates(ModuleContext.PortalSettings, ModuleContext.ModuleId, scriptFileSetting, App.Config.Opencontent).ToArray()); } else if (rblFrom.SelectedIndex == 1) // web { FeedParser parser = new FeedParser(); //var items = parser.Parse("http://www.openextensions.net/templates?agentType=rss&PropertyTypeID=9", FeedType.RSS); //foreach (var item in items.OrderBy(t => t.Title)) //{ // ddlTemplate.Items.Add(new ListItem(item.Title, item.ZipEnclosure)); //} //if (ddlTemplate.Items.Count > 0) //{ // tbTemplateName.Text = Path.GetFileNameWithoutExtension(ddlTemplate.Items[0].Value); //} foreach (var item in GithubTemplateUtils.GetTemplateList(ModuleContext.PortalId).Where(t => t.Type == Components.Github.TypeEnum.Dir).OrderBy(t => t.Name)) { ddlTemplate.Items.Add(new ListItem(item.Name, item.Path)); } if (ddlTemplate.Items.Count > 0) { tbTemplateName.Text = Path.GetFileNameWithoutExtension(ddlTemplate.Items[0].Value); } } ActivateDetailPage(); }
protected void bSave_Click(object sender, EventArgs e) { try { ModuleController mc = new ModuleController(); if (rblDataSource.SelectedIndex == 0) // this module { mc.DeleteModuleSetting(ModuleContext.ModuleId, "portalid"); mc.DeleteModuleSetting(ModuleContext.ModuleId, "tabid"); mc.DeleteModuleSetting(ModuleContext.ModuleId, "moduleid"); } else if (rblDataSource.SelectedIndex == 1) // other module { var dsModule = (new ModuleController()).GetTabModule(int.Parse(ddlDataSource.SelectedValue)); mc.DeleteModuleSetting(ModuleContext.ModuleId, "portalid"); mc.UpdateModuleSetting(ModuleContext.ModuleId, "tabid", dsModule.TabID.ToString()); mc.UpdateModuleSetting(ModuleContext.ModuleId, "moduleid", dsModule.ModuleID.ToString()); } else // other portal { var dsModule = (new ModuleController()).GetTabModule(int.Parse(ddlDataSource.SelectedValue)); var dsPortal = int.Parse(ddlPortals.SelectedValue); mc.UpdateModuleSetting(ModuleContext.ModuleId, "portalid", dsModule.PortalID.ToString()); mc.UpdateModuleSetting(ModuleContext.ModuleId, "tabid", dsModule.TabID.ToString()); mc.UpdateModuleSetting(ModuleContext.ModuleId, "moduleid", dsModule.ModuleID.ToString()); } if (rblUseTemplate.SelectedIndex == 0) // existing { mc.UpdateModuleSetting(ModuleContext.ModuleId, "template", ddlTemplate.SelectedValue); ModuleContext.Settings["template"] = ddlTemplate.SelectedValue; } else if (rblUseTemplate.SelectedIndex == 1) // new { if (rblFrom.SelectedIndex == 0) // site { string oldFolder = Server.MapPath(ddlTemplate.SelectedValue); string template = OpenContentUtils.CopyTemplate(ModuleContext.PortalId, oldFolder, tbTemplateName.Text); mc.UpdateModuleSetting(ModuleContext.ModuleId, "template", template); ModuleContext.Settings["template"] = template; } else if (rblFrom.SelectedIndex == 1) // web { //string fileName = ddlTemplate.SelectedValue; //string template = OpenContentUtils.ImportFromWeb(ModuleContext.PortalId, fileName, tbTemplateName.Text); //mc.UpdateModuleSetting(ModuleContext.ModuleId, "template", template); //ModuleContext.Settings["template"] = template; //string fileName = ddlTemplate.SelectedValue; string template = GithubTemplateUtils.ImportFromGithub(ModuleContext.PortalId, ddlTemplate.SelectedItem.Text, ddlTemplate.SelectedValue, tbTemplateName.Text); mc.UpdateModuleSetting(ModuleContext.ModuleId, "template", template); ModuleContext.Settings["template"] = template; } } mc.UpdateTabModuleSetting(ModuleContext.TabModuleId, "detailtabid", ddlDetailPage.SelectedValue); //don't reset settings. Sure they might be invalid, but maybe not. And you can't ever revert. //mc.DeleteModuleSetting(ModuleContext.ModuleId, "data"); Settings = ModuleContext.OpenContentSettings(); if (PageRefresh || !Settings.Template.DataNeeded()) { Response.Redirect(Globals.NavigateURL(), true); } else { rblUseTemplate.SelectedIndex = 0; phTemplateName.Visible = rblUseTemplate.SelectedIndex == 1; phFrom.Visible = rblUseTemplate.SelectedIndex == 1; rblFrom.SelectedIndex = 0; BindTemplates(Settings.Template, null); Renderinfo.Template = Settings.Template; BindButtons(Settings, Renderinfo); ActivateDetailPage(); } } catch (Exception exc) { //Module failed to load Exceptions.ProcessModuleLoadException(this, exc); } }