Merge
This commit is contained in:
commit
dba235771e
9 changed files with 535 additions and 92 deletions
|
@ -1,59 +1,3 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
|
@ -81,7 +25,6 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
using WebsitePanel.Providers.Web;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
|
@ -124,6 +67,10 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
|
||||
private System.Threading.SendOrPostCallback DeleteWebSiteOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SwitchWebSiteToDedicatedIPOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SwitchWebSiteToSharedIPOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback DeleteVirtualDirectoryOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback ChangeSiteStateOperationCompleted;
|
||||
|
@ -306,6 +253,12 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
/// <remarks/>
|
||||
public event DeleteWebSiteCompletedEventHandler DeleteWebSiteCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SwitchWebSiteToDedicatedIPCompletedEventHandler SwitchWebSiteToDedicatedIPCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SwitchWebSiteToSharedIPCompletedEventHandler SwitchWebSiteToSharedIPCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event DeleteVirtualDirectoryCompletedEventHandler DeleteVirtualDirectoryCompleted;
|
||||
|
||||
|
@ -1252,6 +1205,91 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SwitchWebSiteToDedicatedIP", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int SwitchWebSiteToDedicatedIP(int siteItemId, int ipAddressId) {
|
||||
object[] results = this.Invoke("SwitchWebSiteToDedicatedIP", new object[] {
|
||||
siteItemId,
|
||||
ipAddressId});
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginSwitchWebSiteToDedicatedIP(int siteItemId, int ipAddressId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("SwitchWebSiteToDedicatedIP", new object[] {
|
||||
siteItemId,
|
||||
ipAddressId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int EndSwitchWebSiteToDedicatedIP(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SwitchWebSiteToDedicatedIPAsync(int siteItemId, int ipAddressId) {
|
||||
this.SwitchWebSiteToDedicatedIPAsync(siteItemId, ipAddressId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SwitchWebSiteToDedicatedIPAsync(int siteItemId, int ipAddressId, object userState) {
|
||||
if ((this.SwitchWebSiteToDedicatedIPOperationCompleted == null)) {
|
||||
this.SwitchWebSiteToDedicatedIPOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSwitchWebSiteToDedicatedIPOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("SwitchWebSiteToDedicatedIP", new object[] {
|
||||
siteItemId,
|
||||
ipAddressId}, this.SwitchWebSiteToDedicatedIPOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnSwitchWebSiteToDedicatedIPOperationCompleted(object arg) {
|
||||
if ((this.SwitchWebSiteToDedicatedIPCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.SwitchWebSiteToDedicatedIPCompleted(this, new SwitchWebSiteToDedicatedIPCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SwitchWebSiteToSharedIP", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int SwitchWebSiteToSharedIP(int siteItemId) {
|
||||
object[] results = this.Invoke("SwitchWebSiteToSharedIP", new object[] {
|
||||
siteItemId});
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginSwitchWebSiteToSharedIP(int siteItemId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("SwitchWebSiteToSharedIP", new object[] {
|
||||
siteItemId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int EndSwitchWebSiteToSharedIP(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SwitchWebSiteToSharedIPAsync(int siteItemId) {
|
||||
this.SwitchWebSiteToSharedIPAsync(siteItemId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void SwitchWebSiteToSharedIPAsync(int siteItemId, object userState) {
|
||||
if ((this.SwitchWebSiteToSharedIPOperationCompleted == null)) {
|
||||
this.SwitchWebSiteToSharedIPOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSwitchWebSiteToSharedIPOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("SwitchWebSiteToSharedIP", new object[] {
|
||||
siteItemId}, this.SwitchWebSiteToSharedIPOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnSwitchWebSiteToSharedIPOperationCompleted(object arg) {
|
||||
if ((this.SwitchWebSiteToSharedIPCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.SwitchWebSiteToSharedIPCompleted(this, new SwitchWebSiteToSharedIPCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteVirtualDirectory", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public int DeleteVirtualDirectory(int siteItemId, string vdirName) {
|
||||
|
@ -4422,6 +4460,58 @@ namespace WebsitePanel.EnterpriseServer {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SwitchWebSiteToDedicatedIPCompletedEventHandler(object sender, SwitchWebSiteToDedicatedIPCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class SwitchWebSiteToDedicatedIPCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal SwitchWebSiteToDedicatedIPCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void SwitchWebSiteToSharedIPCompletedEventHandler(object sender, SwitchWebSiteToSharedIPCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class SwitchWebSiteToSharedIPCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal SwitchWebSiteToSharedIPCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void DeleteVirtualDirectoryCompletedEventHandler(object sender, DeleteVirtualDirectoryCompletedEventArgs e);
|
||||
|
|
|
@ -610,6 +610,107 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
}
|
||||
|
||||
public static int SwitchWebSiteToDedicatedIP(int siteItemId, int ipAddressId)
|
||||
{
|
||||
// check account
|
||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||
if (accountCheck < 0) return accountCheck;
|
||||
|
||||
// load web site item
|
||||
WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId);
|
||||
if (siteItem == null)
|
||||
return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND;
|
||||
|
||||
// load assigned IP address
|
||||
IPAddressInfo ip = ServerController.GetIPAddress(ipAddressId);
|
||||
if (ip == null)
|
||||
return BusinessErrorCodes.ERROR_WEB_SITE_IP_ADDRESS_NOT_SPECIFIED;
|
||||
|
||||
string ipAddr = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP;
|
||||
|
||||
// place log record
|
||||
TaskManager.StartTask("WEB_SITE", "SWITCH_TO_DEDICATED_IP", siteItem.Name);
|
||||
TaskManager.ItemId = siteItemId;
|
||||
|
||||
try
|
||||
{
|
||||
// get web site pointers
|
||||
var sitePointers = GetWebSitePointers(siteItemId);
|
||||
|
||||
// get existing web site bindings
|
||||
WebServer web = new WebServer();
|
||||
ServiceProviderProxy.Init(web, siteItem.ServiceId);
|
||||
var bindings = web.GetSiteBindings(siteItem.SiteId);
|
||||
|
||||
// update site bindings
|
||||
web.UpdateSiteBindings(siteItem.SiteId, new ServerBinding[] { new ServerBinding(ipAddr, "80", "") });
|
||||
|
||||
// update site item
|
||||
siteItem.SiteIPAddressId = ipAddressId;
|
||||
PackageController.UpdatePackageItem(siteItem);
|
||||
|
||||
// associate IP with web site
|
||||
if (ipAddressId != 0)
|
||||
ServerController.AddItemIPAddress(siteItemId, ipAddressId);
|
||||
|
||||
// re-create pointers
|
||||
foreach (var pointer in sitePointers)
|
||||
DeleteWebSitePointer(siteItemId, pointer.DomainId, false);
|
||||
|
||||
foreach (var pointer in sitePointers)
|
||||
AddWebSitePointer(siteItemId, null, pointer.DomainId, false);
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw TaskManager.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TaskManager.CompleteTask();
|
||||
}
|
||||
}
|
||||
|
||||
public static int SwitchWebSiteToSharedIP(int siteItemId)
|
||||
{
|
||||
// check account
|
||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||
if (accountCheck < 0) return accountCheck;
|
||||
|
||||
// load web site item
|
||||
WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId);
|
||||
if (siteItem == null)
|
||||
return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND;
|
||||
|
||||
// place log record
|
||||
TaskManager.StartTask("WEB_SITE", "SWITCH_TO_SHARED_IP", siteItem.Name);
|
||||
TaskManager.ItemId = siteItemId;
|
||||
|
||||
try
|
||||
{
|
||||
// get web site pointers
|
||||
var sitePointers = GetWebSitePointers(siteItemId);
|
||||
|
||||
// get existing web site bindings
|
||||
WebServer web = new WebServer();
|
||||
ServiceProviderProxy.Init(web, siteItem.ServiceId);
|
||||
var bindings = web.GetSiteBindings(siteItem.SiteId);
|
||||
|
||||
// TODO
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw TaskManager.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TaskManager.CompleteTask();
|
||||
}
|
||||
}
|
||||
|
||||
private static void FillWebServerBindings(List<ServerBinding> bindings, List<GlobalDnsRecord> dnsRecords,
|
||||
string ipAddr, string hostName, string domainName)
|
||||
// TODO test if IPv6 works
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
</configSections>
|
||||
<!-- Connection strings -->
|
||||
<connectionStrings>
|
||||
<add name="EnterpriseServer" connectionString="server=HSTPROV01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=aj7ep6fyhmw3b5qeth7c;" providerName="System.Data.SqlClient" />
|
||||
<add name="EnterpriseServer" connectionString="Server=(local)\SQLExpress;Database=WebsitePanel;uid=WebsitePanel;pwd=Password12" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
<!-- Encryption util settings -->
|
||||
<add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" />
|
||||
<add key="WebsitePanel.CryptoKey" value="1234567890" />
|
||||
<!-- A1D4KDHUE83NKHddF -->
|
||||
<add key="WebsitePanel.EncryptionEnabled" value="true" />
|
||||
<!-- Web Applications -->
|
||||
|
|
|
@ -157,6 +157,18 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return WebServerController.DeleteWebSite(siteItemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SwitchWebSiteToDedicatedIP(int siteItemId, int ipAddressId)
|
||||
{
|
||||
return WebServerController.SwitchWebSiteToDedicatedIP(siteItemId, ipAddressId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SwitchWebSiteToSharedIP(int siteItemId)
|
||||
{
|
||||
return WebServerController.SwitchWebSiteToSharedIP(siteItemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteVirtualDirectory(int siteItemId, string vdirName)
|
||||
{
|
||||
|
|
|
@ -5125,9 +5125,6 @@
|
|||
<data name="ResourceGroup.Lync" xml:space="preserve">
|
||||
<value>Lync Server</value>
|
||||
</data>
|
||||
<data name="Success.UPDATE_LYNC_USER" xml:space="preserve">
|
||||
<value>General Lync User settings have been successfully updated.</value>
|
||||
</data>
|
||||
<data name="Warning.CREATE_LYNC_USER" xml:space="preserve">
|
||||
<value>Lync User has been successfully created but the following errors have been occured:</value>
|
||||
</data>
|
||||
|
@ -5191,14 +5188,12 @@
|
|||
<data name="Success.EXCHANGE_STAMPMAILBOXES" xml:space="preserve">
|
||||
<value>Succesfully stamp mailboxes</value>
|
||||
</data>
|
||||
|
||||
<data name="Error.EXCHANGE_UPDATEPLANS" xml:space="preserve">
|
||||
<value>Mailbox plan update failed</value>
|
||||
</data>
|
||||
<data name="Success.EXCHANGE_UPDATEPLANS" xml:space="preserve">
|
||||
<value>Mailbox plan updated</value>
|
||||
</data>
|
||||
|
||||
<data name="Error.LYNC_APPLYPLANTEMPLATE" xml:space="preserve">
|
||||
<value>Failed to apply plans template</value>
|
||||
</data>
|
||||
|
@ -5208,7 +5203,16 @@
|
|||
<data name="Success.REQUEST_COMPLETED_SUCCESFULLY" xml:space="preserve">
|
||||
<value>Request Completed Succesfully</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data name="Error.WEB_SWITCH_TO_DEDICATED_IP" xml:space="preserve">
|
||||
<value>Error updating web site to dedicated IP</value>
|
||||
</data>
|
||||
<data name="Error.WEB_SWITCH_TO_SHARED_IP" xml:space="preserve">
|
||||
<value>Error updating web site to shared IP</value>
|
||||
</data>
|
||||
<data name="Success.WEB_SWITCH_TO_DEDICATED_IP" xml:space="preserve">
|
||||
<value>Web site has been updated to dedicated IP</value>
|
||||
</data>
|
||||
<data name="Success.WEB_SWITCH_TO_SHARED_IP" xml:space="preserve">
|
||||
<value>Web site has been updated to shared IP</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAddFolder.Text" xml:space="preserve">
|
||||
<value>Add Folder</value>
|
||||
|
@ -243,7 +243,7 @@
|
|||
<data name="gvHeliconApeGroupsName.Header" xml:space="preserve">
|
||||
<value>.htaccess Groups</value>
|
||||
</data>
|
||||
<data name="gvMimeTypes.Empty" xml:space="preserve">
|
||||
<data name="gvMimeTypes.Empty" xml:space="preserve">
|
||||
<value>Custom MIME types are not defined</value>
|
||||
</data>
|
||||
<data name="gvMimeTypesExtension.Header" xml:space="preserve">
|
||||
|
@ -408,55 +408,82 @@ To connect to web site management service please use username and password provi
|
|||
<data name="Tab.SSL" xml:space="preserve">
|
||||
<value>SSL</value>
|
||||
</data>
|
||||
<data name="Tab.WebDeployPublishing" xml:space="preserve">
|
||||
<data name="Tab.WebDeployPublishing" xml:space="preserve">
|
||||
<value>Web Publishing</value>
|
||||
</data>
|
||||
<data name="WDeploySitePublishingDisabled.Text" xml:space="preserve">
|
||||
<data name="WDeploySitePublishingDisabled.Text" xml:space="preserve">
|
||||
<value>Web Deploy Publishing is Disabled.</value>
|
||||
</data>
|
||||
<data name="WDeploySitePublishingEnabled.Text" xml:space="preserve">
|
||||
<data name="WDeploySitePublishingEnabled.Text" xml:space="preserve">
|
||||
<value>Web Deploy Publishing is Enabled.</value>
|
||||
</data>
|
||||
<data name="WDeploySitePublishingEnablementHint.Text" xml:space="preserve">
|
||||
<data name="WDeploySitePublishingEnablementHint.Text" xml:space="preserve">
|
||||
<value>To enable Web Publishing for this web site specify account user name and password and then click "Enable" button.</value>
|
||||
</data>
|
||||
<data name="PubProfileMsSqlLocalize.Text" xml:space="preserve">
|
||||
<data name="PubProfileMsSqlLocalize.Text" xml:space="preserve">
|
||||
<value>Please choose a Microsoft SQL database:</value>
|
||||
</data>
|
||||
<data name="WDeployBuildPublishingProfileWizard.Text" xml:space="preserve">
|
||||
<data name="WDeployBuildPublishingProfileWizard.Text" xml:space="preserve">
|
||||
<value>Build Publising Profile Wizard</value>
|
||||
</data>
|
||||
<data name="WDeployBuildSitePublishingProfileHint.Text" xml:space="preserve">
|
||||
<data name="WDeployBuildSitePublishingProfileHint.Text" xml:space="preserve">
|
||||
<value>Please use the link below to build a publishing profile that makes it easy to configure publishing settings for your convenience.</value>
|
||||
</data>
|
||||
<data name="WDeployChangePublishingPasswButton.Text" xml:space="preserve">
|
||||
<data name="WDeployChangePublishingPasswButton.Text" xml:space="preserve">
|
||||
<value>Change Password</value>
|
||||
</data>
|
||||
<data name="WDeployDisablePublishingButton.Text" xml:space="preserve">
|
||||
<data name="WDeployDisablePublishingButton.Text" xml:space="preserve">
|
||||
<value>Disable</value>
|
||||
</data>
|
||||
<data name="WDeployEnabePublishingButton.Text" xml:space="preserve">
|
||||
<data name="WDeployEnabePublishingButton.Text" xml:space="preserve">
|
||||
<value>Enable</value>
|
||||
</data>
|
||||
<data name="WDeployPublishingAccountLocalize.Text" xml:space="preserve">
|
||||
<data name="WDeployPublishingAccountLocalize.Text" xml:space="preserve">
|
||||
<value>Username:</value>
|
||||
</data>
|
||||
<data name="WDeployPublishingConfirmPasswordLocalize.Text" xml:space="preserve">
|
||||
<data name="WDeployPublishingConfirmPasswordLocalize.Text" xml:space="preserve">
|
||||
<value>Confim password:</value>
|
||||
</data>
|
||||
<data name="WDeployPublishingPasswordLocalize.Text" xml:space="preserve">
|
||||
<data name="WDeployPublishingPasswordLocalize.Text" xml:space="preserve">
|
||||
<value>Password:</value>
|
||||
</data>
|
||||
<data name="WDeployPublishingProfileUsageNotes.Text" xml:space="preserve">
|
||||
<data name="WDeployPublishingProfileUsageNotes.Text" xml:space="preserve">
|
||||
<value>Now you can publish content to this site easily via either Web Matrix or Visual Studio .NET 2010. Please use the link below to download publishing profile that makes it easy to publish the content online for your convenience. You also have an option to re-build publishing profile if you decide to change or update your publishing settings.</value>
|
||||
</data>
|
||||
<data name="WebPublishing.ChooseDatabasePrompt" xml:space="preserve">
|
||||
<data name="WebPublishing.ChooseDatabasePrompt" xml:space="preserve">
|
||||
<value>Choose database...</value>
|
||||
</data>
|
||||
<data name="WebPublishing.ChooseDatabaseUserPrompt" xml:space="preserve">
|
||||
<data name="WebPublishing.ChooseDatabaseUserPrompt" xml:space="preserve">
|
||||
<value>Choose database user...</value>
|
||||
</data>
|
||||
<data name="WebPublishing.ChooseFtpAccountPrompt" xml:space="preserve">
|
||||
<data name="WebPublishing.ChooseFtpAccountPrompt" xml:space="preserve">
|
||||
<value>Choose FTP account...</value>
|
||||
</data>
|
||||
<data name="cmdApplyDedicatedIP.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Applying changes...');</value>
|
||||
</data>
|
||||
<data name="cmdApplyDedicatedIP.Text" xml:space="preserve">
|
||||
<value>Apply</value>
|
||||
</data>
|
||||
<data name="cmdCancelDedicatedIP.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="cmdSwitchToDedicatedIP.Text" xml:space="preserve">
|
||||
<value>Switch to dedicated IP</value>
|
||||
</data>
|
||||
<data name="cmdSwitchToSharedIP.OnClientClick" xml:space="preserve">
|
||||
<value>if(!confirm('Do you really want to switch this web site to shared IP?')) return false;ShowProgressDialog('Applying changes...');</value>
|
||||
</data>
|
||||
<data name="cmdSwitchToSharedIP.Text" xml:space="preserve">
|
||||
<value>Switch to shared IP</value>
|
||||
</data>
|
||||
<data name="locDedicatedIPAddress.Text" xml:space="preserve">
|
||||
<value>IP address:</value>
|
||||
</data>
|
||||
<data name="locSelectIPAddress.Text" xml:space="preserve">
|
||||
<value>Select IP address:</value>
|
||||
</data>
|
||||
<data name="locSharedIPAddress.Text" xml:space="preserve">
|
||||
<value>IP address: Shared</value>
|
||||
</data>
|
||||
</root>
|
|
@ -115,18 +115,38 @@
|
|||
BackgroundCssClass="modalBackground" DropShadow="false" CancelControlID="PubProfileWizardCancelButton" />
|
||||
<div class="FormBody">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" EnableViewState="false" />
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<table style="width:100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<table cellpadding="7" border="0">
|
||||
<tr>
|
||||
<td class="Big">
|
||||
<asp:HyperLink ID="lnkSiteName" runat="server" NavigateUrl="#" Target="_blank">domain.com</asp:HyperLink>
|
||||
<asp:Literal ID="litIPAddress" runat="server"></asp:Literal>
|
||||
</td>
|
||||
<td>
|
||||
<asp:Panel ID="sharedIP" runat="server">
|
||||
<asp:Localize ID="locSharedIPAddress" runat="server" meta:resourcekey="locSharedIPAddress" Text="IP address: Shared" />
|
||||
|
||||
<asp:LinkButton ID="cmdSwitchToDedicatedIP" meta:resourcekey="cmdSwitchToDedicatedIP" runat="server" Text="Switch to dedicated IP" OnClick="cmdSwitchToDedicatedIP_Click"></asp:LinkButton>
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="dedicatedIP" runat="server">
|
||||
<asp:Localize ID="locDedicatedIPAddress" runat="server" meta:resourcekey="locDedicatedIPAddress" Text="IP address:" />
|
||||
<asp:Literal ID="litIPAddress" runat="server"></asp:Literal>
|
||||
|
||||
<asp:LinkButton ID="cmdSwitchToSharedIP" meta:resourcekey="cmdSwitchToSharedIP" runat="server" Text="Switch to shared IP" OnClick="cmdSwitchToSharedIP_Click"></asp:LinkButton>
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="switchToDedicatedIP" runat="server" Visible="false">
|
||||
<asp:Localize ID="locSelectIPAddress" runat="server" meta:resourcekey="locSelectIPAddress" Text="Select IP address:" />
|
||||
<asp:dropdownlist id="ddlIpAddresses" Runat="server" CssClass="NormalTextBox"></asp:dropdownlist>
|
||||
|
||||
<asp:LinkButton ID="cmdApplyDedicatedIP" meta:resourcekey="cmdApplyDedicatedIP" runat="server" Text="Apply" OnClick="cmdApplyDedicatedIP_Click"></asp:LinkButton>
|
||||
|
||||
<asp:LinkButton ID="cmdCancelDedicatedIP" meta:resourcekey="cmdCancelDedicatedIP" runat="server" Text="Cancel" OnClick="cmdCancelDedicatedIP_Click"></asp:LinkButton>
|
||||
</asp:Panel>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<td colspan="2">
|
||||
<div class="FormButtonsBar">
|
||||
<asp:Button ID="btnAddPointer" runat="server" Text="Add Pointer" CssClass="Button2"
|
||||
meta:resourcekey="btnAddPointer" OnClick="btnAddPointer_Click" />
|
||||
|
|
|
@ -163,8 +163,29 @@ namespace WebsitePanel.Portal
|
|||
lnkSiteName.Text = site.Name;
|
||||
lnkSiteName.NavigateUrl = "http://" + site.Name;
|
||||
|
||||
if (!String.IsNullOrEmpty(site.SiteIPAddress))
|
||||
litIPAddress.Text = String.Format("({0})", site.SiteIPAddress);
|
||||
// bind unassigned IP addresses
|
||||
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(site.PackageId, IPAddressPool.WebSites);
|
||||
foreach (PackageIPAddress ip in ips)
|
||||
{
|
||||
string fullIP = ip.ExternalIP;
|
||||
if (ip.InternalIP != null &&
|
||||
ip.InternalIP != "" &&
|
||||
ip.InternalIP != ip.ExternalIP)
|
||||
fullIP += " (" + ip.InternalIP + ")";
|
||||
|
||||
ddlIpAddresses.Items.Add(new ListItem(fullIP, ip.PackageAddressID.ToString()));
|
||||
}
|
||||
|
||||
bool isDedicatedIP = false;
|
||||
if (!String.IsNullOrEmpty(site.SiteIPAddress))
|
||||
{
|
||||
litIPAddress.Text = site.SiteIPAddress;
|
||||
isDedicatedIP = true;
|
||||
}
|
||||
|
||||
dedicatedIP.Visible = isDedicatedIP;
|
||||
sharedIP.Visible = !isDedicatedIP;
|
||||
cmdSwitchToDedicatedIP.Visible = (ddlIpAddresses.Items.Count > 0);
|
||||
|
||||
|
||||
litFrontPageUnavailable.Visible = false;
|
||||
|
@ -981,5 +1002,74 @@ namespace WebsitePanel.Portal
|
|||
PortalUtils.SPACE_ID_PARAM + "=" + PanelSecurity.PackageId.ToString()));
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected void cmdSwitchToDedicatedIP_Click(object sender, EventArgs e)
|
||||
{
|
||||
sharedIP.Visible = false;
|
||||
switchToDedicatedIP.Visible = true;
|
||||
}
|
||||
|
||||
protected void cmdSwitchToSharedIP_Click(object sender, EventArgs e)
|
||||
{
|
||||
// call web service
|
||||
try
|
||||
{
|
||||
int result = ES.Services.WebServers.SwitchWebSiteToSharedIP(PanelRequest.ItemID);
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
|
||||
ShowSuccessMessage("WEB_SWITCH_TO_SHARED_IP");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("WEB_SWITCH_TO_SHARED_IP", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
// rebind
|
||||
BindWebSite();
|
||||
}
|
||||
|
||||
protected void cmdApplyDedicatedIP_Click(object sender, EventArgs e)
|
||||
{
|
||||
// call web service
|
||||
try
|
||||
{
|
||||
int addressId = Int32.Parse(ddlIpAddresses.SelectedValue);
|
||||
int result = ES.Services.WebServers.SwitchWebSiteToDedicatedIP(PanelRequest.ItemID, addressId);
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
|
||||
ShowSuccessMessage("WEB_SWITCH_TO_DEDICATED_IP");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("WEB_SWITCH_TO_DEDICATED_IP", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
// rebind
|
||||
HideDedicatedIPPanel();
|
||||
BindWebSite();
|
||||
}
|
||||
|
||||
protected void cmdCancelDedicatedIP_Click(object sender, EventArgs e)
|
||||
{
|
||||
HideDedicatedIPPanel();
|
||||
}
|
||||
|
||||
private void HideDedicatedIPPanel()
|
||||
{
|
||||
switchToDedicatedIP.Visible = false;
|
||||
sharedIP.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -192,6 +192,51 @@ namespace WebsitePanel.Portal {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HyperLink lnkSiteName;
|
||||
|
||||
/// <summary>
|
||||
/// sharedIP control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel sharedIP;
|
||||
|
||||
/// <summary>
|
||||
/// locSharedIPAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locSharedIPAddress;
|
||||
|
||||
/// <summary>
|
||||
/// cmdSwitchToDedicatedIP control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton cmdSwitchToDedicatedIP;
|
||||
|
||||
/// <summary>
|
||||
/// dedicatedIP control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel dedicatedIP;
|
||||
|
||||
/// <summary>
|
||||
/// locDedicatedIPAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locDedicatedIPAddress;
|
||||
|
||||
/// <summary>
|
||||
/// litIPAddress control.
|
||||
/// </summary>
|
||||
|
@ -201,6 +246,60 @@ namespace WebsitePanel.Portal {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litIPAddress;
|
||||
|
||||
/// <summary>
|
||||
/// cmdSwitchToSharedIP control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton cmdSwitchToSharedIP;
|
||||
|
||||
/// <summary>
|
||||
/// switchToDedicatedIP control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel switchToDedicatedIP;
|
||||
|
||||
/// <summary>
|
||||
/// locSelectIPAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locSelectIPAddress;
|
||||
|
||||
/// <summary>
|
||||
/// ddlIpAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlIpAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// cmdApplyDedicatedIP control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton cmdApplyDedicatedIP;
|
||||
|
||||
/// <summary>
|
||||
/// cmdCancelDedicatedIP control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton cmdCancelDedicatedIP;
|
||||
|
||||
/// <summary>
|
||||
/// btnAddPointer control.
|
||||
/// </summary>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue