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 @@
+