commit merge

This commit is contained in:
robvde 2013-01-09 08:14:36 +04:00
commit 71600a0be1
24 changed files with 278 additions and 54 deletions

View file

@ -26,7 +26,7 @@ namespace WebsitePanel.Installer.Core.Properties {
[global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)] [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
[global::System.Configuration.DefaultSettingValueAttribute("http://www.websitepanel.net/Services/InstallerService.asmx")] [global::System.Configuration.DefaultSettingValueAttribute("http://www.websitepanel.net/Services/InstallerService-2.0.asmx")]
public string WebsitePanel_Installer_Core_InstallerService_InstallerService { public string WebsitePanel_Installer_Core_InstallerService_InstallerService {
get { get {
return ((string)(this["WebsitePanel_Installer_Core_InstallerService_InstallerService"])); return ((string)(this["WebsitePanel_Installer_Core_InstallerService_InstallerService"]));

View file

@ -3,7 +3,7 @@
<Profiles /> <Profiles />
<Settings> <Settings>
<Setting Name="WebsitePanel_Installer_Core_InstallerService_InstallerService" Type="(Web Service URL)" Scope="Application"> <Setting Name="WebsitePanel_Installer_Core_InstallerService_InstallerService" Type="(Web Service URL)" Scope="Application">
<Value Profile="(Default)">http://www.websitepanel.net/Services/InstallerService.asmx</Value> <Value Profile="(Default)">http://www.websitepanel.net/Services/InstallerService-2.0.asmx</Value>
</Setting> </Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

View file

@ -48,7 +48,7 @@ namespace WebsitePanel.Installer.Core
} }
else else
{ {
webService.Url = "http://www.websitepanel.net/Services/InstallerService.asmx"; webService.Url = "http://www.websitepanel.net/Services/InstallerService-2.0.asmx";
} }
// check if we need to add a proxy to access Internet // check if we need to add a proxy to access Internet

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/"> <discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
<contractRef ref="http://www.websitepanel.net/Services/InstallerService.asmx?wsdl" docRef="http://www.websitepanel.net/Services/InstallerService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" /> <contractRef ref="http://www.websitepanel.net/Services/InstallerService-2.0.asmx?wsdl" docRef="http://www.websitepanel.net/Services/InstallerService-2.0.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
<soap address="http://www.websitepanel.net/Services/InstallerService.asmx" xmlns:q1="http://websitepanel.net/services" binding="q1:InstallerServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" /> <soap address="http://www.websitepanel.net/Services/InstallerService-2.0.asmx" xmlns:q1="http://websitepanel.net/services" binding="q1:InstallerServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
<soap address="http://www.websitepanel.net/Services/InstallerService.asmx" xmlns:q2="http://websitepanel.net/services" binding="q2:InstallerServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" /> <soap address="http://www.websitepanel.net/Services/InstallerService-2.0.asmx" xmlns:q2="http://websitepanel.net/services" binding="q2:InstallerServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
</discovery> </discovery>

View file

@ -294,10 +294,10 @@
</wsdl:binding> </wsdl:binding>
<wsdl:service name="InstallerService"> <wsdl:service name="InstallerService">
<wsdl:port name="InstallerServiceSoap" binding="tns:InstallerServiceSoap"> <wsdl:port name="InstallerServiceSoap" binding="tns:InstallerServiceSoap">
<soap:address location="http://www.websitepanel.net/Services/InstallerService.asmx" /> <soap:address location="http://www.websitepanel.net/Services/InstallerService-2.0.asmx" />
</wsdl:port> </wsdl:port>
<wsdl:port name="InstallerServiceSoap12" binding="tns:InstallerServiceSoap12"> <wsdl:port name="InstallerServiceSoap12" binding="tns:InstallerServiceSoap12">
<soap12:address location="http://www.websitepanel.net/Services/InstallerService.asmx" /> <soap12:address location="http://www.websitepanel.net/Services/InstallerService-2.0.asmx" />
</wsdl:port> </wsdl:port>
</wsdl:service> </wsdl:service>
</wsdl:definitions> </wsdl:definitions>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results> <Results>
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://www.websitepanel.net/Services/InstallerService.asmx?wsdl" filename="InstallerService.wsdl" /> <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://www.websitepanel.net/Services/InstallerService-2.0.asmx?wsdl" filename="InstallerService.wsdl" />
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://www.websitepanel.net/Services/InstallerService.asmx?disco" filename="InstallerService.disco" /> <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://www.websitepanel.net/Services/InstallerService-2.0.asmx?disco" filename="InstallerService.disco" />
</Results> </Results>
</DiscoveryClientResultsFile> </DiscoveryClientResultsFile>

View file

@ -110,10 +110,10 @@
<WCFMetadata Include="Service References\" /> <WCFMetadata Include="Service References\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<WebReferenceUrl Include="http://www.websitepanel.net/Services/InstallerService.asmx"> <WebReferenceUrl Include="http://www.websitepanel.net/Services/InstallerService-2.0.asmx">
<UrlBehavior>Dynamic</UrlBehavior> <UrlBehavior>Dynamic</UrlBehavior>
<RelPath>Web References\InstallerService\</RelPath> <RelPath>Web References\InstallerService\</RelPath>
<UpdateFromURL>http://www.websitepanel.net/Services/InstallerService.asmx</UpdateFromURL> <UpdateFromURL>http://www.websitepanel.net/Services/InstallerService-2.0.asmx</UpdateFromURL>
<ServiceLocationURL> <ServiceLocationURL>
</ServiceLocationURL> </ServiceLocationURL>
<CachedDynamicPropName> <CachedDynamicPropName>

View file

@ -13,7 +13,7 @@
<WebsitePanel.Installer.Core.Properties.Settings> <WebsitePanel.Installer.Core.Properties.Settings>
<setting name="WebsitePanel_Installer_Core_InstallerService_InstallerService" <setting name="WebsitePanel_Installer_Core_InstallerService_InstallerService"
serializeAs="String"> serializeAs="String">
<value>http://www.websitepanel.net/Services/InstallerService.asmx</value> <value>http://www.websitepanel.net/Services/InstallerService-2.0.asmx</value>
</setting> </setting>
</WebsitePanel.Installer.Core.Properties.Settings> </WebsitePanel.Installer.Core.Properties.Settings>
</applicationSettings> </applicationSettings>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/"> <discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
<contractRef ref="http://localhost/WebsitePanelSite/Services/InstallerService.asmx?wsdl" docRef="http://localhost/WebsitePanelSite/Services/InstallerService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" /> <contractRef ref="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx?wsdl" docRef="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
<soap address="http://localhost/WebsitePanelSite/Services/InstallerService.asmx" xmlns:q1="http://websitepanel.net/services" binding="q1:InstallerServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" /> <soap address="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx" xmlns:q1="http://websitepanel.net/services" binding="q1:InstallerServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
<soap address="http://localhost/WebsitePanelSite/Services/InstallerService.asmx" xmlns:q2="http://websitepanel.net/services" binding="q2:InstallerServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" /> <soap address="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx" xmlns:q2="http://websitepanel.net/services" binding="q2:InstallerServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
</discovery> </discovery>

View file

@ -145,10 +145,10 @@
</wsdl:binding> </wsdl:binding>
<wsdl:service name="InstallerService"> <wsdl:service name="InstallerService">
<wsdl:port name="InstallerServiceSoap" binding="tns:InstallerServiceSoap"> <wsdl:port name="InstallerServiceSoap" binding="tns:InstallerServiceSoap">
<soap:address location="http://localhost/WebsitePanelSite/Services/InstallerService.asmx" /> <soap:address location="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx" />
</wsdl:port> </wsdl:port>
<wsdl:port name="InstallerServiceSoap12" binding="tns:InstallerServiceSoap12"> <wsdl:port name="InstallerServiceSoap12" binding="tns:InstallerServiceSoap12">
<soap12:address location="http://localhost/WebsitePanelSite/Services/InstallerService.asmx" /> <soap12:address location="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx" />
</wsdl:port> </wsdl:port>
</wsdl:service> </wsdl:service>
</wsdl:definitions> </wsdl:definitions>

View file

@ -40,7 +40,7 @@ namespace WebsitePanel.Updater.Services {
/// <remarks/> /// <remarks/>
public InstallerService() { public InstallerService() {
this.Url = "http://localhost/WebsitePanelSite/Services/InstallerService.asmx"; this.Url = "http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx";
if ((this.IsLocalFileSystemWebService(this.Url) == true)) { if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
this.UseDefaultCredentials = true; this.UseDefaultCredentials = true;
this.useDefaultCredentialsSetExplicitly = false; this.useDefaultCredentialsSetExplicitly = false;

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results> <Results>
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost/WebsitePanelSite/Services/InstallerService.asmx?disco" filename="InstallerService.disco" /> <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx?disco" filename="InstallerService.disco" />
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost/WebsitePanelSite/Services/InstallerService.asmx?wsdl" filename="InstallerService.wsdl" /> <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx?wsdl" filename="InstallerService.wsdl" />
</Results> </Results>
</DiscoveryClientResultsFile> </DiscoveryClientResultsFile>

View file

@ -107,10 +107,10 @@
<WebReferences Include="Web References\" /> <WebReferences Include="Web References\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<WebReferenceUrl Include="http://localhost/WebsitePanelSite/Services/InstallerService.asmx"> <WebReferenceUrl Include="http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx">
<UrlBehavior>Static</UrlBehavior> <UrlBehavior>Static</UrlBehavior>
<RelPath>Web References\Services\</RelPath> <RelPath>Web References\Services\</RelPath>
<UpdateFromURL>http://localhost/WebsitePanelSite/Services/InstallerService.asmx</UpdateFromURL> <UpdateFromURL>http://localhost/WebsitePanelSite/Services/InstallerService-2.0.asmx</UpdateFromURL>
<ServiceLocationURL> <ServiceLocationURL>
</ServiceLocationURL> </ServiceLocationURL>
<CachedDynamicPropName> <CachedDynamicPropName>

View file

@ -0,0 +1 @@
<%@ WebService Language="C#" CodeBehind="InstallerService-2.0.asmx.cs" Class="WebsitePanel.WebSite.Services.InstallerService_20" %>

View file

@ -0,0 +1,53 @@
/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
namespace WebsitePanel.WebSite.Services
{
/// <summary>
/// Summary description for InstallerService_Beta
/// </summary>
[WebService(Namespace = "http://websitepanel.net/services")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class InstallerService_20 : InstallerServiceBase
{
public InstallerService_20()
{
RELEASES_FEED_PATH = "~/Data/ProductReleasesFeed-2.0.xml";
}
}
}

View file

@ -0,0 +1 @@
<%@ WebService Language="C#" CodeBehind="InstallerService-2.1.asmx.cs" Class="WebsitePanel.WebSite.Services.InstallerService_21" %>

View file

@ -0,0 +1,53 @@
/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
namespace WebsitePanel.WebSite.Services
{
/// <summary>
/// Summary description for InstallerService_Beta
/// </summary>
[WebService(Namespace = "http://websitepanel.net/services")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class InstallerService_21 : InstallerServiceBase
{
public InstallerService_21()
{
RELEASES_FEED_PATH = "~/Data/ProductReleasesFeed-2.1.xml";
}
}
}

View file

@ -77,6 +77,8 @@
<Content Include="Data\ProductReleasesFeed.xml"> <Content Include="Data\ProductReleasesFeed.xml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Content> </Content>
<Content Include="Services\InstallerService-2.1.asmx" />
<Content Include="Services\InstallerService-2.0.asmx" />
<Content Include="Services\InstallerService-Staging.asmx" /> <Content Include="Services\InstallerService-Staging.asmx" />
<Content Include="Services\InstallerService-Beta.asmx" /> <Content Include="Services\InstallerService-Beta.asmx" />
<Content Include="Services\InstallerService.asmx" /> <Content Include="Services\InstallerService.asmx" />
@ -86,6 +88,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\InstallerService-2.1.asmx.cs">
<DependentUpon>InstallerService-2.1.asmx</DependentUpon>
</Compile>
<Compile Include="Services\InstallerService-2.0.asmx.cs">
<DependentUpon>InstallerService-2.0.asmx</DependentUpon>
</Compile>
<Compile Include="Services\InstallerService-Staging.asmx.cs"> <Compile Include="Services\InstallerService-Staging.asmx.cs">
<DependentUpon>InstallerService-Staging.asmx</DependentUpon> <DependentUpon>InstallerService-Staging.asmx</DependentUpon>
</Compile> </Compile>

View file

@ -678,6 +678,12 @@ namespace WebsitePanel.EnterpriseServer
TaskManager.StartTask(taskId, "USER", "CHANGE_STATUS", user.Username); TaskManager.StartTask(taskId, "USER", "CHANGE_STATUS", user.Username);
TaskManager.ItemId = user.UserId; TaskManager.ItemId = user.UserId;
// update user packages
List<PackageInfo> packages = new List<PackageInfo>();
// Add the users package(s)
packages.AddRange(PackageController.GetPackages(userId));
try try
{ {
@ -699,20 +705,24 @@ namespace WebsitePanel.EnterpriseServer
List<UserInfo> children = GetUsers(userId, true); List<UserInfo> children = GetUsers(userId, true);
foreach (UserInfo child in children) foreach (UserInfo child in children)
{ {
result = ChangeUserStatusInternal(child.UserId, status); // Add the child users packages
if (result < 0) packages.AddRange(PackageController.GetPackages(child.UserId));
return result;
// change child user peers
List<UserInfo> childPeers = GetUserPeers(child.UserId);
foreach (UserInfo peer in childPeers)
{
result = ChangeUserStatusInternal(peer.UserId, status);
if (result < 0)
return result;
}
// change child account
result = ChangeUserStatusInternal(child.UserId, status);
if (result < 0)
return result;
} }
// update user packages
List<PackageInfo> packages = new List<PackageInfo>();
// his packages
packages.AddRange(PackageController.GetMyPackages(userId));
// children packages
packages.AddRange(PackageController.GetPackages(userId));
PackageStatus packageStatus = PackageStatus.Active; PackageStatus packageStatus = PackageStatus.Active;
switch (status) switch (status)
{ {

View file

@ -157,7 +157,7 @@ namespace WebsitePanel.Portal.ProviderControls
downloadApePanel.Visible = false; downloadApePanel.Visible = false;
txtHeliconApeVersion.Text = sts.Version; txtHeliconApeVersion.Text = sts.Version;
lblHeliconRegistrationText.Text = sts.RegistrationInfo; lblHeliconRegistrationText.Text = sts.RegistrationInfo;
if (sts.IsEnabled) if (sts.IsEnabled)
{ {
chkHeliconApeGlobalRegistration.Checked = true; chkHeliconApeGlobalRegistration.Checked = true;
@ -171,7 +171,7 @@ namespace WebsitePanel.Portal.ProviderControls
// Build url manually, EditUrl throws exception: module is Null // Build url manually, EditUrl throws exception: module is Null
// pid=Servers&mid=137&ctl=edit_platforminstaller&ServerID=1&Product=HeliconApe // pid=Servers&mid=137&ctl=edit_platforminstaller&ServerID=1&Product=HeliconApe
List<string> qsParts= new List<string>(); List<string> qsParts = new List<string>();
qsParts.Add("pid=Servers"); qsParts.Add("pid=Servers");
qsParts.Add("ctl=edit_platforminstaller"); qsParts.Add("ctl=edit_platforminstaller");
@ -180,6 +180,7 @@ namespace WebsitePanel.Portal.ProviderControls
qsParts.Add("WPIProduct=HeliconApe"); qsParts.Add("WPIProduct=HeliconApe");
InstallHeliconApeLink.Attributes["href"] = "Default.aspx?" + String.Join("&", qsParts.ToArray()); InstallHeliconApeLink.Attributes["href"] = "Default.aspx?" + String.Join("&", qsParts.ToArray());
ViewState["HeliconApeInitiallyEnabled"] = null;
} }
// //
@ -273,25 +274,23 @@ namespace WebsitePanel.Portal.ProviderControls
ActiveDirectoryIntegration.SaveSettings(settings); ActiveDirectoryIntegration.SaveSettings(settings);
// Helicon Ape // Helicon Ape
bool registerHeliconApeGlobbally = chkHeliconApeGlobalRegistration.Checked; if (null != ViewState["HeliconApeInitiallyEnabled"])
bool bHeliconApeInitiallyEnabled = false;
if (ViewState["HeliconApeInitiallyEnabled"] != null)
bHeliconApeInitiallyEnabled = (bool)ViewState["HeliconApeInitiallyEnabled"];
if (registerHeliconApeGlobbally != bHeliconApeInitiallyEnabled)
{ {
if (registerHeliconApeGlobbally) bool registerHeliconApeGlobbally = chkHeliconApeGlobalRegistration.Checked;
if (registerHeliconApeGlobbally != (bool)ViewState["HeliconApeInitiallyEnabled"])
{ {
ES.Services.WebServers.EnableHeliconApeGlobally(int.Parse(Request.QueryString["ServiceID"])); if (registerHeliconApeGlobbally)
} {
else ES.Services.WebServers.EnableHeliconApeGlobally(int.Parse(Request.QueryString["ServiceID"]));
{ }
ES.Services.WebServers.DisableHeliconApeGlobally(int.Parse(Request.QueryString["ServiceID"])); else
{
ES.Services.WebServers.DisableHeliconApeGlobally(int.Parse(Request.QueryString["ServiceID"]));
}
} }
} }
if (WDeployEnabledCheckBox.Checked) if (WDeployEnabledCheckBox.Checked)

View file

@ -52,6 +52,10 @@
<asp:RegularExpressionValidator ID="regexpTextValue" runat="server" <asp:RegularExpressionValidator ID="regexpTextValue" runat="server"
ControlToValidate="textValue" Text="!" ValidationGroup="wag" ControlToValidate="textValue" Text="!" ValidationGroup="wag"
Display="Dynamic" SetFocusOnError="True"></asp:RegularExpressionValidator> Display="Dynamic" SetFocusOnError="True"></asp:RegularExpressionValidator>
<asp:CustomValidator runat="server" ID="MysqlUsernameLengthValidator"
ControlToValidate="textValue" OnServerValidate="mysqlUsernameLen_OnServerValidate"
Display="Dynamic" SetFocusOnError="True" ValidationGroup="wag" Enabled="False"
Text="Mysql username can not be longer than 16 characters"></asp:CustomValidator>
</div> </div>
</div> </div>

View file

@ -1,4 +1,32 @@
using System; // 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.
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Web; using System.Web;
using System.Web.UI; using System.Web.UI;
@ -213,6 +241,15 @@ namespace WebsitePanel.Portal
textValue.Text = DefaultValue; textValue.Text = DefaultValue;
valPrefix.Text = ValuePrefix; valPrefix.Text = ValuePrefix;
valSuffix.Text = ValueSuffix; valSuffix.Text = ValueSuffix;
if (
(WellKnownTags & DeploymentParameterWellKnownTag.MySql) == DeploymentParameterWellKnownTag.MySql
&&
(WellKnownTags & DeploymentParameterWellKnownTag.DBUserName) == DeploymentParameterWellKnownTag.DBUserName
)
{
MysqlUsernameLengthValidator.Enabled = true;
}
} }
@ -248,5 +285,20 @@ namespace WebsitePanel.Portal
} }
protected void mysqlUsernameLen_OnServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = true;
// get entered database name with prefixes / suffixes
string value = GetParameterValue();
// check length
if (!string.IsNullOrEmpty(value) && value.Length <= 16)
return;
// validation failed
args.IsValid = false;
}
} }
} }

View file

@ -1,4 +1,32 @@
//------------------------------------------------------------------------------ // 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> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// //
@ -165,6 +193,15 @@ namespace WebsitePanel.Portal {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.RegularExpressionValidator regexpTextValue; protected global::System.Web.UI.WebControls.RegularExpressionValidator regexpTextValue;
/// <summary>
/// MysqlUsernameLengthValidator 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.CustomValidator MysqlUsernameLengthValidator;
/// <summary> /// <summary>
/// BooleanControl control. /// BooleanControl control.
/// </summary> /// </summary>

View file

@ -334,7 +334,13 @@ namespace WebsitePanel.Portal
protected void databaseMode_SelectedIndexChanged(object sender, EventArgs e) protected void databaseMode_SelectedIndexChanged(object sender, EventArgs e)
{ {
BindParameters(); // load parameters
List<DeploymentParameter> parameters = GetApplicationParameters();
if (parameters == null)
return;
BindDBPolicies(parameters);
BindParameters(parameters);
} }
private void BindParameters() private void BindParameters()