diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer20.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer20.cs index c8df0677..3f238133 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer20.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer20.cs @@ -31,7 +31,7 @@ namespace WebsitePanel.Setup { return UpdateBase(obj, minimalInstallerVersion: "2.0.0", - versionToUpgrade: "1.2.1", + versionToUpgrade: "1.2.1,2.0.0", updateSql: true); } } diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal20.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal20.cs index 2187ba95..ea1728ae 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal20.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal20.cs @@ -31,7 +31,7 @@ namespace WebsitePanel.Setup { return UpdateBase(obj, minimalInstallerVersion: "2.0.0", - versionsToUpgrade: "1.2.1", + versionsToUpgrade: "1.2.1,2.0.0", updateSql: false, versionSpecificAction: new InstallAction(ActionTypes.ConfigureSecureSessionModuleInWebConfig)); } diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server20.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server20.cs index 9f0a7988..105c8534 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server20.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server20.cs @@ -30,7 +30,7 @@ namespace WebsitePanel.Setup { return Server.UpdateBase(obj, minimalInstallerVersion: "2.0.0", - versionToUpgrade: "1.2.1", + versionToUpgrade: "1.2.1,2.0.0", updateSql: false); } } diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs index 2542406b..bb0c5e24 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs @@ -325,12 +325,16 @@ namespace WebsitePanel.Setup if (webServer != null) { - var modules = doc.CreateElement(iis6 ? "httpModules" : "modules"); - webServer.AppendChild(modules); - var sessionModule = doc.CreateElement("add"); - sessionModule.SetAttribute("name", "SecureSession"); - sessionModule.SetAttribute("type", "WebsitePanel.WebPortal.SecureSessionModule"); - modules.AppendChild(sessionModule); + string modulesNodeName = iis6 ? "httpModules" : "modules"; + if (webServer.SelectSingleNode(modulesNodeName + "/add[@name='SecureSession']") == null) + { + var modules = doc.CreateElement(modulesNodeName); + webServer.AppendChild(modules); + var sessionModule = doc.CreateElement("add"); + sessionModule.SetAttribute("name", "SecureSession"); + sessionModule.SetAttribute("type", "WebsitePanel.WebPortal.SecureSessionModule"); + modules.AppendChild(sessionModule); + } } // update /system.web/httpRuntime element @@ -343,7 +347,7 @@ namespace WebsitePanel.Setup // // var appSettings = doc.SelectSingleNode("configuration/appSettings"); - if (appSettings != null) + if (appSettings != null && appSettings.SelectSingleNode("add[@key='SessionValidationKey']") == null) { var sessionKey = doc.CreateElement("add"); sessionKey.SetAttribute("key", "SessionValidationKey"); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs index 8cb32b80..4cde88c0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs @@ -133,6 +133,18 @@ namespace WebsitePanel.EnterpriseServer if(ip != null) site.SiteIPAddress = ip.ExternalIP; + // check if site has dedicated IP assigned + var siteIpAddresses = ServerController.GetItemIPAddresses(siteItemId, IPAddressPool.None); + foreach (var siteIp in siteIpAddresses) + { + var packageIpAddress = ServerController.GetPackageIPAddress(siteIp.AddressID); + if (packageIpAddress != null && packageIpAddress.ExternalIP == site.SiteIPAddress) + { + site.IsDedicatedIP = true; + break; + } + } + // truncate home folder site.ContentPath = FilesController.GetVirtualPackagePath(siteItem.PackageId, site.ContentPath); @@ -654,8 +666,6 @@ namespace WebsitePanel.EnterpriseServer { TaskManager.CompleteTask(); } - - return 0; } public static int SwitchWebSiteToSharedIP(int siteItemId) @@ -717,9 +727,6 @@ namespace WebsitePanel.EnterpriseServer { TaskManager.CompleteTask(); } - - return 0; - } private static void FillWebServerBindings(List bindings, List dnsRecords, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs index e80b2f1a..f55588ea 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs @@ -47,6 +47,7 @@ namespace WebsitePanel.Providers.Web private string siteId; private string siteIPAddress; private int siteIPAddressId; + private bool isDedicatedIP; private string dataPath; private ServerBinding[] bindings; private bool frontPageAvailable; @@ -85,6 +86,12 @@ namespace WebsitePanel.Providers.Web set { siteIPAddressId = value; } } + public bool IsDedicatedIP + { + get { return isDedicatedIP; } + set { isDedicatedIP = value; } + } + /// /// Gets or sets logs path for the web site /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx index b95fece1..e4cf120b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx @@ -41,7 +41,7 @@ - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs index f669dfe6..8c722720 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs @@ -43,6 +43,13 @@ namespace WebsitePanel.Portal if (PortalUtils.GetHideDemoCheckbox()) rowDemo.Visible = false; } + + if (PanelSecurity.LoggedUser.Role == UserRole.User) + { + txtSubscriberNumber.ReadOnly = true; + } + + } private void BindUser() diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs index af5f5e12..410a4f54 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs @@ -176,15 +176,13 @@ namespace WebsitePanel.Portal ddlIpAddresses.Items.Add(new ListItem(fullIP, ip.PackageAddressID.ToString())); } - bool isDedicatedIP = false; - if (!String.IsNullOrEmpty(site.SiteIPAddress)) + if (site.IsDedicatedIP) { litIPAddress.Text = site.SiteIPAddress; - isDedicatedIP = true; } - dedicatedIP.Visible = isDedicatedIP; - sharedIP.Visible = !isDedicatedIP; + dedicatedIP.Visible = site.IsDedicatedIP; + sharedIP.Visible = !site.IsDedicatedIP; cmdSwitchToDedicatedIP.Visible = (ddlIpAddresses.Items.Count > 0); diff --git a/WebsitePanel/build.xml b/WebsitePanel/build.xml index b7232d9a..9501aa64 100644 --- a/WebsitePanel/build.xml +++ b/WebsitePanel/build.xml @@ -571,6 +571,7 @@ +