/// <summary> /// Helper method to read skins assigned at the three diferent levels: Portal, Tab, Module /// </summary> /// <param name="xml">Reference to xml document to create new elements</param> /// <param name="nodeToAdd">Node to add the skin information</param> /// <param name="skinRoot">Skin object to get: skins or containers</param> /// <param name="skinLevel">Skin level to get: portal, tab, module</param> /// <param name="id">ID of the object to get the skin. Used in conjunction with <paramref name="skinLevel"/> parameter. /// Ex: if skinLevel is portal, <paramref="id"/> will be PortalID. /// </param> /// <remarks> /// Skin information nodes are added to <paramref="nodeToAdd"/> node. /// </remarks> /// <history> /// [VMasanas] 23/09/2004 Created /// </history> private static void AddSkinXml(XmlDocument xml, XmlNode nodeToAdd, string skinRoot, string skinLevel, int id) { string elementprefix; if (skinRoot == SkinInfo.RootSkin) { elementprefix = "skin"; } else { elementprefix = "container"; } switch (skinLevel) { case "portal": SkinInfo skin = SkinController.GetSkin(skinRoot, id, SkinType.Portal); if (skin != null) { XmlElement newnode = xml.CreateElement(elementprefix + "src"); newnode.InnerText = skin.SkinSrc; nodeToAdd.AppendChild(newnode); } skin = SkinController.GetSkin(skinRoot, id, SkinType.Admin); if (skin != null) { XmlElement newnode = xml.CreateElement(elementprefix + "srcadmin"); newnode.InnerText = skin.SkinSrc; nodeToAdd.AppendChild(newnode); } break; } }
/// <summary> /// SkinChanged changes the skin /// </summary> /// <history> /// [cnurse] 10/19/2004 documented /// </history> private static bool SkinChanged(string SkinRoot, int PortalId, SkinType SkinType, string PostedSkinSrc) { string strSkinSrc = ""; SkinInfo objSkinInfo = SkinController.GetSkin(SkinRoot, PortalId, SkinType.Admin); if (objSkinInfo != null) { strSkinSrc = objSkinInfo.SkinSrc; } if (strSkinSrc == null) { strSkinSrc = ""; } return(strSkinSrc != PostedSkinSrc); }
protected static bool SkinChanged(string SkinRoot, int portalId, SkinType SkinType, string PostedSkinSrc) { //SkinController objSkins = new SkinController(); SkinInfo objSkinInfo; string strSkinSrc = Null.NullString; objSkinInfo = SkinController.GetSkin(SkinRoot, portalId, SkinType.Admin); if (objSkinInfo != null) { strSkinSrc = objSkinInfo.SkinSrc; } if (strSkinSrc == null) { strSkinSrc = ""; } return(strSkinSrc != PostedSkinSrc); }
/// <summary> /// GetContainers gets the containers and binds the lists to the controls /// the buttons /// </summary> /// <param name="type">An enum indicating what type of containers to load</param> /// <param name="skinType">A string that identifies whether the skin is Host "[G]" or Site "[L]"</param> /// <param name="strFolder">The folder to search for skins</param> /// <history> /// [cnurse] 12/14/2004 created /// </history> private void GetContainers(ContainerType type, string skinType, string strFolder) { //Configure SkinControl ctlPortalContainer.Width = "500px"; ctlPortalContainer.Height = "250px"; ctlPortalContainer.Border = "black 1px solid"; ctlPortalContainer.Columns = 3; ctlPortalContainer.SkinRoot = SkinInfo.RootContainer; switch (type) { case ContainerType.Folder: ctlPortalContainer.LoadSkins(strFolder, skinType, false); break; case ContainerType.Portal: ctlPortalContainer.LoadPortalSkins(false); break; case ContainerType.Host: ctlPortalContainer.LoadHostSkins(false); break; case ContainerType.All: ctlPortalContainer.LoadAllSkins(false); break; } //Get current container and set selected skin SkinInfo objSkin = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Portal); if (objSkin != null) { if (objSkin.PortalId == PortalId) { ctlPortalContainer.SkinSrc = objSkin.SkinSrc; } } }
/// <summary> /// GetSkins gets the skins and containers and binds the lists to the controls /// the buttons /// </summary> /// <history> /// [cnurse] 11/04/2004 created /// </history> private void GetSkins() { //Configure SkinControl ctlPortalSkin.Width = "500px"; ctlPortalSkin.Height = "250px"; ctlPortalSkin.Border = "black 1px solid"; ctlPortalSkin.Columns = 3; ctlPortalSkin.SkinRoot = SkinInfo.RootSkin; ctlPortalSkin.LoadAllSkins(false); //Get current skin and set selected skin SkinInfo objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Portal); if (objSkin != null) { if (objSkin.PortalId == PortalId) { ctlPortalSkin.SkinSrc = objSkin.SkinSrc; } } }
protected void Page_Init(Object sender, EventArgs e) { InitializePage(); UserControl ctlSkin = null; if (Request.QueryString["SkinSrc"] != null) { PortalSettings.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(Globals.QueryStringDecode(Request.QueryString["SkinSrc"]) + ".ascx", PortalSettings); ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } // load user skin ( based on cookie ) if (ctlSkin == null) { if (Request.Cookies["_SkinSrc" + PortalSettings.PortalId] != null) { if (!String.IsNullOrEmpty(Request.Cookies["_SkinSrc" + PortalSettings.PortalId].Value)) { PortalSettings.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(Request.Cookies["_SkinSrc" + PortalSettings.PortalId].Value + ".ascx", PortalSettings); ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } } } // load assigned skin if (ctlSkin == null) { if (Globals.IsAdminSkin(PortalSettings.ActiveTab.IsAdminTab)) { SkinInfo objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalSettings.PortalId, SkinType.Admin); if (objSkin != null) { PortalSettings.ActiveTab.SkinSrc = objSkin.SkinSrc; } else { PortalSettings.ActiveTab.SkinSrc = ""; } } if (!String.IsNullOrEmpty(PortalSettings.ActiveTab.SkinSrc)) { PortalSettings.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(PortalSettings.ActiveTab.SkinSrc, PortalSettings); ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } } // error loading skin - load default if (ctlSkin == null) { // could not load skin control - load default skin if (Globals.IsAdminSkin(PortalSettings.ActiveTab.IsAdminTab)) { PortalSettings.ActiveTab.SkinSrc = Globals.HostPath + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultAdminSkin; } else { PortalSettings.ActiveTab.SkinSrc = Globals.HostPath + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultSkin; } ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } // set skin path PortalSettings.ActiveTab.SkinPath = SkinController.FormatSkinPath(PortalSettings.ActiveTab.SkinSrc); // set skin id to an explicit short name to reduce page payload and make it standards compliant ctlSkin.ID = "dnn"; // add CSS links ManageStyleSheets(false); // add skin to page SkinPlaceHolder.Controls.Add(ctlSkin); // add CSS links ManageStyleSheets(true); // ClientCallback Logic ClientAPI.HandleClientAPICallbackEvent(this); }
private void LoadSkins() { string strRoot; string strFolder; string[] arrFolders; string strName; string strSkin; cboSkins.Items.Clear(); cboSkins.Items.Add("<" + Localization.GetString("Not_Specified") + ">"); // load host skins if (chkHost.Checked) { strRoot = Request.MapPath(Globals.HostPath + SkinInfo.RootSkin); if (Directory.Exists(strRoot)) { arrFolders = Directory.GetDirectories(strRoot); foreach (string tempLoopVar_strFolder in arrFolders) { strFolder = tempLoopVar_strFolder; //strName = strFolder.Substring( strFolder.LastIndexOf( "\\" ) + 1 - 1 ); strName = strFolder.Substring(strFolder.LastIndexOf("\\") + 1 - 1); strSkin = strFolder.Replace(Globals.ApplicationMapPath, ""); if (strName != "_default") { cboSkins.Items.Add(new ListItem(strName, strSkin.ToLower())); } } } } // load portal skins if (chkSite.Checked) { strRoot = PortalSettings.HomeDirectoryMapPath + SkinInfo.RootSkin; if (Directory.Exists(strRoot)) { arrFolders = Directory.GetDirectories(strRoot); foreach (string tempLoopVar_strFolder in arrFolders) { strFolder = tempLoopVar_strFolder; strName = strFolder.Substring(strFolder.LastIndexOf("\\") + 1 - 1); strSkin = strFolder.Replace(Globals.ApplicationMapPath, ""); cboSkins.Items.Add(new ListItem(strName, strSkin.ToLower())); } } } if (!Page.IsPostBack) { string strURL; if (Request.QueryString["Name"] != null) { strURL = Request.MapPath(GetSkinPath(Convert.ToString(Request.QueryString["Type"]), SkinInfo.RootSkin, Convert.ToString(Request.QueryString["Name"]))); } else { //Get the current portal skin string skinSrc; SkinInfo objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalSettings.PortalId, SkinType.Portal); if (objSkin != null) { skinSrc = objSkin.SkinSrc; } else { skinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultSkin; } strURL = Request.MapPath(SkinController.FormatSkinPath(SkinController.FormatSkinSrc(skinSrc, PortalSettings))); strURL = strURL.Substring(0, strURL.LastIndexOf("\\")); } strSkin = strURL.Replace(Globals.ApplicationMapPath, ""); if (cboSkins.Items.FindByValue(strSkin.ToLower()) != null) { cboSkins.Items.FindByValue(strSkin.ToLower()).Selected = true; ShowSkins(); } } }
/// <summary> /// BindData fetches the data from the database and updates the controls /// </summary> /// <history> /// [cnurse] 9/27/2004 Updated to reflect design changes for Help, 508 support /// and localisation /// </history> private void BindData() { lblVersion.Text = Globals.glbAppVersion; switch (Convert.ToString(Globals.HostSettings["CheckUpgrade"])) { case "": chkUpgrade.Checked = true; break; case "Y": chkUpgrade.Checked = true; break; case "N": chkUpgrade.Checked = false; break; } if (chkUpgrade.Checked) { hypUpgrade.ImageUrl = string.Format("{0}/update.aspx?version={1}", Globals.glbUpgradeUrl, lblVersion.Text.Replace(".", "")); hypUpgrade.NavigateUrl = string.Format("{0}/redirect.aspx?version={1}", Globals.glbUpgradeUrl, lblVersion.Text.Replace(".", "")); } else { hypUpgrade.Visible = false; } lblDataProvider.Text = ProviderConfiguration.GetProviderConfiguration("data").DefaultProvider; lblFramework.Text = Environment.Version.ToString(); lblIdentity.Text = WindowsIdentity.GetCurrent().Name; lblHostName.Text = Dns.GetHostName(); PortalController objPortals = new PortalController(); cboHostPortal.DataSource = objPortals.GetPortals(); cboHostPortal.DataBind(); if (Convert.ToString(Globals.HostSettings["HostPortalId"]) != "") { if (cboHostPortal.Items.FindByValue(Convert.ToString(Globals.HostSettings["HostPortalId"])) != null) { cboHostPortal.Items.FindByValue(Convert.ToString(Globals.HostSettings["HostPortalId"])).Selected = true; } } txtHostTitle.Text = Convert.ToString(Globals.HostSettings["HostTitle"]); txtHostURL.Text = Convert.ToString(Globals.HostSettings["HostURL"]); txtHostEmail.Text = Convert.ToString(Globals.HostSettings["HostEmail"]); //SkinController objSkins = new SkinController(); SkinInfo objSkin; ctlHostSkin.Width = "252px"; ctlHostSkin.SkinRoot = SkinInfo.RootSkin; objSkin = SkinController.GetSkin(SkinInfo.RootSkin, Null.NullInteger, SkinType.Portal); if (objSkin != null) { if (Null.IsNull(objSkin.PortalId)) { ctlHostSkin.SkinSrc = objSkin.SkinSrc; } } ctlHostContainer.Width = "252px"; ctlHostContainer.SkinRoot = SkinInfo.RootContainer; objSkin = SkinController.GetSkin(SkinInfo.RootContainer, Null.NullInteger, SkinType.Portal); if (objSkin != null) { if (Null.IsNull(objSkin.PortalId)) { ctlHostContainer.SkinSrc = objSkin.SkinSrc; } } ctlAdminSkin.Width = "252px"; ctlAdminSkin.SkinRoot = SkinInfo.RootSkin; objSkin = SkinController.GetSkin(SkinInfo.RootSkin, Null.NullInteger, SkinType.Admin); if (objSkin != null) { if (Null.IsNull(objSkin.PortalId)) { ctlAdminSkin.SkinSrc = objSkin.SkinSrc; } } ctlAdminContainer.Width = "252px"; ctlAdminContainer.SkinRoot = SkinInfo.RootContainer; objSkin = SkinController.GetSkin(SkinInfo.RootContainer, Null.NullInteger, SkinType.Admin); if (objSkin != null) { if (Null.IsNull(objSkin.PortalId)) { ctlAdminContainer.SkinSrc = objSkin.SkinSrc; } } ModuleControlController objModuleControls = new ModuleControlController(); ArrayList arrModuleControls = objModuleControls.GetModuleControls(Null.NullInteger); int intModuleControl; for (intModuleControl = 0; intModuleControl <= arrModuleControls.Count - 1; intModuleControl++) { ModuleControlInfo objModuleControl = (ModuleControlInfo)arrModuleControls[intModuleControl]; if (objModuleControl.ControlType == SecurityAccessLevel.ControlPanel) { cboControlPanel.Items.Add(new ListItem(objModuleControl.ControlKey.Replace("CONTROLPANEL:", ""), objModuleControl.ControlSrc)); } } if (Convert.ToString(Globals.HostSettings["ControlPanel"]) != "") { if (cboControlPanel.Items.FindByValue(Convert.ToString(Globals.HostSettings["ControlPanel"])) != null) { cboControlPanel.Items.FindByValue(Convert.ToString(Globals.HostSettings["ControlPanel"])).Selected = true; } } else { if (cboControlPanel.Items.FindByValue(Globals.glbDefaultControlPanel) != null) { cboControlPanel.Items.FindByValue(Globals.glbDefaultControlPanel).Selected = true; } } ListController ctlList = new ListController(); ListEntryInfoCollection colProcessor = ctlList.GetListEntryInfoCollection("Processor", ""); cboProcessor.DataSource = colProcessor; cboProcessor.DataBind(); cboProcessor.Items.Insert(0, new ListItem("<" + Localization.GetString("None_Specified") + ">", "")); if (cboProcessor.Items.FindByText(Globals.HostSettings["PaymentProcessor"].ToString()) != null) { cboProcessor.Items.FindByText(Globals.HostSettings["PaymentProcessor"].ToString()).Selected = true; } txtUserId.Text = Convert.ToString(Globals.HostSettings["ProcessorUserId"]); txtPassword.Attributes.Add("value", Convert.ToString(Globals.HostSettings["ProcessorPassword"])); txtHostFee.Text = Convert.ToString(Globals.HostSettings["HostFee"]); ListEntryInfoCollection colCurrency = ctlList.GetListEntryInfoCollection("Currency", ""); cboHostCurrency.DataSource = colCurrency; cboHostCurrency.DataBind(); if (cboHostCurrency.Items.FindByValue(Convert.ToString(Globals.HostSettings["HostCurrency"])) != null) { cboHostCurrency.Items.FindByValue(Globals.HostSettings["HostCurrency"].ToString()).Selected = true; } else { cboHostCurrency.Items.FindByValue("USD").Selected = true; } if (cboSchedulerMode.Items.FindByValue(Convert.ToString(Globals.HostSettings["SchedulerMode"])) != null) { cboSchedulerMode.Items.FindByValue(Globals.HostSettings["SchedulerMode"].ToString()).Selected = true; } else { cboSchedulerMode.Items.FindByValue("1").Selected = true; } txtHostSpace.Text = Convert.ToString(Globals.HostSettings["HostSpace"]); txtPageQuota.Text = Convert.ToString(Globals.HostSettings["PageQuota"]); txtUserQuota.Text = Convert.ToString(Globals.HostSettings["UserQuota"]); if (Convert.ToString(Globals.HostSettings["SiteLogStorage"]) == "") { optSiteLogStorage.Items.FindByValue("D").Selected = true; } else { optSiteLogStorage.Items.FindByValue(Convert.ToString(Globals.HostSettings["SiteLogStorage"])).Selected = true; } if (Convert.ToString(Globals.HostSettings["SiteLogBuffer"]) == "") { txtSiteLogBuffer.Text = "1"; } else { txtSiteLogBuffer.Text = Convert.ToString(Globals.HostSettings["SiteLogBuffer"]); } txtSiteLogHistory.Text = Convert.ToString(Globals.HostSettings["SiteLogHistory"]); if (Convert.ToString(Globals.HostSettings["PageStatePersister"]) == "") { cboPageState.Items.FindByValue("P").Selected = true; } else { cboPageState.Items.FindByValue(Convert.ToString(Globals.HostSettings["PageStatePersister"])).Selected = true; } if (Convert.ToString(Globals.HostSettings["ModuleCaching"]) == "") { cboCacheMethod.Items.FindByValue("M").Selected = true; } else { cboCacheMethod.Items.FindByValue(Convert.ToString(Globals.HostSettings["ModuleCaching"])).Selected = true; } if (cboPerformance.Items.FindByValue(Convert.ToString(Globals.HostSettings["PerformanceSetting"])) != null) { cboPerformance.Items.FindByValue(Globals.HostSettings["PerformanceSetting"].ToString()).Selected = true; } else { cboPerformance.Items.FindByValue("3").Selected = true; } if (cboCacheability.Items.FindByValue(Convert.ToString(Globals.HostSettings["AuthenticatedCacheability"])) != null) { cboCacheability.Items.FindByValue(Globals.HostSettings["AuthenticatedCacheability"].ToString()).Selected = true; } else { cboCacheability.Items.FindByValue("4").Selected = true; } if (cboCompression.Items.FindByValue(Convert.ToString(Globals.HostSettings["HttpCompression"])) != null) { cboCompression.Items.FindByValue(Globals.HostSettings["HttpCompression"].ToString()).Selected = true; } else { cboCompression.Items.FindByValue("0").Selected = true; } if (cboLevel.Items.FindByValue(Convert.ToString(Globals.HostSettings["HttpCompressionLevel"])) != null) { cboLevel.Items.FindByValue(Globals.HostSettings["HttpCompressionLevel"].ToString()).Selected = true; } else { cboLevel.Items.FindByValue("0").Selected = true; } if (Convert.ToString(Globals.HostSettings["WhitespaceFilter"]) == "Y") { chkWhitespace.Checked = true; } else { chkWhitespace.Checked = false; } string filePath = Globals.ApplicationMapPath + "\\Compression.config"; if (File.Exists(filePath)) { FileStream fileReader = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); XPathDocument doc = new XPathDocument(fileReader); foreach (XPathNavigator nav in doc.CreateNavigator().Select("compression/excludedMimeTypes/mimeType")) { txtExcludedMimeTypes.Text += nav.Value.ToLower() + Environment.NewLine; } foreach (XPathNavigator nav in doc.CreateNavigator().Select("compression/excludedPaths/path")) { txtExcludedPaths.Text += nav.Value.ToLower() + Environment.NewLine; } txtWhitespaceFilter.Text = doc.CreateNavigator().SelectSingleNode("compression/whitespace").Value; } txtDemoPeriod.Text = Convert.ToString(Globals.HostSettings["DemoPeriod"]); if (Convert.ToString(Globals.HostSettings["DemoSignup"]) == "Y") { chkDemoSignup.Checked = true; } else { chkDemoSignup.Checked = false; } if (Globals.GetHashValue(Globals.HostSettings["Copyright"], "Y") == "Y") { chkCopyright.Checked = true; } else { chkCopyright.Checked = false; } if (Globals.HostSettings.ContainsKey("DisableUsersOnline")) { if (Globals.HostSettings["DisableUsersOnline"].ToString() == "Y") { chkUsersOnline.Checked = true; } else { chkUsersOnline.Checked = false; } } else { chkUsersOnline.Checked = false; } txtUsersOnlineTime.Text = Convert.ToString(Globals.HostSettings["UsersOnlineTime"]); txtAutoAccountUnlock.Text = Convert.ToString(Globals.HostSettings["AutoAccountUnlockDuration"]); txtProxyServer.Text = Convert.ToString(Globals.HostSettings["ProxyServer"]); txtProxyPort.Text = Convert.ToString(Globals.HostSettings["ProxyPort"]); txtProxyUsername.Text = Convert.ToString(Globals.HostSettings["ProxyUsername"]); txtProxyPassword.Attributes.Add("value", Convert.ToString(Globals.HostSettings["ProxyPassword"])); txtSMTPServer.Text = Convert.ToString(Globals.HostSettings["SMTPServer"]); if (Convert.ToString(Globals.HostSettings["SMTPAuthentication"]) != "") { optSMTPAuthentication.Items.FindByValue(Globals.HostSettings["SMTPAuthentication"].ToString()).Selected = true; } else { optSMTPAuthentication.Items.FindByValue("0").Selected = true; } if (Convert.ToString(Globals.HostSettings["SMTPEnableSSL"]) == "Y") { chkSMTPEnableSSL.Checked = true; } else { chkSMTPEnableSSL.Checked = false; } txtSMTPUsername.Text = Convert.ToString(Globals.HostSettings["SMTPUsername"]); txtSMTPPassword.Attributes.Add("value", Convert.ToString(Globals.HostSettings["SMTPPassword"])); txtFileExtensions.Text = Convert.ToString(Globals.HostSettings["FileExtensions"]); if (Globals.HostSettings.ContainsKey("UseCustomErrorMessages")) { if (Globals.HostSettings["UseCustomErrorMessages"].ToString() == "Y") { chkUseCustomErrorMessages.Checked = true; } else { chkUseCustomErrorMessages.Checked = false; } } else { chkUseCustomErrorMessages.Checked = false; } if (Globals.HostSettings.ContainsKey("UseFriendlyUrls")) { if (Globals.HostSettings["UseFriendlyUrls"].ToString() == "Y") { chkUseFriendlyUrls.Checked = true; } else { chkUseFriendlyUrls.Checked = false; } } else { chkUseFriendlyUrls.Checked = false; } rowFriendlyUrls.Visible = chkUseFriendlyUrls.Checked; if (Globals.HostSettings.ContainsKey("EventLogBuffer")) { if (Globals.HostSettings["EventLogBuffer"].ToString() == "Y") { chkLogBuffer.Checked = true; } else { chkLogBuffer.Checked = false; } } else { chkLogBuffer.Checked = false; } if (Convert.ToString(Globals.HostSettings["SkinUpload"]) != "") { optSkinUpload.Items.FindByValue(Globals.HostSettings["SkinUpload"].ToString()).Selected = true; } else { optSkinUpload.Items.FindByValue("G").Selected = true; } txtHelpURL.Text = Convert.ToString(Globals.HostSettings["HelpURL"]); if (Globals.HostSettings.ContainsKey("EnableModuleOnLineHelp")) { if (Globals.HostSettings["EnableModuleOnLineHelp"].ToString() == "Y") { chkEnableHelp.Checked = true; } else { chkEnableHelp.Checked = false; } } else { chkEnableHelp.Checked = true; } if (Globals.HostSettings.ContainsKey("EnableFileAutoSync")) { if (Globals.HostSettings["EnableFileAutoSync"].ToString() == "Y") { chkAutoSync.Checked = true; } else { chkAutoSync.Checked = false; } } else { chkAutoSync.Checked = false; } ViewState["SelectedSchedulerMode"] = cboSchedulerMode.SelectedItem.Value; ViewState["SelectedLogBufferEnabled"] = chkLogBuffer.Checked; ViewState["SelectedUsersOnlineEnabled"] = chkUsersOnline.Checked; // Get the name of the data provider ProviderConfiguration objProviderConfiguration = ProviderConfiguration.GetProviderConfiguration("data"); // get list of script files string strProviderPath = PortalSettings.GetProviderPath(); ArrayList arrScriptFiles = new ArrayList(); string[] arrFiles = Directory.GetFiles(strProviderPath, "*." + objProviderConfiguration.DefaultProvider); foreach (string strFile in arrFiles) { arrScriptFiles.Add(Path.GetFileNameWithoutExtension(strFile)); } arrScriptFiles.Sort(); cboUpgrade.DataSource = arrScriptFiles; cboUpgrade.DataBind(); ModuleInfo FileManagerModule = (new ModuleController()).GetModuleByDefinition(Null.NullInteger, "File Manager"); string[] additionalParameters = new string[3]; additionalParameters[0] = "mid=" + FileManagerModule.ModuleID; additionalParameters[1] = "ftype=" + UploadType.Skin; additionalParameters[2] = "rtab=" + this.TabId; lnkUploadSkin.NavigateUrl = Globals.NavigateURL(FileManagerModule.TabID, "Edit", additionalParameters); additionalParameters[1] = "ftype=" + UploadType.Container; lnkUploadContainer.NavigateUrl = Globals.NavigateURL(FileManagerModule.TabID, "Edit", additionalParameters); }
/// <summary> /// The GetPortalSettings method builds the site Settings /// </summary> /// <remarks> /// </remarks> /// <param name="TabId">The current tabs id</param> /// <param name="objPortalAliasInfo">The Portal Alias object</param> private void GetPortalSettings(int TabId, PortalAliasInfo objPortalAliasInfo) { PortalController objPortals = new PortalController(); PortalInfo objPortal = null; TabController objTabs = new TabController(); ModuleController objModules = new ModuleController(); ModuleInfo objModule = null; SkinInfo objSkin = null; PortalId = objPortalAliasInfo.PortalID; // get portal settings objPortal = objPortals.GetPortal(PortalId); if (objPortal != null) { this.PortalAlias = objPortalAliasInfo; this.PortalId = objPortal.PortalID; this.PortalName = objPortal.PortalName; this.LogoFile = objPortal.LogoFile; this.FooterText = objPortal.FooterText; this.ExpiryDate = objPortal.ExpiryDate; this.UserRegistration = objPortal.UserRegistration; this.BannerAdvertising = objPortal.BannerAdvertising; this.Currency = objPortal.Currency; this.AdministratorId = objPortal.AdministratorId; this.Email = objPortal.Email; this.HostFee = objPortal.HostFee; this.HostSpace = objPortal.HostSpace; this.PageQuota = objPortal.PageQuota; this.UserQuota = objPortal.UserQuota; this.AdministratorRoleId = objPortal.AdministratorRoleId; this.AdministratorRoleName = objPortal.AdministratorRoleName; this.RegisteredRoleId = objPortal.RegisteredRoleId; this.RegisteredRoleName = objPortal.RegisteredRoleName; this.Description = objPortal.Description; this.KeyWords = objPortal.KeyWords; this.BackgroundFile = objPortal.BackgroundFile; this.GUID = objPortal.GUID; this.SiteLogHistory = objPortal.SiteLogHistory; this.AdminTabId = objPortal.AdminTabId; this.SuperTabId = objPortal.SuperTabId; this.SplashTabId = objPortal.SplashTabId; this.HomeTabId = objPortal.HomeTabId; this.LoginTabId = objPortal.LoginTabId; this.UserTabId = objPortal.UserTabId; this.DefaultLanguage = objPortal.DefaultLanguage; this.TimeZoneOffset = objPortal.TimeZoneOffset; this.HomeDirectory = objPortal.HomeDirectory; this.Version = objPortal.Version; this.AdminSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Admin); this.PortalSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Portal); this.AdminContainer = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Admin); this.PortalContainer = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Portal); this.Pages = objPortal.Pages; this.Users = objPortal.Users; // set custom properties if (Null.IsNull(this.HostSpace)) { this.HostSpace = 0; } if (Null.IsNull(this.DefaultLanguage)) { this.DefaultLanguage = Localization.SystemLocale; } if (Null.IsNull(this.TimeZoneOffset)) { this.TimeZoneOffset = Localization.SystemTimeZoneOffset; } this.HomeDirectory = Globals.ApplicationPath + "/" + objPortal.HomeDirectory + "/"; // get application version Array arrVersion = Globals.glbAppVersion.Split(Convert.ToChar(".")); int intMajor = Convert.ToInt32(arrVersion.GetValue((0))); int intMinor = Convert.ToInt32(arrVersion.GetValue((1))); int intBuild = Convert.ToInt32(arrVersion.GetValue((2))); this.Version = string.Format("{0}.{1}.{2}", intMajor, intMinor, intBuild); } //Add each portal Tab to DekstopTabs TabInfo objPortalTab = null; foreach (KeyValuePair <int, TabInfo> tabPair in objTabs.GetTabsByPortal(this.PortalId)) { // clone the tab object ( to avoid creating an object reference to the data cache ) objPortalTab = tabPair.Value.Clone(); // set custom properties if (objPortalTab.TabOrder == 0) { objPortalTab.TabOrder = 999; } if (Null.IsNull(objPortalTab.StartDate)) { objPortalTab.StartDate = DateTime.MinValue; } if (Null.IsNull(objPortalTab.EndDate)) { objPortalTab.EndDate = DateTime.MaxValue; } objPortalTab.IsSuperTab = false; this.DesktopTabs.Add(objPortalTab); } //Add each host Tab to DesktopTabs TabInfo objHostTab = null; foreach (KeyValuePair <int, TabInfo> tabPair in objTabs.GetTabsByPortal(Null.NullInteger)) { // clone the tab object ( to avoid creating an object reference to the data cache ) objHostTab = tabPair.Value.Clone(); objHostTab.PortalID = this.PortalId; objHostTab.StartDate = DateTime.MinValue; objHostTab.EndDate = DateTime.MaxValue; objHostTab.IsSuperTab = true; this.DesktopTabs.Add(objHostTab); } //At this point the DesktopTabs Collection contains all the Tabs for the current portal //verify tab for portal. This assigns the Active Tab based on the Tab Id/PortalId if (VerifyPortalTab(PortalId, TabId)) { if (this.ActiveTab != null) { // skin if (this.ActiveTab.SkinSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { objSkin = this.AdminSkin; } else { objSkin = this.PortalSkin; } if (objSkin != null) { this.ActiveTab.SkinSrc = objSkin.SkinSrc; } } if (this.ActiveTab.SkinSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { this.ActiveTab.SkinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultAdminSkin; } else { this.ActiveTab.SkinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultSkin; } } this.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(this.ActiveTab.SkinSrc, this); this.ActiveTab.SkinPath = SkinController.FormatSkinPath(this.ActiveTab.SkinSrc); // container if (this.ActiveTab.ContainerSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { objSkin = this.AdminContainer; } else { objSkin = this.PortalContainer; } if (objSkin != null) { this.ActiveTab.ContainerSrc = objSkin.SkinSrc; } } if (this.ActiveTab.ContainerSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { this.ActiveTab.ContainerSrc = "[G]" + SkinInfo.RootContainer + Globals.glbDefaultContainerFolder + Globals.glbDefaultAdminContainer; } else { this.ActiveTab.ContainerSrc = "[G]" + SkinInfo.RootContainer + Globals.glbDefaultContainerFolder + Globals.glbDefaultContainer; } } this.ActiveTab.ContainerSrc = SkinController.FormatSkinSrc(this.ActiveTab.ContainerSrc, this); this.ActiveTab.ContainerPath = SkinController.FormatSkinPath(this.ActiveTab.ContainerSrc); // initialize collections this.ActiveTab.BreadCrumbs = new ArrayList(); this.ActiveTab.Panes = new ArrayList(); this.ActiveTab.Modules = new ArrayList(); // get breadcrumbs for current tab GetBreadCrumbsRecursively(this.ActiveTab.BreadCrumbs, this.ActiveTab.TabID); } } Hashtable objPaneModules = new Hashtable(); // get current tab modules foreach (KeyValuePair <int, ModuleInfo> kvp in objModules.GetTabModules(this.ActiveTab.TabID)) { objModule = kvp.Value; // clone the module object ( to avoid creating an object reference to the data cache ) ModuleInfo cloneModule = objModule.Clone(); // set custom properties if (Null.IsNull(cloneModule.StartDate)) { cloneModule.StartDate = DateTime.MinValue; } if (Null.IsNull(cloneModule.EndDate)) { cloneModule.EndDate = DateTime.MaxValue; } // container if (cloneModule.ContainerSrc == "") { cloneModule.ContainerSrc = this.ActiveTab.ContainerSrc; } cloneModule.ContainerSrc = SkinController.FormatSkinSrc(cloneModule.ContainerSrc, this); cloneModule.ContainerPath = SkinController.FormatSkinPath(cloneModule.ContainerSrc); // process tab panes if (objPaneModules.ContainsKey(cloneModule.PaneName) == false) { objPaneModules.Add(cloneModule.PaneName, 0); } cloneModule.PaneModuleCount = 0; if (!cloneModule.IsDeleted) { objPaneModules[cloneModule.PaneName] = Convert.ToInt32(objPaneModules[cloneModule.PaneName]) + 1; cloneModule.PaneModuleIndex = Convert.ToInt32(objPaneModules[cloneModule.PaneName]) - 1; } this.ActiveTab.Modules.Add(cloneModule); } // set pane module count foreach (ModuleInfo objModuleWithinLoop in this.ActiveTab.Modules) { objModule = objModuleWithinLoop; objModuleWithinLoop.PaneModuleCount = Convert.ToInt32(objPaneModules[objModuleWithinLoop.PaneName]); } }
/// <summary> /// Page_Load runs when the control is loaded /// </summary> /// <history> /// [cnurse] 9/8/2004 Updated to reflect design changes for Help, 508 support /// and localisation /// </history> protected void Page_Load(Object sender, EventArgs e) { try { if ((Request.QueryString["pid"] != null) && (PortalSettings.ActiveTab.ParentId == PortalSettings.SuperTabId || UserInfo.IsSuperUser)) { intPortalId = int.Parse(Request.QueryString["pid"]); ctlLogo.ShowUpLoad = false; ctlBackground.ShowUpLoad = false; } else { intPortalId = PortalId; ctlLogo.ShowUpLoad = true; ctlBackground.ShowUpLoad = true; } //this needs to execute always to the client script code is registred in InvokePopupCal cmdExpiryCalendar.NavigateUrl = Calendar.InvokePopupCal(txtExpiryDate); ClientAPI.AddButtonConfirm(cmdRestore, Localization.GetString("RestoreCCSMessage", LocalResourceFile)); // If this is the first visit to the page, populate the site data if (Page.IsPostBack == false) { ClientAPI.AddButtonConfirm(cmdDelete, Localization.GetString("DeleteMessage", LocalResourceFile)); PortalController objPortalController = new PortalController(); ListController ctlList = new ListController(); ListEntryInfoCollection colProcessor = ctlList.GetListEntryInfoCollection("Processor"); cboProcessor.DataSource = colProcessor; cboProcessor.DataBind(); cboProcessor.Items.Insert(0, new ListItem("<" + Localization.GetString("None_Specified") + ">", "")); PortalInfo objPortal = objPortalController.GetPortal(intPortalId); txtPortalName.Text = objPortal.PortalName; ctlLogo.Url = objPortal.LogoFile; ctlLogo.FileFilter = Globals.glbImageFileTypes; txtDescription.Text = objPortal.Description; txtKeyWords.Text = objPortal.KeyWords; ctlBackground.Url = objPortal.BackgroundFile; ctlBackground.FileFilter = Globals.glbImageFileTypes; txtFooterText.Text = objPortal.FooterText; optUserRegistration.SelectedIndex = objPortal.UserRegistration; optBannerAdvertising.SelectedIndex = objPortal.BannerAdvertising; cboSplashTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false); cboSplashTabId.DataBind(); if (cboSplashTabId.Items.FindByValue(objPortal.SplashTabId.ToString()) != null) { cboSplashTabId.Items.FindByValue(objPortal.SplashTabId.ToString()).Selected = true; } cboHomeTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false); cboHomeTabId.DataBind(); if (cboHomeTabId.Items.FindByValue(objPortal.HomeTabId.ToString()) != null) { cboHomeTabId.Items.FindByValue(objPortal.HomeTabId.ToString()).Selected = true; } cboLoginTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false); cboLoginTabId.DataBind(); if (cboLoginTabId.Items.FindByValue(objPortal.LoginTabId.ToString()) != null) { cboLoginTabId.Items.FindByValue(objPortal.LoginTabId.ToString()).Selected = true; } cboUserTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false); cboUserTabId.DataBind(); if (cboUserTabId.Items.FindByValue(objPortal.UserTabId.ToString()) != null) { cboUserTabId.Items.FindByValue(objPortal.UserTabId.ToString()).Selected = true; } ListEntryInfoCollection colList = ctlList.GetListEntryInfoCollection("Currency"); cboCurrency.DataSource = colList; cboCurrency.DataBind(); if (Null.IsNull(objPortal.Currency) || cboCurrency.Items.FindByValue(objPortal.Currency) == null) { cboCurrency.Items.FindByValue("USD").Selected = true; } else { cboCurrency.Items.FindByValue(objPortal.Currency).Selected = true; } RoleController objRoleController = new RoleController(); ArrayList Arr = objRoleController.GetUserRolesByRoleName(intPortalId, objPortal.AdministratorRoleName); int i; for (i = 0; i <= Arr.Count - 1; i++) { UserRoleInfo objUser = (UserRoleInfo)Arr[i]; cboAdministratorId.Items.Add(new ListItem(objUser.FullName, objUser.UserID.ToString())); } if (cboAdministratorId.Items.FindByValue(objPortal.AdministratorId.ToString()) != null) { cboAdministratorId.Items.FindByValue(objPortal.AdministratorId.ToString()).Selected = true; } if (!Null.IsNull(objPortal.ExpiryDate)) { txtExpiryDate.Text = objPortal.ExpiryDate.ToShortDateString(); } txtHostFee.Text = objPortal.HostFee.ToString(); txtHostSpace.Text = objPortal.HostSpace.ToString(); txtPageQuota.Text = objPortal.PageQuota.ToString(); txtUserQuota.Text = objPortal.UserQuota.ToString(); if (objPortal.SiteLogHistory != 0) { txtSiteLogHistory.Text = objPortal.SiteLogHistory.ToString(); } DesktopModuleController objDesktopModules = new DesktopModuleController(); ArrayList arrDesktopModules = objDesktopModules.GetDesktopModules(); ArrayList arrPremiumModules = new ArrayList(); foreach (DesktopModuleInfo objDesktopModule in arrDesktopModules) { if (objDesktopModule.IsPremium) { arrPremiumModules.Add(objDesktopModule); } } ArrayList arrPortalDesktopModules = objDesktopModules.GetPortalDesktopModules(intPortalId, Null.NullInteger); foreach (PortalDesktopModuleInfo objPortalDesktopModule in arrPortalDesktopModules) { foreach (DesktopModuleInfo objDesktopModule in arrPremiumModules) { if (objDesktopModule.DesktopModuleID == objPortalDesktopModule.DesktopModuleID) { arrPremiumModules.Remove(objDesktopModule); break; } } } ctlDesktopModules.Available = arrPremiumModules; ctlDesktopModules.Assigned = arrPortalDesktopModules; if (!String.IsNullOrEmpty(objPortal.PaymentProcessor)) { if (cboProcessor.Items.FindByText(objPortal.PaymentProcessor) != null) { cboProcessor.Items.FindByText(objPortal.PaymentProcessor).Selected = true; } else // default { if (cboProcessor.Items.FindByText("PayPal") != null) { cboProcessor.Items.FindByText("PayPal").Selected = true; } } } else { cboProcessor.Items.FindByValue("").Selected = true; } txtUserId.Text = objPortal.ProcessorUserId; txtPassword.Attributes.Add("value", objPortal.ProcessorPassword); txtHomeDirectory.Text = objPortal.HomeDirectory; //Populate the default language combobox Localization.LoadCultureDropDownList(cboDefaultLanguage, CultureDropDownTypes.NativeName, objPortal.DefaultLanguage); //Populate the timezone combobox (look up timezone translations based on currently set culture) Localization.LoadTimeZoneDropDownList(cboTimeZone, ((PageBase)Page).PageCulture.Name, Convert.ToString(objPortal.TimeZoneOffset)); SkinInfo objSkin; ctlPortalSkin.Width = "275px"; ctlPortalSkin.SkinRoot = SkinInfo.RootSkin; objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Portal); if (objSkin != null) { if (objSkin.PortalId == PortalId) { ctlPortalSkin.SkinSrc = objSkin.SkinSrc; } } ctlPortalContainer.Width = "275px"; ctlPortalContainer.SkinRoot = SkinInfo.RootContainer; objSkin = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Portal); if (objSkin != null) { if (objSkin.PortalId == PortalId) { ctlPortalContainer.SkinSrc = objSkin.SkinSrc; } } ctlAdminSkin.Width = "275px"; ctlAdminSkin.SkinRoot = SkinInfo.RootSkin; objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Admin); if (objSkin != null) { if (objSkin.PortalId == PortalId) { ctlAdminSkin.SkinSrc = objSkin.SkinSrc; } } ctlAdminContainer.Width = "275px"; ctlAdminContainer.SkinRoot = SkinInfo.RootContainer; objSkin = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Admin); if (objSkin != null) { if (objSkin.PortalId == PortalId) { ctlAdminContainer.SkinSrc = objSkin.SkinSrc; } } LoadStyleSheet(); if (Convert.ToString(PortalSettings.HostSettings["SkinUpload"]) == "G" && !UserInfo.IsSuperUser) { lnkUploadSkin.Visible = false; lnkUploadContainer.Visible = false; } else { ModuleInfo FileManagerModule = (new ModuleController()).GetModuleByDefinition(intPortalId, "File Manager"); string[] parameters = new string[3]; parameters[0] = "mid=" + FileManagerModule.ModuleID; parameters[1] = "ftype=" + UploadType.Skin; parameters[2] = "rtab=" + TabId; lnkUploadSkin.NavigateUrl = Globals.NavigateURL(FileManagerModule.TabID, "Edit", parameters); parameters[1] = "ftype=" + UploadType.Container; lnkUploadContainer.NavigateUrl = Globals.NavigateURL(FileManagerModule.TabID, "Edit", parameters); } if (Request.UrlReferrer != null) { if (Request.UrlReferrer.AbsoluteUri == Request.Url.AbsoluteUri) { ViewState["UrlReferrer"] = ""; } else { ViewState["UrlReferrer"] = Convert.ToString(Request.UrlReferrer); } } else { ViewState["UrlReferrer"] = ""; } } if (UserInfo.IsSuperUser) { dshHost.Visible = true; tblHost.Visible = true; cmdDelete.Visible = true; if (Convert.ToString(ViewState["UrlReferrer"]) == "") { cmdCancel.Visible = false; } else { cmdCancel.Visible = true; } } else { dshHost.Visible = false; tblHost.Visible = false; cmdDelete.Visible = false; cmdCancel.Visible = false; } } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }