/// <summary>The AddModuleToPane_Click server event handler on this page is used /// to add a new portal module into the tab /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void AddModuleToPane_Click(Object sender, EventArgs e) { // All new modules go to the end of the contentpane ModuleItem m = new ModuleItem(); m.ModuleTitle = moduleTitle.Text; m.ModuleDefId = Int32.Parse(moduleType.SelectedItem.Value); m.ModuleOrder = 999; // save to database Configuration config = new Configuration(); m.ModuleId = config.AddModule(tabId, m.ModuleOrder, "ContentPane", m.ModuleTitle, m.ModuleDefId, 0, "Admins", false); // Obtain portalId from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // reload the portalSettings from the database HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, tabId); // reorder the modules in the content pane ArrayList modules = GetModules("ContentPane"); OrderModules(modules); // resave the order foreach (ModuleItem item in modules) { config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, "ContentPane"); } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); }
//******************************************************* // // The AddTab_Click server event handler is used to add // a new security tab for this portal // //******************************************************* protected void AddTab_Click(Object Sender, EventArgs e) { // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // New tabs go to the end of the list TabItem t = new TabItem(); t.TabName = "New Tab"; t.TabId = -1; t.TabOrder = 999; portalTabs.Add(t); // write tab to database Configuration config = new Configuration(); t.TabId = config.AddTab(portalSettings.PortalId, t.TabName, t.TabOrder); // reload the _portalSettings from the database HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, t.TabId); // Reset the order numbers for the tabs within the list OrderTabs(); // Redirect to edit page Response.Redirect("~/Admin/TabLayout.aspx?tabid=" + t.TabId); }
//**************************************************************** // // The DeleteBtn_Click event handler on this Page is used to delete an // a link. It uses the Nairc.KPWPortal.LinksDB() // data component to encapsulate all data functionality. // //**************************************************************** protected void DeleteBtn_Click(Object sender, EventArgs e) { // delete definition Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); config.DeleteModuleDefinition(defId); // Redirect back to the portal admin page Response.Redirect("~/DesktopDefault.aspx?tabindex=" + tabIndex + "&tabid=" + tabId); }
//**************************************************************** // // The UpdateBtn_Click event handler on this Page is used to save // the settings to the configuration file. // //**************************************************************** protected void UpdateBtn_Click(Object sender, EventArgs e) { // Update settings in the database Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); config.UpdateModuleSetting(moduleId, "xmlsrc", XmlDataSrc.Text); config.UpdateModuleSetting(moduleId, "xslsrc", XslTransformSrc.Text); // Redirect back to the portal home page Response.Redirect((String) ViewState["UrlReferrer"]); }
//******************************************************* // // The Apply_Click server event handler is used // to update the Site Name within the Portal Config System // //******************************************************* protected void Apply_Click(Object sender, EventArgs e) { // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // update Tab info in the database Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); config.UpdatePortalInfo(portalSettings.PortalId, siteName.Text, showEdit.Checked); // Redirect to this site to refresh Response.Redirect(Request.RawUrl); }
//**************************************************************** // // The UpdateBtn_Click event handler on this Page is used to save // the settings to the ModuleSettings database table. It uses the // Nairc.KPWPortal.AdminDB() data component to encapsulate the data // access functionality. // //**************************************************************** protected void UpdateBtn_Click(Object sender, EventArgs e) { // Update settings in the database Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); config.UpdateModuleSetting(moduleId, "src", Src.Text); config.UpdateModuleSetting(moduleId, "height", Height.Text); config.UpdateModuleSetting(moduleId, "width", Width.Text); // Redirect back to the portal home page Response.Redirect((String) ViewState["UrlReferrer"]); }
//******************************************************* // // The DeleteBtn_Click server event handler is used to delete // the selected tab from the portal // //******************************************************* protected void DeleteBtn_Click(Object sender, ImageClickEventArgs e) { if (tabList.SelectedIndex != -1) { // config.DeleteTab() deletes the Tab and underlying modules in PortalCFG.xml // and deletes any associated module content in the database. TabItem t = (TabItem) portalTabs[tabList.SelectedIndex]; Configuration config = new Configuration(); config.DeleteTab(t.TabId); // remove item from list portalTabs.RemoveAt(tabList.SelectedIndex); // reorder list OrderTabs(); // Redirect to this site to refresh Response.Redirect("~/DesktopDefault.aspx?tabindex=" + tabIndex + "&tabid=" + tabId); } }
/// <summary>The DeleteBtn_Click server event handler on this page is /// used to delete an portal module from the page /// </summary> protected void DeleteBtn_Click(Object sender, ImageClickEventArgs e) { String pane = ((ImageButton) sender).CommandArgument; //fix send by: http://www.codeplex.com/site/users/view/pathurun ContentPlaceHolder cph = (ContentPlaceHolder)Page.Master.FindControl("maincontent"); ListBox _listbox = (ListBox)cph.FindControl(pane);//(ListBox) Page.FindControl(pane); ArrayList modules = GetModules(pane); if (_listbox.SelectedIndex != -1) { ModuleItem m = (ModuleItem) modules[_listbox.SelectedIndex]; if (m.ModuleId > -1) { // config.DeleteModule() deletes the module in PortalCFG.xml // and deletes any associated content in the database. Configuration config = new Configuration(); config.DeleteModule(m.ModuleId); } } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); }
/// <summary>The BindData helper method is used to update the tab's /// layout panes with the current configuration information /// </summary> private void BindData() { // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; TabSettings tab = portalSettings.ActiveTab; // Populate Tab Names, etc. tabName.Text = tab.TabName; mobileTabName.Text = tab.MobileTabName; showMobile.Checked = tab.ShowMobile; // Populate checkbox list with all security roles for this portal // and "check" the ones already configured for this tab IAccountFacade facade = new AccountFacade(); System.Collections.Generic.IList<PortalRole> roles = facade.PortalRoles(portalSettings.PortalId); // Clear existing items in checkboxlist authRoles.Items.Clear(); ListItem allItem = new ListItem(); allItem.Text = "�����û�"; if (tab.AuthorizedRoles.LastIndexOf("All Users") > -1) { allItem.Selected = true; } authRoles.Items.Add(allItem); foreach(PortalRole role in roles) { ListItem item = new ListItem(); item.Text = role.RoleName; item.Value = role.RoleID.ToString(); if ((tab.AuthorizedRoles.LastIndexOf(item.Text)) > -1) { item.Selected = true; } authRoles.Items.Add(item); } // Populate the "Add Module" Data Configuration config = new Configuration(); moduleType.DataSource = config.GetModuleDefinitions(portalSettings.PortalId); moduleType.DataBind(); // Populate Right Hand Module Data rightList = GetModules("RightPane"); rightPane.DataBind(); // Populate Content Pane Module Data contentList = GetModules("ContentPane"); contentPane.DataBind(); // Populate Left Hand Pane Module Data leftList = GetModules("LeftPane"); leftPane.DataBind(); }
//******************************************************* // // The BindData helper method is used to bind the list of // module definitions for this portal to an asp:datalist server control // //******************************************************* private void BindData() { // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // Get the portal's defs from the database Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); defsList.DataSource = config.GetModuleDefinitions(portalSettings.PortalId); defsList.DataBind(); }
/// <summary>The UpDown_Click server event handler on this page is /// used to move a portal module up or down on a tab's layout pane /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void UpDown_Click(Object sender, ImageClickEventArgs e) { String cmd = ((ImageButton) sender).CommandName; String pane = ((ImageButton) sender).CommandArgument; ListBox _listbox = (ListBox) Page.FindControl(pane); ArrayList modules = GetModules(pane); if (_listbox.SelectedIndex != -1) { int delta; int selection = -1; // Determine the delta to apply in the order number for the module // within the list. +3 moves down one item; -3 moves up one item if (cmd == "down") { delta = 3; if (_listbox.SelectedIndex < _listbox.Items.Count - 1) { selection = _listbox.SelectedIndex + 1; } } else { delta = -3; if (_listbox.SelectedIndex > 0) { selection = _listbox.SelectedIndex - 1; } } ModuleItem m; m = (ModuleItem) modules[_listbox.SelectedIndex]; m.ModuleOrder += delta; // reorder the modules in the content pane OrderModules(modules); // resave the order Configuration config = new Configuration(); foreach (ModuleItem item in modules) { config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, pane); } } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); }
/// <summary>The SaveTabData helper method is used to persist the /// current tab settings to the database. /// </summary> protected void SaveTabData() { // Construct Authorized User Roles String String authorizedRoles = ""; foreach (ListItem item in authRoles.Items) { if (item.Selected) { string role = item.Text == "�����û�" ? "All Users" : item.Text; authorizedRoles = authorizedRoles + role + ";"; } } // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // update Tab info in the database Configuration config = new Configuration(); config.UpdateTab(portalSettings.PortalId, tabId, tabName.Text, portalSettings.ActiveTab.TabOrder, authorizedRoles, mobileTabName.Text, showMobile.Checked); }
/// <summary>The RightLeft_Click server event handler on this page is /// used to move a portal module between layout panes on /// the tab page /// </summary> protected void RightLeft_Click(Object sender, ImageClickEventArgs e) { String sourcePane = ((ImageButton) sender).Attributes["sourcepane"]; String targetPane = ((ImageButton) sender).Attributes["targetpane"]; //fix send by: http://www.codeplex.com/site/users/view/pathurun ContentPlaceHolder cph = (ContentPlaceHolder)Page.Master.FindControl("maincontent"); ListBox sourceBox = (ListBox)cph.FindControl(sourcePane);//(ListBox) Page.FindControl(sourcePane); ListBox targetBox = (ListBox)cph.FindControl(targetPane);//(ListBox) Page.FindControl(targetPane); if (sourceBox.SelectedIndex != -1) { // get source arraylist ArrayList sourceList = GetModules(sourcePane); // get a reference to the module to move // and assign a high order number to send it to the end of the target list ModuleItem m = (ModuleItem) sourceList[sourceBox.SelectedIndex]; // add it to the database Configuration config = new Configuration(); config.UpdateModuleOrder(m.ModuleId, 998, targetPane); // delete it from the source list sourceList.RemoveAt(sourceBox.SelectedIndex); // Obtain portalId from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // reload the portalSettings from the database HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, tabId); // reorder the modules in the source pane sourceList = GetModules(sourcePane); OrderModules(sourceList); // resave the order foreach (ModuleItem item in sourceList) { config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, sourcePane); } // reorder the modules in the target pane ArrayList targetList = GetModules(targetPane); OrderModules(targetList); // resave the order foreach (ModuleItem item in targetList) { config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, targetPane); } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); } }
//******************************************************* // // The ApplyChanges_Click server event handler on this page is used // to save the module settings into the portal configuration system // //******************************************************* protected void ApplyChanges_Click(Object Sender, EventArgs e) { // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) HttpContext.Current.Items["PortalSettings"]; object value = GetModule(); if (value != null) { Nairc.KPWPortal.ModuleSettings m = (Nairc.KPWPortal.ModuleSettings) value; // Construct Authorized User Roles String String editRoles = ""; foreach (ListItem item in authEditRoles.Items) { if (item.Selected == true) { editRoles = editRoles + item.Text + ";"; } } // update module Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); config.UpdateModule(moduleId, m.ModuleOrder, m.PaneName, moduleTitle.Text, Int32.Parse(cacheTime.Text), editRoles, showMobile.Checked); // Update Textbox Settings moduleTitle.Text = m.ModuleTitle; cacheTime.Text = m.CacheTime.ToString(); // Populate checkbox list with all security roles for this portal // and "check" the ones already configured for this module IAccountFacade facade = new AccountFacade(); IList<PortalRole> roles = facade.PortalRoles(portalSettings.PortalId); // Clear existing items in checkboxlist authEditRoles.Items.Clear(); ListItem allItem = new ListItem(); allItem.Text = "�����û�"; if (m.AuthorizedEditRoles.LastIndexOf("All Users") > -1) { allItem.Selected = true; } authEditRoles.Items.Add(allItem); foreach(PortalRole role in roles) { ListItem item = new ListItem(); item.Text = role.RoleName; item.Value = role.RoleID.ToString(); if ((m.AuthorizedEditRoles.LastIndexOf(item.Text)) > -1) { item.Selected = true; } authEditRoles.Items.Add(item); } } // Navigate back to admin page Response.Redirect("TabLayout.aspx?tabid=" + tabId); }
//******************************************************* // // The OrderTabs helper method is used to reset the display // order for tabs within the portal // //******************************************************* protected void OrderTabs() { int i = 1; // sort the arraylist portalTabs.Sort(); // renumber the order and save to database foreach (TabItem t in portalTabs) { // number the items 1, 3, 5, etc. to provide an empty order // number when moving items up and down in the list. t.TabOrder = i; i += 2; // rewrite tab to database Configuration config = new Configuration(); config.UpdateTabOrder(t.TabId, t.TabOrder); } }
//******************************************************* // // The Page_Load server event handler on this page is used // to populate the role information for the page // //******************************************************* protected void Page_Load(Object Sender, EventArgs e) { // Verify that the current user has access to access this page if (PortalSecurity.IsInRoles("Admins") == false) { Response.Redirect("~/Errors/EditAccessDenied.aspx"); } // Calculate security defId if (Request.Params["defid"] != null) { defId = Int32.Parse(Request.Params["defid"]); } if (Request.Params["tabid"] != null) { tabId = Int32.Parse(Request.Params["tabid"]); } if (Request.Params["tabindex"] != null) { tabIndex = Int32.Parse(Request.Params["tabindex"]); } // If this is the first visit to the page, bind the definition data if (Page.IsPostBack == false) { if (defId == -1) { // new module definition FriendlyName.Text = "New Definition"; DesktopSrc.Text = "DesktopModules/SomeModule.ascx"; MobileSrc.Text = "MobileModules/SomeModule.ascx"; } else { // Obtain the module definition to edit from the database Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); SiteConfiguration.ModuleDefinitionRow modDefRow = config.GetSingleModuleDefinition(defId); // Read in information FriendlyName.Text = modDefRow.FriendlyName; DesktopSrc.Text = modDefRow.DesktopSourceFile; MobileSrc.Text = modDefRow.MobileSourceFile; } } }
//**************************************************************** // // The UpdateBtn_Click event handler on this Page is used to either // create or update a link. It uses the Nairc.KPWPortal.LinkDB() // data component to encapsulate all data functionality. // //**************************************************************** protected void UpdateBtn_Click(Object sender, EventArgs e) { if (Page.IsValid == true) { Nairc.KPWPortal.Configuration config = new Nairc.KPWPortal.Configuration(); if (defId == -1) { // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // Add a new module definition to the database config.AddModuleDefinition(portalSettings.PortalId, FriendlyName.Text, DesktopSrc.Text, MobileSrc.Text); } else { // update the module definition config.UpdateModuleDefinition(defId, FriendlyName.Text, DesktopSrc.Text, MobileSrc.Text); } // Redirect back to the portal admin page Response.Redirect("~/DesktopDefault.aspx?tabindex=" + tabIndex + "&tabid=" + tabId); } }