This commit is contained in:
Virtuworks 2015-01-06 10:34:51 -05:00
commit 1d5840b85c
159 changed files with 34400 additions and 494 deletions

View file

@ -5985,6 +5985,44 @@ RETURN
GO
IF OBJECTPROPERTY(object_id('dbo.GetExchangeAccountByAccountNameWithoutItemId'), N'IsProcedure') = 1
DROP PROCEDURE [dbo].[GetExchangeAccountByAccountNameWithoutItemId]
GO
CREATE PROCEDURE [dbo].[GetExchangeAccountByAccountNameWithoutItemId]
(
@PrimaryEmailAddress nvarchar(300)
)
AS
SELECT
E.AccountID,
E.ItemID,
E.AccountType,
E.AccountName,
E.DisplayName,
E.PrimaryEmailAddress,
E.MailEnabledPublicFolder,
E.MailboxManagerActions,
E.SamAccountName,
E.AccountPassword,
E.MailboxPlanId,
P.MailboxPlan,
E.SubscriberNumber,
E.UserPrincipalName,
E.ArchivingMailboxPlanId,
AP.MailboxPlan as 'ArchivingMailboxPlan',
E.EnableArchiving
FROM
ExchangeAccounts AS E
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
WHERE
E.PrimaryEmailAddress = @PrimaryEmailAddress
RETURN
GO
-- wsp-10269: Changed php extension path in default properties for IIS70 and IIS80 provider
update ServiceDefaultProperties
set PropertyValue='%PROGRAMFILES(x86)%\PHP\php-cgi.exe'

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>

Binary file not shown.

View file

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
<!-- Enable the restore command to run before builds -->
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
<!-- Property that enables building a package from a project -->
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
<!-- Determines if package restore consent is required to restore packages -->
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
<!-- Download NuGet.exe if it does not already exist -->
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageSources)' == '' ">
<!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
<!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
<!--
<PackageSource Include="https://www.nuget.org/api/v2/" />
<PackageSource Include="https://my-nuget-source/nuget/" />
-->
</ItemGroup>
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
<!-- Windows specific commands -->
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
</PropertyGroup>
<PropertyGroup>
<PackagesProjectConfig Condition=" '$(OS)' == 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
<PackagesProjectConfig Condition=" '$(OS)' != 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesProjectConfig>
</PropertyGroup>
<PropertyGroup>
<PackagesConfig Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfig>
<PackagesConfig Condition="Exists('$(PackagesProjectConfig)')">$(PackagesProjectConfig)</PackagesConfig>
</PropertyGroup>
<PropertyGroup>
<!-- NuGet command -->
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
<PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 "$(NuGetExePath)"</NuGetCommand>
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
<RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
<NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
<PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
<PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
<!-- Commands -->
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
<!-- We need to ensure packages are restored prior to assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'true'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>
<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
$(BuildDependsOn);
BuildPackage;
</BuildDependsOn>
</PropertyGroup>
<Target Name="CheckPrerequisites">
<!-- Raise an error if we're unable to locate nuget.exe -->
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
<!--
Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
This effectively acts as a lock that makes sure that the download operation will only happen once and all
parallel builds will have to wait for it to complete.
-->
<MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
</Target>
<Target Name="_DownloadNuGet">
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
</Target>
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(RestoreCommand)"
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
<Exec Command="$(RestoreCommand)"
LogStandardErrorAsError="true"
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
</Target>
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(BuildCommand)"
Condition=" '$(OS)' != 'Windows_NT' " />
<Exec Command="$(BuildCommand)"
LogStandardErrorAsError="true"
Condition=" '$(OS)' == 'Windows_NT' " />
</Target>
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<OutputFilename ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Core" />
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Using Namespace="System.Net" />
<Using Namespace="Microsoft.Build.Framework" />
<Using Namespace="Microsoft.Build.Utilities" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
OutputFilename = Path.GetFullPath(OutputFilename);
Log.LogMessage("Downloading latest version of NuGet.exe...");
WebClient webClient = new WebClient();
webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
return true;
}
catch (Exception ex) {
Log.LogErrorFromException(ex);
return false;
}
]]>
</Code>
</Task>
</UsingTask>
</Project>

View file

@ -1,41 +1,7 @@
// Copyright (c) 2015, 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 WebsitePanel.Providers;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.EnterpriseServer.Base.HostedSolution;
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.5466
// Runtime Version:2.0.50727.7905
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -43,7 +9,7 @@ using WebsitePanel.EnterpriseServer.Base.HostedSolution;
//------------------------------------------------------------------------------
//
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
//
namespace WebsitePanel.EnterpriseServer.HostedSolution {
using System.Xml.Serialization;
@ -53,10 +19,15 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
using System;
using System.Diagnostics;
using System.Data;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.EnterpriseServer.Base.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers;
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="esOrganizationsSoap", Namespace="http://tempuri.org/")]
@ -71,6 +42,8 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
private System.Threading.SendOrPostCallback GetOrganizationsOperationCompleted;
private System.Threading.SendOrPostCallback GetOrganizationByIdOperationCompleted;
private System.Threading.SendOrPostCallback GetOrganizationUserSummuryLetterOperationCompleted;
private System.Threading.SendOrPostCallback SendOrganizationUserSummuryLetterOperationCompleted;
@ -174,6 +147,9 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
/// <remarks/>
public event GetOrganizationsCompletedEventHandler GetOrganizationsCompleted;
/// <remarks/>
public event GetOrganizationByIdCompletedEventHandler GetOrganizationByIdCompleted;
/// <remarks/>
public event GetOrganizationUserSummuryLetterCompletedEventHandler GetOrganizationUserSummuryLetterCompleted;
@ -497,6 +473,47 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
}
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationById", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public Organization GetOrganizationById(string organizationId) {
object[] results = this.Invoke("GetOrganizationById", new object[] {
organizationId});
return ((Organization)(results[0]));
}
/// <remarks/>
public System.IAsyncResult BeginGetOrganizationById(string organizationId, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("GetOrganizationById", new object[] {
organizationId}, callback, asyncState);
}
/// <remarks/>
public Organization EndGetOrganizationById(System.IAsyncResult asyncResult) {
object[] results = this.EndInvoke(asyncResult);
return ((Organization)(results[0]));
}
/// <remarks/>
public void GetOrganizationByIdAsync(string organizationId) {
this.GetOrganizationByIdAsync(organizationId, null);
}
/// <remarks/>
public void GetOrganizationByIdAsync(string organizationId, object userState) {
if ((this.GetOrganizationByIdOperationCompleted == null)) {
this.GetOrganizationByIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationByIdOperationCompleted);
}
this.InvokeAsync("GetOrganizationById", new object[] {
organizationId}, this.GetOrganizationByIdOperationCompleted, userState);
}
private void OnGetOrganizationByIdOperationCompleted(object arg) {
if ((this.GetOrganizationByIdCompleted != null)) {
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
this.GetOrganizationByIdCompleted(this, new GetOrganizationByIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
}
}
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationUserSummuryLetter", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public string GetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup) {
@ -2689,11 +2706,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CheckOrgIdExistsCompletedEventHandler(object sender, CheckOrgIdExistsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CheckOrgIdExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2715,11 +2732,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2741,11 +2758,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetRawOrganizationsPagedCompletedEventHandler(object sender, GetRawOrganizationsPagedCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetRawOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2767,11 +2784,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationsCompletedEventHandler(object sender, GetOrganizationsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2793,11 +2810,37 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationByIdCompletedEventHandler(object sender, GetOrganizationByIdCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
private object[] results;
internal GetOrganizationByIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState) {
this.results = results;
}
/// <remarks/>
public Organization Result {
get {
this.RaiseExceptionIfNecessary();
return ((Organization)(this.results[0]));
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationUserSummuryLetterCompletedEventHandler(object sender, GetOrganizationUserSummuryLetterCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2819,11 +2862,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SendOrganizationUserSummuryLetterCompletedEventHandler(object sender, SendOrganizationUserSummuryLetterCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SendOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2845,11 +2888,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2871,11 +2914,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationStatisticsCompletedEventHandler(object sender, GetOrganizationStatisticsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2897,11 +2940,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationStatisticsByOrganizationCompletedEventHandler(object sender, GetOrganizationStatisticsByOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationStatisticsByOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2923,11 +2966,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationCompletedEventHandler(object sender, GetOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2949,11 +2992,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetAccountIdByUserPrincipalNameCompletedEventHandler(object sender, GetAccountIdByUserPrincipalNameCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetAccountIdByUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2975,15 +3018,15 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetDefaultOrganizationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void AddOrganizationDomainCompletedEventHandler(object sender, AddOrganizationDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3005,11 +3048,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void ChangeOrganizationDomainTypeCompletedEventHandler(object sender, ChangeOrganizationDomainTypeCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class ChangeOrganizationDomainTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3031,11 +3074,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationDomainsCompletedEventHandler(object sender, GetOrganizationDomainsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3057,11 +3100,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteOrganizationDomainCompletedEventHandler(object sender, DeleteOrganizationDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3083,11 +3126,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetOrganizationDefaultDomainCompletedEventHandler(object sender, SetOrganizationDefaultDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetOrganizationDefaultDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3109,11 +3152,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationObjectsByDomainCompletedEventHandler(object sender, GetOrganizationObjectsByDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationObjectsByDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3135,11 +3178,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CheckDomainUsedByHostedOrganizationCompletedEventHandler(object sender, CheckDomainUsedByHostedOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CheckDomainUsedByHostedOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3161,11 +3204,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3187,11 +3230,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void ImportUserCompletedEventHandler(object sender, ImportUserCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class ImportUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3213,11 +3256,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationUsersPagedCompletedEventHandler(object sender, GetOrganizationUsersPagedCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3239,11 +3282,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetUserGeneralSettingsCompletedEventHandler(object sender, GetUserGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3265,11 +3308,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetUserGeneralSettingsCompletedEventHandler(object sender, SetUserGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3291,11 +3334,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetUserPrincipalNameCompletedEventHandler(object sender, SetUserPrincipalNameCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3317,11 +3360,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetUserPasswordCompletedEventHandler(object sender, SetUserPasswordCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetUserPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3343,11 +3386,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3369,11 +3412,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3395,11 +3438,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetPasswordPolicyCompletedEventHandler(object sender, GetPasswordPolicyCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetPasswordPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3421,11 +3464,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CreateSecurityGroupCompletedEventHandler(object sender, CreateSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3447,11 +3490,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetSecurityGroupGeneralSettingsCompletedEventHandler(object sender, GetSecurityGroupGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSecurityGroupGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3473,11 +3516,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteSecurityGroupCompletedEventHandler(object sender, DeleteSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3499,11 +3542,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetSecurityGroupGeneralSettingsCompletedEventHandler(object sender, SetSecurityGroupGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetSecurityGroupGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3525,11 +3568,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetOrganizationSecurityGroupsPagedCompletedEventHandler(object sender, GetOrganizationSecurityGroupsPagedCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationSecurityGroupsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3551,11 +3594,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void AddObjectToSecurityGroupCompletedEventHandler(object sender, AddObjectToSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddObjectToSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3577,11 +3620,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteObjectFromSecurityGroupCompletedEventHandler(object sender, DeleteObjectFromSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteObjectFromSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3603,11 +3646,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetSecurityGroupsByMemberCompletedEventHandler(object sender, GetSecurityGroupsByMemberCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSecurityGroupsByMemberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3629,11 +3672,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SearchOrganizationAccountsCompletedEventHandler(object sender, SearchOrganizationAccountsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SearchOrganizationAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3655,11 +3698,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetAdditionalGroupsCompletedEventHandler(object sender, GetAdditionalGroupsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetAdditionalGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3681,19 +3724,19 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void UpdateAdditionalGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteAdditionalGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void AddAdditionalGroupCompletedEventHandler(object sender, AddAdditionalGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddAdditionalGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3715,11 +3758,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetSupportServiceLevelsCompletedEventHandler(object sender, GetSupportServiceLevelsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSupportServiceLevelsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3741,15 +3784,15 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void UpdateSupportServiceLevelCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteSupportServiceLevelCompletedEventHandler(object sender, DeleteSupportServiceLevelCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteSupportServiceLevelCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3771,11 +3814,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void AddSupportServiceLevelCompletedEventHandler(object sender, AddSupportServiceLevelCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddSupportServiceLevelCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3797,11 +3840,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetSupportServiceLevelCompletedEventHandler(object sender, GetSupportServiceLevelCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSupportServiceLevelCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {

View file

@ -2684,6 +2684,17 @@ namespace WebsitePanel.EnterpriseServer
);
}
public static IDataReader GetExchangeAccountByAccountNameWithoutItemId(string primaryEmailAddress)
{
return SqlHelper.ExecuteReader(
ConnectionString,
CommandType.StoredProcedure,
"GetExchangeAccountByAccountNameWithoutItemId",
new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress)
);
}
public static IDataReader GetExchangeMailboxes(int itemId)
{
return SqlHelper.ExecuteReader(

View file

@ -1216,6 +1216,20 @@ namespace WebsitePanel.EnterpriseServer
return account;
}
public static ExchangeAccount GetAccountByAccountName(string primaryEmailAddress)
{
ExchangeAccount account = ObjectUtils.FillObjectFromDataReader<ExchangeAccount>(
DataProvider.GetExchangeAccountByAccountNameWithoutItemId(primaryEmailAddress));
if (account == null)
return null;
// decrypt password
account.AccountPassword = CryptoUtils.Decrypt(account.AccountPassword);
return account;
}
public static bool CheckAccountCredentials(int itemId, string email, string password)
{
// place log record

View file

@ -29,7 +29,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3053
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.

View file

@ -5,7 +5,8 @@
</configSections>
<!-- Connection strings -->
<connectionStrings>
<add name="EnterpriseServer" connectionString="Server=(local)\SQLExpress;Database=WebsitePanel;uid=sa;pwd=Password12" providerName="System.Data.SqlClient"/>
<!--<add name="EnterpriseServer" connectionString="Server=(local)\SQLExpress;Database=WebsitePanel;uid=sa;pwd=Password12" providerName="System.Data.SqlClient"/>-->
<add name="EnterpriseServer" connectionString="Data Source=CHERNETSI\BENQMSSERVER;Initial Catalog=WebsitePanel;uid=sa;pwd=Password12;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<!-- Encryption util settings -->

View file

@ -205,6 +205,12 @@ namespace WebsitePanel.EnterpriseServer
return ExchangeServerController.GetAccount(itemId, accountId);
}
[WebMethod]
public ExchangeAccount GetAccountByAccountNameWithoutItemId(string accountName)
{
return ExchangeServerController.GetAccountByAccountName(accountName);
}
[WebMethod]
public ExchangeAccount SearchAccount(ExchangeAccountType accountType, string primaryEmailAddress)
{

View file

@ -75,6 +75,12 @@ namespace WebsitePanel.EnterpriseServer
return OrganizationController.GetOrganizations(packageId, recursive);
}
[WebMethod]
public Organization GetOrganizationById(string organizationId)
{
return OrganizationController.GetOrganizationById(organizationId);
}
[WebMethod]
public string GetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup)
{

View file

@ -0,0 +1,6 @@
namespace WebsitePanel.WebDav.Core.Exceptions
{
public class UnauthorizedException : WebDavHttpException
{
}
}

View file

@ -0,0 +1,8 @@
using System;
namespace WebsitePanel.WebDav.Core.Exceptions
{
public class WebDavException : Exception
{
}
}

View file

@ -0,0 +1,6 @@
namespace WebsitePanel.WebDav.Core.Exceptions
{
public class WebDavHttpException : WebDavException
{
}
}

View file

@ -0,0 +1,32 @@
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public interface IConnectionSettings
{
bool AllowWriteStreamBuffering { get; set; }
bool SendChunked { get; set; }
int TimeOut { get; set; }
}
public class WebDavConnectionSettings
{
private int _timeOut = 30000;
public WebDavConnectionSettings()
{
SendChunked = false;
AllowWriteStreamBuffering = false;
}
public bool AllowWriteStreamBuffering { get; set; }
public bool SendChunked { get; set; }
public int TimeOut
{
get { return _timeOut; }
set { _timeOut = value; }
}
}
}
}

View file

@ -0,0 +1,357 @@
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Security;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using WebsitePanel.WebDav.Core.Exceptions;
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public interface IFolder : IHierarchyItem
{
IResource CreateResource(string name);
IFolder CreateFolder(string name);
IHierarchyItem[] GetChildren();
IResource GetResource(string name);
}
public class WebDavFolder : WebDavHierarchyItem, IFolder
{
private IHierarchyItem[] _children = new IHierarchyItem[0];
private Uri _path;
/// <summary>
/// The constructor
/// </summary>
public WebDavFolder()
{
}
/// <summary>
/// The constructor
/// </summary>
/// <param name="path">Path to the folder.</param>
public WebDavFolder(string path)
{
_path = new Uri(path);
}
/// <summary>
/// The constructor
/// </summary>
/// <param name="path">Path to the folder.</param>
public WebDavFolder(Uri path)
{
_path = path;
}
/// <summary>
/// Creates a resource with a specified name.
/// </summary>
/// <param name="name">Name of the new resource.</param>
/// <returns>Newly created resource.</returns>
public IResource CreateResource(string name)
{
var resource = new WebDavResource();
try
{
resource.SetHref(new Uri(Href.AbsoluteUri + name));
var credentials = (NetworkCredential) _credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
var request = (HttpWebRequest) WebRequest.Create(resource.Href);
request.Method = "PUT";
request.Credentials = credentials;
request.ContentType = "text/xml";
request.Accept = "text/xml";
request.Headers["translate"] = "f";
request.Headers.Add("Authorization", auth);
using (var response = (HttpWebResponse) request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.Created ||
response.StatusCode == HttpStatusCode.NoContent)
{
Open(Href);
resource = (WebDavResource) GetResource(name);
resource.SetCredentials(_credentials);
}
}
}
catch (Exception e)
{
}
return resource;
}
/// <summary>
/// Creates new folder with specified name as child of this one.
/// </summary>
/// <param name="name">Name of the new folder.</param>
/// <returns>IFolder</returns>
public IFolder CreateFolder(string name)
{
var folder = new WebDavFolder();
try
{
var credentials = (NetworkCredential) _credentials;
var request = (HttpWebRequest) WebRequest.Create(Href.AbsoluteUri + name);
request.Method = "MKCOL";
request.Credentials = credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
request.Headers.Add("Authorization", auth);
using (var response = (HttpWebResponse) request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.Created ||
response.StatusCode == HttpStatusCode.NoContent)
{
folder.SetCredentials(_credentials);
folder.Open(Href.AbsoluteUri + name + "/");
}
}
}
catch (Exception e)
{
}
return folder;
}
/// <summary>
/// Returns children of this folder.
/// </summary>
/// <returns>Array that include child folders and resources.</returns>
public IHierarchyItem[] GetChildren()
{
return _children;
}
/// <summary>
/// Gets the specified resource from server.
/// </summary>
/// <param name="name">Name of the resource.</param>
/// <returns>Resource corresponding to requested name.</returns>
public IResource GetResource(string name)
{
IHierarchyItem item =
_children.Single(i => i.ItemType == ItemType.Resource && i.DisplayName.Trim('/') == name.Trim('/'));
var resource = new WebDavResource();
resource.SetCredentials(_credentials);
resource.SetHierarchyItem(item);
return resource;
}
/// <summary>
/// Opens the folder.
/// </summary>
public void Open()
{
var request = (HttpWebRequest) WebRequest.Create(_path);
request.PreAuthenticate = true;
request.Method = "PROPFIND";
request.ContentType = "application/xml";
request.Headers["Depth"] = "1";
//TODO Disable SSL
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });
var credentials = (NetworkCredential) _credentials;
if (credentials != null && credentials.UserName != null)
{
request.Credentials = credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
request.Headers.Add("Authorization", auth);
}
try
{
using (var response = (HttpWebResponse) request.GetResponse())
{
using (var responseStream = new StreamReader(response.GetResponseStream()))
{
string responseString = responseStream.ReadToEnd();
ProcessResponse(responseString);
}
}
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError)
{
throw new UnauthorizedException();
}
throw e;
}
}
/// <summary>
/// Opens the folder
/// </summary>
/// <param name="path">Path of the folder to open.</param>
public void Open(string path)
{
_path = new Uri(path);
Open();
}
/// <summary>
/// Opens the folder
/// </summary>
/// <param name="path">Path of the folder to open.</param>
public void Open(Uri path)
{
_path = path;
Open();
}
/// <summary>
/// Processes the response from the server.
/// </summary>
/// <param name="response">The raw response from the server.</param>
private void ProcessResponse(string response)
{
try
{
var XmlDoc = new XmlDocument();
XmlDoc.LoadXml(response);
XmlNodeList XmlResponseList = XmlDoc.GetElementsByTagName("D:response");
if (XmlResponseList.Count == 0)
{
XmlResponseList = XmlDoc.GetElementsByTagName("d:response");
}
var children = new WebDavHierarchyItem[XmlResponseList.Count];
int counter = 0;
foreach (XmlNode XmlCurrentResponse in XmlResponseList)
{
var item = new WebDavHierarchyItem();
item.SetCredentials(_credentials);
foreach (XmlNode XmlCurrentNode in XmlCurrentResponse.ChildNodes)
{
switch (XmlCurrentNode.LocalName)
{
case "href":
string href = XmlCurrentNode.InnerText;
if (!Regex.Match(href, "^https?:\\/\\/").Success)
{
href = _path.Scheme + "://" + _path.Host + href;
}
item.SetHref(href, _path);
break;
case "propstat":
foreach (XmlNode XmlCurrentPropStatNode in XmlCurrentNode)
{
switch (XmlCurrentPropStatNode.LocalName)
{
case "prop":
foreach (XmlNode XmlCurrentPropNode in XmlCurrentPropStatNode)
{
switch (XmlCurrentPropNode.LocalName)
{
case "creationdate":
item.SetCreationDate(XmlCurrentPropNode.InnerText);
break;
case "getcontentlanguage":
item.SetProperty(
new Property(
new PropertyName("getcontentlanguage",
XmlCurrentPropNode.NamespaceURI),
XmlCurrentPropNode.InnerText));
break;
case "getcontentlength":
item.SetProperty(
new Property(
new PropertyName("getcontentlength",
XmlCurrentPropNode.NamespaceURI),
XmlCurrentPropNode.InnerText));
break;
case "getcontenttype":
item.SetProperty(
new Property(
new PropertyName("getcontenttype",
XmlCurrentPropNode.NamespaceURI),
XmlCurrentPropNode.InnerText));
break;
case "getlastmodified":
item.SetLastModified(XmlCurrentPropNode.InnerText);
break;
case "resourcetype":
item.SetProperty(
new Property(
new PropertyName("resourcetype",
XmlCurrentPropNode.NamespaceURI),
XmlCurrentPropNode.InnerXml));
break;
}
}
break;
case "status":
break;
}
}
break;
}
}
if (item.DisplayName != String.Empty)
{
children[counter] = item;
counter++;
}
else
{
SetItemType(ItemType.Folder);
SetHref(item.Href.AbsoluteUri, item.Href);
SetCreationDate(item.CreationDate);
SetComment(item.Comment);
SetCreatorDisplayName(item.CreatorDisplayName);
SetLastModified(item.LastModified);
foreach (Property property in item.Properties)
{
SetProperty(property);
}
}
}
int childrenCount = 0;
foreach (IHierarchyItem item in children)
{
if (item != null)
{
childrenCount++;
}
}
_children = new IHierarchyItem[childrenCount];
counter = 0;
foreach (IHierarchyItem item in children)
{
if (item != null)
{
_children[counter] = item;
counter++;
}
}
}
catch (XmlException e)
{
}
}
}
}
}

View file

@ -0,0 +1,257 @@
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Xml;
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public interface IHierarchyItem : IConnectionSettings
{
string Comment { get; }
DateTime CreationDate { get; }
string CreatorDisplayName { get; }
string DisplayName { get; }
Uri Href { get; }
ItemType ItemType { get; }
DateTime LastModified { get; }
Property[] Properties { get; }
Property[] GetAllProperties();
PropertyName[] GetPropertyNames();
Property[] GetPropertyValues(PropertyName[] names);
void Delete();
}
public class WebDavHierarchyItem : WebDavConnectionSettings, IHierarchyItem
{
private Uri _baseUri;
private string _comment = "";
private DateTime _creationDate = new DateTime(0);
private string _creatorDisplayName = "";
protected ICredentials _credentials = new NetworkCredential();
private Uri _href;
private ItemType _itemType;
private DateTime _lastModified = new DateTime(0);
private Property[] _properties = {};
public string Comment
{
get { return _comment; }
}
public DateTime CreationDate
{
get { return _creationDate; }
}
public string CreatorDisplayName
{
get { return _creatorDisplayName; }
}
public string DisplayName
{
get
{
string displayName = _href.AbsoluteUri.Replace(_baseUri.AbsoluteUri, "");
displayName = Regex.Replace(displayName, "\\/$", "");
Match displayNameMatch = Regex.Match(displayName, "([\\/]+)$");
if (displayNameMatch.Success)
{
displayName = displayNameMatch.Groups[1].Value;
}
return HttpUtility.UrlDecode(displayName);
}
}
public Uri Href
{
get { return _href; }
set { SetHref(value.ToString(), new Uri(value.Scheme + "://" + value.Host + value.Segments[0] + value.Segments[1])); }
}
public ItemType ItemType
{
get { return _itemType; }
set { SetItemType(value); }
}
public DateTime LastModified
{
get { return _lastModified; }
}
public Property[] Properties
{
get { return _properties; }
}
public Property[] GetAllProperties()
{
return _properties;
}
public PropertyName[] GetPropertyNames()
{
return _properties.Select(p => p.Name).ToArray();
}
public Property[] GetPropertyValues(PropertyName[] names)
{
return (from p in _properties from pn in names where pn.Equals(p.Name) select p).ToArray();
}
public void Delete()
{
var credentials = (NetworkCredential) _credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
WebRequest webRequest = WebRequest.Create(Href);
webRequest.Method = "DELETE";
webRequest.Credentials = credentials;
webRequest.Headers.Add("Authorization", auth);
using (WebResponse webResponse = webRequest.GetResponse())
{
using (Stream responseStream = webResponse.GetResponseStream())
{
var buffer = new byte[8192];
string result = "";
int bytesRead = 0;
do
{
bytesRead = responseStream.Read(buffer, 0, buffer.Length);
if (bytesRead > 0)
{
result += Encoding.UTF8.GetString(buffer, 0, bytesRead);
}
} while (bytesRead > 0);
}
}
}
public void Delete(LockUriTokenPair[] lockTokens)
{
}
public void Delete(string lockToken)
{
}
public void SetComment(string comment)
{
_comment = comment;
}
public void SetCreationDate(string creationDate)
{
_creationDate = DateTime.Parse(creationDate);
}
public void SetCreationDate(DateTime creationDate)
{
_creationDate = creationDate;
}
public void SetCreatorDisplayName(string creatorDisplayName)
{
_creatorDisplayName = creatorDisplayName;
}
public void SetItemType(ItemType itemType)
{
_itemType = itemType;
}
public void SetHref(string href, Uri baseUri)
{
_href = new Uri(href);
_baseUri = baseUri;
}
public void SetLastModified(string lastModified)
{
_lastModified = DateTime.Parse(lastModified);
}
public void SetLastModified(DateTime lastModified)
{
_lastModified = lastModified;
}
public void SetProperty(Property property)
{
if (property.Name.Name == "resourcetype" && property.StringValue != String.Empty)
{
var XmlDoc = new XmlDocument();
try
{
if (property.StringValue == "collection")
{
_itemType = ItemType.Folder;
}
else
{
XmlDoc.LoadXml(property.StringValue);
property.StringValue = XmlDoc.DocumentElement.LocalName;
switch (property.StringValue)
{
case "collection":
_itemType = ItemType.Folder;
break;
default:
break;
}
}
}
catch (XmlException e)
{
}
}
bool propertyFound = false;
foreach (Property prop in _properties)
{
if (prop.Name.Equals(property.Name))
{
prop.StringValue = property.StringValue;
propertyFound = true;
}
}
if (!propertyFound)
{
var newProperties = new Property[_properties.Length + 1];
for (int i = 0; i < _properties.Length; i++)
{
newProperties[i] = _properties[i];
}
newProperties[_properties.Length] = property;
_properties = newProperties;
}
}
public void SetProperty(PropertyName propertyName, string value)
{
SetProperty(new Property(propertyName, value));
}
public void SetProperty(string name, string nameSpace, string value)
{
SetProperty(new Property(name, nameSpace, value));
}
public void SetCredentials(ICredentials credentials)
{
_credentials = credentials;
}
}
}
}

View file

@ -0,0 +1,20 @@
using System.IO;
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public interface IItemContent
{
long ContentLength { get; }
string ContentType { get; }
void Download(string filename);
byte[] Download();
void Upload(string filename);
Stream GetReadStream();
Stream GetWriteStream(long contentLength);
Stream GetWriteStream(string contentType, long contentLength);
}
}
}

View file

@ -0,0 +1,524 @@
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Security;
using System.Net.Sockets;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Web;
using System.Xml;
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public interface IResource : IItemContent, IHierarchyItem, IConnectionSettings
{
bool CheckedOut { get; }
bool VersionControlled { get; }
}
public class WebDavResource : IResource
{
// IResource
private Uri _baseUri;
private bool _checkedOut = false;
private string _comment = "";
private long _contentLength;
private string _contentType = "";
private DateTime _creationDate = new DateTime(0);
private string _creatorDisplayName = "";
private ICredentials _credentials = new NetworkCredential();
private Uri _href;
private ItemType _itemType;
private DateTime _lastModified = new DateTime(0);
private Property[] _properties = {};
private int _timeOut = 30000;
private bool _versionControlled = false;
public WebDavResource()
{
SendChunked = false;
AllowWriteStreamBuffering = false;
}
public Uri BaseUri
{
get { return _baseUri; }
}
public bool CheckedOut
{
get { return _checkedOut; }
}
public bool VersionControlled
{
get { return _versionControlled; }
}
// IItemContent
public long ContentLength
{
get { return _contentLength; }
}
public string ContentType
{
get { return _contentType; }
}
/// <summary>
/// Downloads content of the resource to a file specified by filename
/// </summary>
/// <param name="filename">Full path of a file to be downloaded to</param>
public void Download(string filename)
{
var webClient = new WebClient();
webClient.DownloadFile(_href, filename);
}
public byte[] Download()
{
try
{
var webClient = new WebClient();
return webClient.DownloadData(_href);
}
catch (WebException exception)
{
throw;
}
}
/// <summary>
/// Uploads content of a file specified by filename to the server
/// </summary>
/// <param name="filename">Full path of a file to be uploaded from</param>
public void Upload(string filename)
{
var credentials = (NetworkCredential) _credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
var webClient = new WebClient();
webClient.Credentials = credentials;
webClient.Headers.Add("Authorization", auth);
webClient.UploadFile(Href, "PUT", filename);
}
/// <summary>
/// Loads content of the resource from WebDAV server.
/// </summary>
/// <returns>Stream to read resource content.</returns>
public Stream GetReadStream()
{
var credentials = (NetworkCredential) _credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
var webClient = new WebClient();
webClient.Credentials = credentials;
webClient.Headers.Add("Authorization", auth);
//TODO Disable SSL
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate{ return true; });
return webClient.OpenRead(_href);
}
/// <summary>
/// Saves resource's content to WebDAV server.
/// </summary>
/// <param name="contentLength">Length of data to be written.</param>
/// <returns>Stream to write resource content.</returns>
public Stream GetWriteStream(long contentLength)
{
return GetWriteStream("application/octet-stream", contentLength);
}
/// <summary>
/// Saves resource's content to WebDAV server.
/// </summary>
/// <param name="contentType">Media type of the resource.</param>
/// <param name="contentLength">Length of data to be written.</param>
/// <returns>Stream to write resource content.</returns>
public Stream GetWriteStream(string contentType, long contentLength)
{
var tcpClient = new TcpClient(Href.Host, Href.Port);
if (tcpClient.Connected)
{
var credentials = (NetworkCredential) _credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
try
{
if (TimeOut != Timeout.Infinite)
{
tcpClient.SendTimeout = TimeOut;
tcpClient.ReceiveTimeout = TimeOut;
}
else
{
tcpClient.SendTimeout = 0;
tcpClient.ReceiveTimeout = 0;
}
}
catch (SocketException e)
{
tcpClient.SendTimeout = 0;
tcpClient.ReceiveTimeout = 0;
}
NetworkStream networkStream = tcpClient.GetStream();
if (networkStream.CanTimeout)
{
try
{
networkStream.WriteTimeout = TimeOut;
networkStream.ReadTimeout = TimeOut;
}
catch (Exception e)
{
}
}
byte[] methodBuffer = Encoding.UTF8.GetBytes("PUT " + Href.AbsolutePath + " HTTP/1.1\r\n");
byte[] hostBuffer = Encoding.UTF8.GetBytes("Host: " + Href.Host + "\r\n");
byte[] contentLengthBuffer = Encoding.UTF8.GetBytes("Content-Length: " + contentLength + "\r\n");
byte[] authorizationBuffer = Encoding.UTF8.GetBytes("Authorization: " + auth + "\r\n");
byte[] connectionBuffer = Encoding.UTF8.GetBytes("Connection: Close\r\n\r\n");
networkStream.Write(methodBuffer, 0, methodBuffer.Length);
networkStream.Write(hostBuffer, 0, hostBuffer.Length);
networkStream.Write(contentLengthBuffer, 0, contentLengthBuffer.Length);
networkStream.Write(authorizationBuffer, 0, authorizationBuffer.Length);
networkStream.Write(connectionBuffer, 0, connectionBuffer.Length);
return networkStream;
}
throw new IOException("could not connect to server");
}
// IHierarchyItem
public string Comment
{
get { return _comment; }
}
public DateTime CreationDate
{
get { return _creationDate; }
}
public string CreatorDisplayName
{
get { return _creatorDisplayName; }
}
public string DisplayName
{
get
{
string displayName = _href.AbsoluteUri.Replace(_baseUri.AbsoluteUri, "");
displayName = Regex.Replace(displayName, "\\/$", "");
Match displayNameMatch = Regex.Match(displayName, "([\\/]+)$");
if (displayNameMatch.Success)
{
displayName = displayNameMatch.Groups[1].Value;
}
return HttpUtility.UrlDecode(displayName);
}
}
public Uri Href
{
get { return _href; }
}
public ItemType ItemType
{
get { return _itemType; }
}
public DateTime LastModified
{
get { return _lastModified; }
}
public Property[] Properties
{
get { return _properties; }
}
// IHierarchyItem Methods
/// <summary>
/// Retrieves all custom properties exposed by the item.
/// </summary>
/// <returns>This method returns the array of custom properties exposed by the item.</returns>
public Property[] GetAllProperties()
{
return _properties;
}
/// <summary>
/// Returns names of all custom properties exposed by this item.
/// </summary>
/// <returns></returns>
public PropertyName[] GetPropertyNames()
{
return _properties.Select(p => p.Name).ToArray();
}
/// <summary>
/// Retrieves values of specific properties.
/// </summary>
/// <param name="names"></param>
/// <returns>Array of requested properties with values.</returns>
public Property[] GetPropertyValues(PropertyName[] names)
{
return (from p in _properties from pn in names where pn.Equals(p.Name) select p).ToArray();
}
/// <summary>
/// Deletes this item.
/// </summary>
public void Delete()
{
var credentials = (NetworkCredential) _credentials;
string auth = "Basic " +
Convert.ToBase64String(
Encoding.Default.GetBytes(credentials.UserName + ":" + credentials.Password));
WebRequest webRequest = WebRequest.Create(Href);
webRequest.Method = "DELETE";
webRequest.Credentials = credentials;
webRequest.Headers.Add("Authorization", auth);
using (WebResponse webResponse = webRequest.GetResponse())
{
using (Stream responseStream = webResponse.GetResponseStream())
{
var buffer = new byte[8192];
string result = "";
int bytesRead = 0;
do
{
bytesRead = responseStream.Read(buffer, 0, buffer.Length);
if (bytesRead > 0)
{
result += Encoding.UTF8.GetString(buffer, 0, bytesRead);
}
} while (bytesRead > 0);
}
}
}
public bool AllowWriteStreamBuffering { get; set; }
public bool SendChunked { get; set; }
public int TimeOut
{
get { return _timeOut; }
set { _timeOut = value; }
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetComment(string comment)
{
_comment = comment;
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetCreationDate(string creationDate)
{
_creationDate = DateTime.Parse(creationDate);
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetCreationDate(DateTime creationDate)
{
_creationDate = creationDate;
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetCreatorDisplayName(string creatorDisplayName)
{
_creatorDisplayName = creatorDisplayName;
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetHref(string href, Uri baseUri)
{
_href = new Uri(href);
_baseUri = baseUri;
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetHref(Uri href)
{
_href = href;
string baseUri = _href.Scheme + "://" + _href.Host;
for (int i = 0; i < _href.Segments.Length - 1; i++)
{
if (_href.Segments[i] != "/")
{
baseUri += "/" + _href.Segments[i];
}
}
_baseUri = new Uri(baseUri);
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetLastModified(string lastModified)
{
_lastModified = DateTime.Parse(lastModified);
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetLastModified(DateTime lastModified)
{
_lastModified = lastModified;
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetProperty(Property property)
{
if (property.Name.Name == "resourcetype" && property.StringValue != String.Empty)
{
var XmlDoc = new XmlDocument();
try
{
XmlDoc.LoadXml(property.StringValue);
property.StringValue = XmlDoc.DocumentElement.LocalName;
switch (property.StringValue)
{
case "collection":
_itemType = ItemType.Folder;
break;
default:
break;
}
}
catch (Exception e)
{
}
}
bool propertyFound = false;
foreach (Property prop in _properties)
{
if (prop.Name.Equals(property.Name))
{
prop.StringValue = property.StringValue;
propertyFound = true;
}
}
if (!propertyFound)
{
var newProperties = new Property[_properties.Length + 1];
for (int i = 0; i < _properties.Length; i++)
{
newProperties[i] = _properties[i];
}
if (property.Name.Name == "getcontentlength")
{
try
{
_contentLength = Convert.ToInt64(property.StringValue);
}
catch (Exception)
{
}
}
newProperties[_properties.Length] = property;
_properties = newProperties;
}
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetProperty(PropertyName propertyName, string value)
{
SetProperty(new Property(propertyName, value));
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetProperty(string name, string nameSpace, string value)
{
SetProperty(new Property(name, nameSpace, value));
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetProperties(Property[] properties)
{
foreach (Property property in properties)
{
SetProperty(property);
}
}
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetCredentials(ICredentials credentials)
{
_credentials = credentials;
}
// IConnectionSettings
/// <summary>
/// For internal use only.
/// </summary>
/// <param name="comment"></param>
public void SetHierarchyItem(IHierarchyItem item)
{
SetComment(item.Comment);
SetCreationDate(item.CreationDate);
SetCreatorDisplayName(item.CreatorDisplayName);
SetHref(item.Href);
SetLastModified(item.LastModified);
SetProperties(item.Properties);
}
}
}
}

View file

@ -0,0 +1,53 @@
using System.IO;
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public interface IResumableUpload
{
void CancelUpload();
void CancelUpload(string lockToken);
long GetBytesUploaded();
Stream GetWriteStream(long startIndex, long contentLength, long resourceTotalSize);
Stream GetWriteStream(long startIndex, long contentLength, long resourceTotalSize, string contentType);
Stream GetWriteStream(long startIndex, long contentLength, long resourceTotalSize, string contentType,
string lockToken);
}
public class WebDavResumableUpload
{
private long _bytesUploaded = 0;
public void CancelUpload()
{
}
public void CancelUpload(string lockToken)
{
}
public long GetBytesUploaded()
{
return _bytesUploaded;
}
public Stream GetWriteStream(long startIndex, long contentLength, long resourceTotalSize)
{
return new MemoryStream();
}
public Stream GetWriteStream(long startIndex, long contentLength, long resourceTotalSize, string contentType)
{
return new MemoryStream();
}
public Stream GetWriteStream(long startIndex, long contentLength, long resourceTotalSize, string contentType,
string lockToken)
{
return new MemoryStream();
}
}
}
}

View file

@ -0,0 +1,13 @@
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public enum ItemType
{
Resource,
Folder,
Version,
VersionHistory
}
}
}

View file

@ -0,0 +1,17 @@
using System;
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public class LockUriTokenPair
{
public readonly Uri Href;
public readonly string lockToken;
public LockUriTokenPair(Uri href, string lockToken)
{
}
}
}
}

View file

@ -0,0 +1,39 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("WebsitePanel.WebDav.Core")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WebsitePanel.WebDav.Core")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("6d5fcace-d8d1-4340-a905-d882b8f3c7fe")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -0,0 +1,34 @@
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public class Property
{
public readonly PropertyName Name;
private string _value = "";
public Property(PropertyName name, string value)
{
Name = name;
StringValue = value;
}
public Property(string name, string nameSpace, string value)
{
Name = new PropertyName(name, nameSpace);
StringValue = value;
}
public string StringValue
{
get { return _value; }
set { _value = value; }
}
public override string ToString()
{
return StringValue;
}
}
}
}

View file

@ -0,0 +1,40 @@
namespace WebsitePanel.WebDav.Core
{
namespace Client
{
public sealed class PropertyName
{
public readonly string Name;
public readonly string NamespaceUri;
public PropertyName(string name, string namespaceUri)
{
Name = name;
NamespaceUri = namespaceUri;
}
public override bool Equals(object obj)
{
if (obj.GetType() == GetType())
{
if (((PropertyName) obj).Name == Name && ((PropertyName) obj).NamespaceUri == NamespaceUri)
{
return true;
}
}
return false;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
public override string ToString()
{
return Name;
}
}
}
}

View file

@ -0,0 +1,64 @@
using System;
using System.Net;
namespace WebsitePanel.WebDav.Core
{
/// <summary>
/// WebDav.Client Namespace.
/// </summary>
/// <see cref="http://doc.webdavsystem.com/ITHit.WebDAV.Client.html"/>
namespace Client
{
public class WebDavSession
{
public NetworkCredential Credentials { get; set; }
/// <summary>
/// Returns IFolder corresponding to path.
/// </summary>
/// <param name="path">Path to the folder.</param>
/// <returns>Folder corresponding to requested path.</returns>
public IFolder OpenFolder(string path)
{
var folder = new WebDavFolder();
folder.SetCredentials(Credentials);
folder.Open(path);
return folder;
}
/// <summary>
/// Returns IFolder corresponding to path.
/// </summary>
/// <param name="path">Path to the folder.</param>
/// <returns>Folder corresponding to requested path.</returns>
public IFolder OpenFolder(Uri path)
{
var folder = new WebDavFolder();
folder.SetCredentials(Credentials);
folder.Open(path);
return folder;
}
/// <summary>
/// Returns IResource corresponding to path.
/// </summary>
/// <param name="path">Path to the resource.</param>
/// <returns>Resource corresponding to requested path.</returns>
public IResource OpenResource(string path)
{
return OpenResource(new Uri(path));
}
/// <summary>
/// Returns IResource corresponding to path.
/// </summary>
/// <param name="path">Path to the resource.</param>
/// <returns>Resource corresponding to requested path.</returns>
public IResource OpenResource(Uri path)
{
IFolder folder = OpenFolder(path);
return folder.GetResource(path.Segments[path.Segments.Length - 1]);
}
}
}
}

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{BA147805-9EF1-45F2-BF32-A5825D4E950D}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WebsitePanel.WebDav.Core</RootNamespace>
<AssemblyName>WebsitePanel.WebDav.Core</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Web">
<HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Exceptions\UnauthorizedException.cs" />
<Compile Include="Exceptions\WebDavException.cs" />
<Compile Include="Exceptions\WebDavHttpException.cs" />
<Compile Include="IConnectionSettings.cs" />
<Compile Include="IFolder.cs" />
<Compile Include="IHierarchyItem.cs" />
<Compile Include="IItemContent.cs" />
<Compile Include="IResource.cs" />
<Compile Include="IResumableUpload.cs" />
<Compile Include="ItemType.cs" />
<Compile Include="LockUriTokenPair.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Property.cs" />
<Compile Include="PropertyName.cs" />
<Compile Include="WebDavSession.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View file

@ -0,0 +1,249 @@
<?xml version="1.0"?>
<Countries>
<Country name="Afghanistan" key="AF" />
<Country name="Aland Islands" key="AX" />
<Country name="Albania" key="AL" />
<Country name="Algeria" key="DZ" />
<Country name="American Samoa" key="AS" />
<Country name="Andorra" key="AD" />
<Country name="Angola" key="AO" />
<Country name="Anguilla" key="AI" />
<Country name="Antarctica" key="AQ" />
<Country name="Antigua and Barbuda" key="AG" />
<Country name="Argentina" key="AR" />
<Country name="Armenia" key="AM" />
<Country name="Aruba" key="AW" />
<Country name="Australia" key="AU" />
<Country name="Austria" key="AT" />
<Country name="Azerbaijan" key="AZ" />
<Country name="Bahamas" key="BS" />
<Country name="Bahrain" key="BH" />
<Country name="Bangladesh" key="BD" />
<Country name="Barbados" key="BB" />
<Country name="Belarus" key="BY" />
<Country name="Belgium" key="BE" />
<Country name="Belize" key="BZ" />
<Country name="Benin" key="BJ" />
<Country name="Bermuda" key="BM" />
<Country name="Bhutan" key="BT" />
<Country name="Bolivia, Plurinational State of" key="BO" />
<Country name="Bosnia and Herzegovina" key="BA" />
<Country name="Botswana" key="BW" />
<Country name="Bouvet Island" key="BV" />
<Country name="Brazil" key="BR" />
<Country name="British Indian Ocean Territory" key="IO" />
<Country name="Brunei Darussalam" key="BN" />
<Country name="Bulgaria" key="BG" />
<Country name="Burkina Faso" key="BF" />
<Country name="Burundi" key="BI" />
<Country name="Cambodia" key="KH" />
<Country name="Cameroon" key="CM" />
<Country name="Canada" key="CA" />
<Country name="Cape Verde" key="CV" />
<Country name="Cayman Islands" key="KY" />
<Country name="Central African Republic" key="CF" />
<Country name="Chad" key="TD" />
<Country name="Chile" key="CL" />
<Country name="China" key="CN" />
<Country name="Christmas Island" key="CX" />
<Country name="Cocos (Keeling) Islands" key="CC" />
<Country name="Colombia" key="CO" />
<Country name="Comoros" key="KM" />
<Country name="Congo" key="CG" />
<Country name="Congo, the Democratic Republic of the" key="CD" />
<Country name="Cook Islands" key="CK" />
<Country name="Costa Rica" key="CR" />
<Country name="Cote D'Ivoire" key="CI" />
<Country name="Croatia" key="HR" />
<Country name="Cuba" key="CU" />
<Country name="Cyprus" key="CY" />
<Country name="Czech Republic" key="CZ" />
<Country name="Denmark" key="DK" />
<Country name="Djibouti" key="DJ" />
<Country name="Dominica" key="DM" />
<Country name="Dominican Republic" key="DO" />
<Country name="Ecuador" key="EC" />
<Country name="Egypt" key="EG" />
<Country name="El Salvador" key="SV" />
<Country name="Equatorial Guinea" key="GQ" />
<Country name="Eritrea" key="ER" />
<Country name="Estonia" key="EE" />
<Country name="Ethiopia" key="ET" />
<Country name="Falkland Islands (Malvinas)" key="FK" />
<Country name="Faroe Islands" key="FO" />
<Country name="Fiji" key="FJ" />
<Country name="Finland" key="FI" />
<Country name="France" key="FR" />
<Country name="French Guiana" key="GF" />
<Country name="French Polynesia" key="PF" />
<Country name="French Southern Territories" key="TF" />
<Country name="Gabon" key="GA" />
<Country name="Gambia" key="GM" />
<Country name="Georgia" key="GE" />
<Country name="Germany" key="DE" />
<Country name="Ghana" key="GH" />
<Country name="Gibraltar" key="GI" />
<Country name="Greece" key="GR" />
<Country name="Greenland" key="GL" />
<Country name="Grenada" key="GD" />
<Country name="Guadeloupe" key="GP" />
<Country name="Guam" key="GU" />
<Country name="Guatemala" key="GT" />
<Country name="Guernsey" key="GG" />
<Country name="Guinea" key="GN" />
<Country name="Guinea-Bissau" key="GW" />
<Country name="Guyana" key="GY" />
<Country name="Haiti" key="HT" />
<Country name="Heard Island and Mcdonald Islands" key="HM" />
<Country name="Holy See (Vatican City State)" key="VA" />
<Country name="Honduras" key="HN" />
<Country name="Hong Kong" key="HK" />
<Country name="Hungary" key="HU" />
<Country name="Iceland" key="IS" />
<Country name="India" key="IN" />
<Country name="Indonesia" key="ID" />
<Country name="Iran, Islamic Republic of" key="IR" />
<Country name="Iraq" key="IQ" />
<Country name="Ireland" key="IE" />
<Country name="Isle of Man" key="IM" />
<Country name="Israel" key="IL" />
<Country name="Italy" key="IT" />
<Country name="Jamaica" key="JM" />
<Country name="Japan" key="JP" />
<Country name="Jersey" key="JE" />
<Country name="Jordan" key="JO" />
<Country name="Kazakhstan" key="KZ" />
<Country name="Kenya" key="KE" />
<Country name="Kiribati" key="KI" />
<Country name="Korea, Democratic People's Republic of" key="KP" />
<Country name="Korea, Republic of" key="KR" />
<Country name="Kuwait" key="KW" />
<Country name="Kyrgyzstan" key="KG" />
<Country name="Lao People's Democratic Republic" key="LA" />
<Country name="Latvia" key="LV" />
<Country name="Lebanon" key="LB" />
<Country name="Lesotho" key="LS" />
<Country name="Liberia" key="LR" />
<Country name="Libyan Arab Jamahiriya" key="LY" />
<Country name="Liechtenstein" key="LI" />
<Country name="Lithuania" key="LT" />
<Country name="Luxembourg" key="LU" />
<Country name="Macao" key="MO" />
<Country name="Macedonia, the Former Yugoslav Republic of" key="MK" />
<Country name="Madagascar" key="MG" />
<Country name="Malawi" key="MW" />
<Country name="Malaysia" key="MY" />
<Country name="Maldives" key="MV" />
<Country name="Mali" key="ML" />
<Country name="Malta" key="MT" />
<Country name="Marshall Islands" key="MH" />
<Country name="Martinique" key="MQ" />
<Country name="Mauritania" key="MR" />
<Country name="Mauritius" key="MU" />
<Country name="Mayotte" key="YT" />
<Country name="Mexico" key="MX" />
<Country name="Micronesia, Federated States of" key="FM" />
<Country name="Moldova, Republic of" key="MD" />
<Country name="Monaco" key="MC" />
<Country name="Mongolia" key="MN" />
<Country name="Montenegro" key="ME" />
<Country name="Montserrat" key="MS" />
<Country name="Morocco" key="MA" />
<Country name="Mozambique" key="MZ" />
<Country name="Myanmar" key="MM" />
<Country name="Namibia" key="NA" />
<Country name="Nauru" key="NR" />
<Country name="Nepal" key="NP" />
<Country name="Netherlands" key="NL" />
<Country name="Netherlands Antilles" key="AN" />
<Country name="New Caledonia" key="NC" />
<Country name="New Zealand" key="NZ" />
<Country name="Nicaragua" key="NI" />
<Country name="Niger" key="NE" />
<Country name="Nigeria" key="NG" />
<Country name="Niue" key="NU" />
<Country name="Norfolk Island" key="NF" />
<Country name="Northern Mariana Islands" key="MP" />
<Country name="Norway" key="NO" />
<Country name="Oman" key="OM" />
<Country name="Pakistan" key="PK" />
<Country name="Palau" key="PW" />
<Country name="Palestinian Territory, Occupied" key="PS" />
<Country name="Panama" key="PA" />
<Country name="Papua New Guinea" key="PG" />
<Country name="Paraguay" key="PY" />
<Country name="Peru" key="PE" />
<Country name="Philippines" key="PH" />
<Country name="Pitcairn" key="PN" />
<Country name="Poland" key="PL" />
<Country name="Portugal" key="PT" />
<Country name="Puerto Rico" key="PR" />
<Country name="Qatar" key="QA" />
<Country name="Reunion" key="RE" />
<Country name="Romania" key="RO" />
<Country name="Russian Federation" key="RU" />
<Country name="Rwanda" key="RW" />
<Country name="Saint Barthelemy" key="BL" />
<Country name="Saint Helena" key="SH" />
<Country name="Saint Kitts and Nevis" key="KN" />
<Country name="Saint Lucia" key="LC" />
<Country name="Saint Martin" key="MF" />
<Country name="Saint Pierre and Miquelon" key="PM" />
<Country name="Saint Vincent and the Grenadines" key="VC" />
<Country name="Samoa" key="WS" />
<Country name="San Marino" key="SM" />
<Country name="Sao Tome and Principe" key="ST" />
<Country name="Saudi Arabia" key="SA" />
<Country name="Senegal" key="SN" />
<Country name="Serbia" key="RS" />
<Country name="Seychelles" key="SC" />
<Country name="Sierra Leone" key="SL" />
<Country name="Singapore" key="SG" />
<Country name="Slovakia" key="SK" />
<Country name="Slovenia" key="SI" />
<Country name="Solomon Islands" key="SB" />
<Country name="Somalia" key="SO" />
<Country name="South Africa" key="ZA" />
<Country name="South Georgia and the South Sandwich Islands" key="GS" />
<Country name="Spain" key="ES" />
<Country name="Sri Lanka" key="LK" />
<Country name="Sudan" key="SD" />
<Country name="Suriname" key="SR" />
<Country name="Svalbard and Jan Mayen" key="SJ" />
<Country name="Swaziland" key="SZ" />
<Country name="Sweden" key="SE" />
<Country name="Switzerland" key="CH" />
<Country name="Syrian Arab Republic" key="SY" />
<Country name="Taiwan, Province of China" key="TW" />
<Country name="Tajikistan" key="TJ" />
<Country name="Tanzania, United Republic of" key="TZ" />
<Country name="Thailand" key="TH" />
<Country name="Timor-Leste" key="TL" />
<Country name="Togo" key="TG" />
<Country name="Tokelau" key="TK" />
<Country name="Tonga" key="TO" />
<Country name="Trinidad and Tobago" key="TT" />
<Country name="Tunisia" key="TN" />
<Country name="Turkey" key="TR" />
<Country name="Turkmenistan" key="TM" />
<Country name="Turks and Caicos Islands" key="TC" />
<Country name="Tuvalu" key="TV" />
<Country name="Uganda" key="UG" />
<Country name="Ukraine" key="UA" />
<Country name="United Arab Emirates" key="AE" />
<Country name="United Kingdom" key="GB" />
<Country name="United States" key="US" />
<Country name="United States Minor Outlying Islands" key="UM" />
<Country name="Uruguay" key="UY" />
<Country name="Uzbekistan" key="UZ" />
<Country name="Vanuatu" key="VU" />
<Country name="Venezuela, Bolivarian Republic of" key="VE" />
<Country name="Viet Nam" key="VN" />
<Country name="Virgin Islands, British" key="VG" />
<Country name="Virgin Islands, U.S." key="VI" />
<Country name="Wallis and Futuna" key="WF" />
<Country name="Western Sahara" key="EH" />
<Country name="Yemen" key="YE" />
<Country name="Zambia" key="ZM" />
<Country name="Zimbabwe" key="ZW" />
</Countries>

View file

@ -0,0 +1,411 @@
<?xml version="1.0"?>
<States>
<!-- Canada -->
<State name="Alberta" key="AB" countryCode="CA" />
<State name="British Columbia" key="BC" countryCode="CA" />
<State name="Manitoba" key="MB" countryCode="CA" />
<State name="New Brunswick" key="NB" countryCode="CA" />
<State name="Newfoundland and Labrador" key="NL" countryCode="CA" />
<State name="Northwest Territories" key="NT" countryCode="CA" />
<State name="Nova Scotia" key="NS" countryCode="CA" />
<State name="Nunavut" key="NV" countryCode="CA" />
<State name="Ontario" key="ON" countryCode="CA" />
<State name="Prince Edward Island" key="PE" countryCode="CA" />
<State name="Quebec" key="QC" countryCode="CA" />
<State name="Saskatchewan" key="SK" countryCode="CA" />
<State name="Yukon Territory" key="YT" countryCode="CA" />
<!-- US -->
<State name="Alabama" key="AL" countryCode="US" />
<State name="Alaska" key="AK" countryCode="US" />
<State name="Arizona" key="AZ" countryCode="US" />
<State name="Arkansas" key="AR" countryCode="US" />
<State name="California" key="CA" countryCode="US" />
<State name="Colorado" key="CO" countryCode="US" />
<State name="Connecticut" key="CT" countryCode="US" />
<State name="Delaware" key="DE" countryCode="US" />
<State name="District of Columbia" key="DC" countryCode="US" />
<State name="Florida" key="FL" countryCode="US" />
<State name="Georgia" key="GA" countryCode="US" />
<State name="Hawaii" key="HI" countryCode="US" />
<State name="Idaho" key="ID" countryCode="US" />
<State name="Illinois" key="IL" countryCode="US" />
<State name="Indiana" key="IN" countryCode="US" />
<State name="Iowa" key="IA" countryCode="US" />
<State name="Kansas" key="KS" countryCode="US" />
<State name="Kentucky" key="KY" countryCode="US" />
<State name="Louisiana" key="LA" countryCode="US" />
<State name="Maine" key="ME" countryCode="US" />
<State name="Maryland" key="MD" countryCode="US" />
<State name="Massachusetts" key="MA" countryCode="US" />
<State name="Michigan" key="MI" countryCode="US" />
<State name="Minnesota" key="MN" countryCode="US" />
<State name="Mississippi" key="MS" countryCode="US" />
<State name="Missouri" key="MO" countryCode="US" />
<State name="Montana" key="MT" countryCode="US" />
<State name="Nebraska" key="NE" countryCode="US" />
<State name="Nevada" key="NV" countryCode="US" />
<State name="New Hampshire" key="NH" countryCode="US" />
<State name="New Jersey" key="NJ" countryCode="US" />
<State name="New Mexico" key="NM" countryCode="US" />
<State name="New York" key="NY" countryCode="US" />
<State name="North Carolina" key="NC" countryCode="US" />
<State name="North Dakota" key="ND" countryCode="US" />
<State name="Ohio" key="OH" countryCode="US" />
<State name="Oklahoma" key="OK" countryCode="US" />
<State name="Oregon" key="OR" countryCode="US" />
<State name="Pennsylvania" key="PA" countryCode="US" />
<State name="Rhode Island" key="RI" countryCode="US" />
<State name="South Carolina" key="SC" countryCode="US" />
<State name="South Dakota" key="SD" countryCode="US" />
<State name="Tennessee" key="TN" countryCode="US" />
<State name="Texas" key="TX" countryCode="US" />
<State name="Utah" key="UT" countryCode="US" />
<State name="Vermont" key="VT" countryCode="US" />
<State name="Virginia" key="VA" countryCode="US" />
<State name="Washington" key="WA" countryCode="US" />
<State name="West Virginia" key="WV" countryCode="US" />
<State name="Wisconsin" key="WI" countryCode="US" />
<State name="Wyoming" key="WY" countryCode="US" />
<!-- Russian Federation -->
<State name="Altaiskiy Kray" key="22" countryCode="RU" />
<State name="Amurskaya Oblast" key="28" countryCode="RU" />
<State name="Arkhangelskaya Oblast" key="29" countryCode="RU" />
<State name="Astrakhanskaya Oblast" key="30" countryCode="RU" />
<State name="Belgorodskaya Oblast" key="31" countryCode="RU" />
<State name="Bryanskaya Oblast" key="32" countryCode="RU" />
<State name="Chechnya" key="20" countryCode="RU" />
<State name="Chelyabinskaya Oblast" key="74" countryCode="RU" />
<State name="Chitinskaya Oblast" key="75" countryCode="RU" />
<State name="Chukotka Automomous District" key="87" countryCode="RU" />
<State name="Chuvash Republic" key="21" countryCode="RU" />
<State name="Evenkia Automomous District" key="88" countryCode="RU" />
<State name="Irkutskaya Oblast" key="38" countryCode="RU" />
<State name="Ivanovskaya Oblast" key="37" countryCode="RU" />
<State name="Jewish Autonomous Region" key="79" countryCode="RU" />
<State name="Kabardino-Balkaryan Republic" key="07" countryCode="RU" />
<State name="Kaliningradskaya Oblast" key="39" countryCode="RU" />
<State name="Kaluzhskaya Oblast" key="40" countryCode="RU" />
<State name="Kamchatskaya Oblast" key="41" countryCode="RU" />
<State name="Kemerovskaya Oblast" key="42" countryCode="RU" />
<State name="Khabarovskiy Kray" key="27" countryCode="RU" />
<State name="Kirovskaya Oblast" key="43" countryCode="RU" />
<State name="Kostromskaya Oblast" key="44" countryCode="RU" />
<State name="Krasnodarskiy Kray" key="23" countryCode="RU" />
<State name="Krasnoyarskiy Kray" key="24" countryCode="RU" />
<State name="Kurganskaya Oblast" key="45" countryCode="RU" />
<State name="Kurskaya Oblast" key="46" countryCode="RU" />
<State name="Leningradskaya Oblast" key="47" countryCode="RU" />
<State name="Lipetskaya Oblast" key="48" countryCode="RU" />
<State name="Magadanskaya Oblast" key="49" countryCode="RU" />
<State name="Moscow" key="77" countryCode="RU" />
<State name="Moskovskaya Oblast" key="50" countryCode="RU" />
<State name="Murmanskaya Oblast" key="51" countryCode="RU" />
<State name="Nizhegorodskaya Oblast" key="52" countryCode="RU" />
<State name="Novgorodskaya Oblast" key="53" countryCode="RU" />
<State name="Novosibirskaya Oblast" key="54" countryCode="RU" />
<State name="Omskaya Oblast" key="55" countryCode="RU" />
<State name="Orenburgskaya Oblast" key="56" countryCode="RU" />
<State name="Orlovskaya Oblast" key="57" countryCode="RU" />
<State name="Penzenskaya Oblast" key="58" countryCode="RU" />
<State name="Permskaya Oblast" key="59" countryCode="RU" />
<State name="Primorskiy Kray" key="25" countryCode="RU" />
<State name="Pskovskaya Oblast" key="60" countryCode="RU" />
<State name="Republic of Adyghe" key="01" countryCode="RU" />
<State name="Republic of Altai" key="04" countryCode="RU" />
<State name="Republic of Bashkortostan" key="02" countryCode="RU" />
<State name="Republic of Buryatia" key="03" countryCode="RU" />
<State name="Republic of Daghestan" key="05" countryCode="RU" />
<State name="Republic of Ingushetia" key="06" countryCode="RU" />
<State name="Republic of Kalmykia" key="08" countryCode="RU" />
<State name="Republic of Karelia" key="10" countryCode="RU" />
<State name="Republic of Khakassia" key="19" countryCode="RU" />
<State name="Republic of Komi" key="11" countryCode="RU" />
<State name="Republic of Mari El" key="12" countryCode="RU" />
<State name="Republic of Mordovia" key="13" countryCode="RU" />
<State name="Republic of North Ossetia - Alania" key="15" countryCode="RU" />
<State name="Republic of Sakha" key="14" countryCode="RU" />
<State name="Republic of Tuva" key="17" countryCode="RU" />
<State name="Rostovskaya Oblast" key="61" countryCode="RU" />
<State name="Ryazanskaya Oblast" key="62" countryCode="RU" />
<State name="Saint Petersburg" key="78" countryCode="RU" />
<State name="Sakhalinskaya Oblast" key="65" countryCode="RU" />
<State name="Samarskaya Oblast" key="63" countryCode="RU" />
<State name="Saratovskaya Oblast" key="64" countryCode="RU" />
<State name="Smolenskaya Oblast" key="67" countryCode="RU" />
<State name="Stavropolskiy Kray" key="26" countryCode="RU" />
<State name="Sverdlovskaya Oblast" key="66" countryCode="RU" />
<State name="Tambovskaya Oblast" key="68" countryCode="RU" />
<State name="Tatarstan" key="16" countryCode="RU" />
<State name="Tomskaya Oblast" key="70" countryCode="RU" />
<State name="Tul'skaya Oblast" key="71" countryCode="RU" />
<State name="Tverskaya Oblast" key="69" countryCode="RU" />
<State name="Tyumenskaya Oblast" key="72" countryCode="RU" />
<State name="Udmurt Republic" key="18" countryCode="RU" />
<State name="Ul'yanovskaya Oblast" key="73" countryCode="RU" />
<State name="Vladimirskaya Oblast" key="33" countryCode="RU" />
<State name="Volgogradskaya Oblast" key="34" countryCode="RU" />
<State name="Vologodskaya Oblast" key="35" countryCode="RU" />
<State name="Voronezhskaya Oblast" key="36" countryCode="RU" />
<State name="Yaroslavskaya Oblast" key="76" countryCode="RU" />
<!-- Croatia -->
<State name="Zagrebačka" key="01" countryCode="HR" />
<State name="Krapinsko-zagorska" key="02" countryCode="HR" />
<State name="Sisačko-moslavačka" key="03" countryCode="HR" />
<State name="Karlovačka" key="04" countryCode="HR" />
<State name="Varaždinska" key="05" countryCode="HR" />
<State name="Koprivničko-križevačka" key="06" countryCode="HR" />
<State name="Bjelovarsko-bilogorska" key="07" countryCode="HR" />
<State name="Primorsko-goranska" key="08" countryCode="HR" />
<State name="Ličko-senjska" key="09" countryCode="HR" />
<State name="Virovitičko-podravska" key="10" countryCode="HR" />
<State name="Požeško-slavonska" key="11" countryCode="HR" />
<State name="Brodsko-posavska" key="12" countryCode="HR" />
<State name="Zadarska" key="13" countryCode="HR" />
<State name="Osječko-baranjska" key="14" countryCode="HR" />
<State name="Šibensko-kninska" key="15" countryCode="HR" />
<State name="Vukovarsko-srijemska" key="16" countryCode="HR" />
<State name="Splitsko-dalmatinska" key="17" countryCode="HR" />
<State name="Istarska" key="18" countryCode="HR" />
<State name="Dubrovačko-neretvanska" key="19" countryCode="HR" />
<State name="Međimurska" key="20" countryCode="HR" />
<State name="Grad Zagreb" key="21" countryCode="HR" />
<!-- United Kingdom -->
<State name="-- England --" key="116" countryCode="GB" />
<State name="Avon" key="01" countryCode="GB" />
<State name="Bedfordshire" key="02" countryCode="GB" />
<State name="Berkshire" key="03" countryCode="GB" />
<State name="Bristol" key="04" countryCode="GB" />
<State name="Buckinghamshire" key="05" countryCode="GB" />
<State name="Cambridgeshire" key="06" countryCode="GB" />
<State name="Cheshire" key="07" countryCode="GB" />
<State name="Cleveland" key="08" countryCode="GB" />
<State name="Cornwall" key="09" countryCode="GB" />
<State name="Cumbria" key="10" countryCode="GB" />
<State name="Derbyshire" key="11" countryCode="GB" />
<State name="Devon" key="12" countryCode="GB" />
<State name="Dorset" key="13" countryCode="GB" />
<State name="Durham" key="14" countryCode="GB" />
<State name="East Riding of Yorkshire" key="15" countryCode="GB" />
<State name="East Sussex" key="16" countryCode="GB" />
<State name="Essex" key="17" countryCode="GB" />
<State name="Gloucestershire" key="18" countryCode="GB" />
<State name="Greater Manchester" key="19" countryCode="GB" />
<State name="Hampshire" key="20" countryCode="GB" />
<State name="Herefordshire" key="21" countryCode="GB" />
<State name="Hertfordshire" key="22" countryCode="GB" />
<State name="Humberside" key="23" countryCode="GB" />
<State name="Isle of Wight" key="24" countryCode="GB" />
<State name="Isles of Scilly" key="25" countryCode="GB" />
<State name="Kent" key="26" countryCode="GB" />
<State name="Lancashire" key="27" countryCode="GB" />
<State name="Leicestershire" key="28" countryCode="GB" />
<State name="Lincolnshire" key="29" countryCode="GB" />
<State name="London" key="30" countryCode="GB" />
<State name="Merseyside" key="31" countryCode="GB" />
<State name="Middlesex" key="32" countryCode="GB" />
<State name="Norfolk" key="33" countryCode="GB" />
<State name="North Yorkshire" key="34" countryCode="GB" />
<State name="Northamptonshire" key="35" countryCode="GB" />
<State name="Northumberland" key="36" countryCode="GB" />
<State name="Nottinghamshire" key="37" countryCode="GB" />
<State name="Oxfordshire" key="38" countryCode="GB" />
<State name="Rutland" key="39" countryCode="GB" />
<State name="Shropshire" key="40" countryCode="GB" />
<State name="Somerset" key="41" countryCode="GB" />
<State name="South Yorkshire" key="42" countryCode="GB" />
<State name="Staffordshire" key="43" countryCode="GB" />
<State name="Suffolk" key="44" countryCode="GB" />
<State name="Surrey" key="45" countryCode="GB" />
<State name="Tyne and Wear" key="46" countryCode="GB" />
<State name="Warwickshire" key="47" countryCode="GB" />
<State name="West Midlands" key="48" countryCode="GB" />
<State name="West Sussex" key="49" countryCode="GB" />
<State name="West Yorkshire" key="50" countryCode="GB" />
<State name="Wiltshire" key="51" countryCode="GB" />
<State name="Worcestershire" key="52" countryCode="GB" />
<State name="-- Northern Ireland --" key="117" countryCode="GB" />
<State name="Antrim" key="53" countryCode="GB" />
<State name="Armagh" key="54" countryCode="GB" />
<State name="Down" key="55" countryCode="GB" />
<State name="Fermanagh" key="56" countryCode="GB" />
<State name="Londonderry" key="57" countryCode="GB" />
<State name="Tyrone" key="58" countryCode="GB" />
<State name="-- Scotland --" key="118" countryCode="GB" />
<State name="Aberdeen City" key="59" countryCode="GB" />
<State name="Aberdeenshire" key="60" countryCode="GB" />
<State name="Angus" key="61" countryCode="GB" />
<State name="Argyll and Bute" key="62" countryCode="GB" />
<State name="Borders" key="63" countryCode="GB" />
<State name="Clackmannan" key="64" countryCode="GB" />
<State name="Dumfries and Galloway" key="65" countryCode="GB" />
<State name="East Ayrshire" key="67" countryCode="GB" />
<State name="East Dunbartonshire" key="68" countryCode="GB" />
<State name="East Lothian" key="69" countryCode="GB" />
<State name="East Renfrewshire" key="70" countryCode="GB" />
<State name="Edinburgh City" key="71" countryCode="GB" />
<State name="Falkirk" key="72" countryCode="GB" />
<State name="Fife" key="73" countryCode="GB" />
<State name="Glasgow" key="74" countryCode="GB" />
<State name="Highland" key="75" countryCode="GB" />
<State name="Inverclyde" key="76" countryCode="GB" />
<State name="Midlothian" key="77" countryCode="GB" />
<State name="Moray" key="78" countryCode="GB" />
<State name="North Ayrshire" key="79" countryCode="GB" />
<State name="North Lanarkshire" key="80" countryCode="GB" />
<State name="Orkney" key="81" countryCode="GB" />
<State name="Perthshire and Kinross" key="82" countryCode="GB" />
<State name="Renfrewshire" key="83" countryCode="GB" />
<State name="Roxburghshire" key="84" countryCode="GB" />
<State name="Shetland" key="85" countryCode="GB" />
<State name="South Ayrshire" key="86" countryCode="GB" />
<State name="South Lanarkshire" key="87" countryCode="GB" />
<State name="Stirling" key="88" countryCode="GB" />
<State name="West Dunbartonshire" key="89" countryCode="GB" />
<State name="West Lothian" key="90" countryCode="GB" />
<State name="Western Isles" key="91" countryCode="GB" />
<State name="-- Unitary Authorities of Wales --" key="119" countryCode="GB" />
<State name="Blaenau Gwent" key="92" countryCode="GB" />
<State name="Bridgend" key="93" countryCode="GB" />
<State name="Caerphilly" key="94" countryCode="GB" />
<State name="Cardiff" key="95" countryCode="GB" />
<State name="Carmarthenshire" key="96" countryCode="GB" />
<State name="Ceredigion" key="97" countryCode="GB" />
<State name="Conwy" key="98" countryCode="GB" />
<State name="Denbighshire" key="99" countryCode="GB" />
<State name="Flintshire" key="100" countryCode="GB" />
<State name="Gwynedd" key="101" countryCode="GB" />
<State name="Isle of Anglesey" key="102" countryCode="GB" />
<State name="Merthyr Tydfil" key="103" countryCode="GB" />
<State name="Monmouthshire" key="104" countryCode="GB" />
<State name="Neath Port Talbot" key="105" countryCode="GB" />
<State name="Newport" key="106" countryCode="GB" />
<State name="Pembrokeshire" key="107" countryCode="GB" />
<State name="Powys" key="108" countryCode="GB" />
<State name="Rhondda Cynon Taff" key="109" countryCode="GB" />
<State name="Swansea" key="110" countryCode="GB" />
<State name="Torfaen" key="111" countryCode="GB" />
<State name="The Vale of Glamorgan" key="112" countryCode="GB" />
<State name="Wrexham" key="113" countryCode="GB" />
<State name="-- GB Offshore Dependencies --" key="120" countryCode="GB" />
<State name="Channel Islands" key="114" countryCode="GB" />
<State name="Isle of Man" Ikey="115" countryCode="GB" />
<!-- Republic of Ireland -->
<State name="Fingal" key="01" countryCode="IE" />
<State name=" Dun Laoghaire-Rathdown" key="02" countryCode="IE" />
<State name="South Dublin" key="03" countryCode="IE" />
<State name="Wicklow" key="04" countryCode="IE" />
<State name="Wexford" key="05" countryCode="IE" />
<State name="Carlow" key="06" countryCode="IE" />
<State name="Kildare" key="07" countryCode="IE" />
<State name="Meath " key="08" countryCode="IE" />
<State name="Louth" key="09" countryCode="IE" />
<State name="Monaghan" key="10" countryCode="IE" />
<State name="Cavan" key="11" countryCode="IE" />
<State name="Longford" key="12" countryCode="IE" />
<State name="Westmeath" key="13" countryCode="IE" />
<State name="Offaly" key="14" countryCode="IE" />
<State name="Laois" key="15" countryCode="IE" />
<State name="Kilkenny " key="16" countryCode="IE" />
<State name="Waterford" key="17" countryCode="IE" />
<State name="Cork" key="18" countryCode="IE" />
<State name="Kerryr" key="19" countryCode="IE" />
<State name="Limerick" key="20" countryCode="IE" />
<State name="North Tipperary" key="21" countryCode="IE" />
<State name="South Tipperary" key="22" countryCode="IE" />
<State name="Clare" key="23" countryCode="IE" />
<State name="Galway" key="24" countryCode="IE" />
<State name="Mayo" key="25" countryCode="IE" />
<State name="Roscommon" key="26" countryCode="IE" />
<State name="Sligo" key="27" countryCode="IE" />
<State name="Leitrim" key="28" countryCode="IE" />
<State name="Donegal" key="29" countryCode="IE" />
<!-- Republic of Turkey -->
<State name="Adana" key="01" countryCode="TR" />
<State name="Adэyaman" key="02" countryCode="TR" />
<State name="Afyonkarahisar" key="03" countryCode="TR" />
<State name="Aрrэ" key="04" countryCode="TR" />
<State name="Amasya" key="05" countryCode="TR" />
<State name="Ankara" key="06" countryCode="TR" />
<State name="Antalya" key="07" countryCode="TR" />
<State name="Artvin" key="08" countryCode="TR" />
<State name="Aydэn" key="09" countryCode="TR" />
<State name="Balэkesir" key="10" countryCode="TR" />
<State name="Bilecik" key="11" countryCode="TR" />
<State name="Bingцl" key="12" countryCode="TR" />
<State name="Bitlis" key="13" countryCode="TR" />
<State name="Bolu" key="14" countryCode="TR" />
<State name="Burdur" key="15" countryCode="TR" />
<State name="Bursa" key="16" countryCode="TR" />
<State name="Зanakkale" key="17" countryCode="TR" />
<State name="Зankэrэ" key="18" countryCode="TR" />
<State name="Зorum" key="19" countryCode="TR" />
<State name="Denizli" key="20" countryCode="TR" />
<State name="Diyarbakэr" key="21" countryCode="TR" />
<State name="Edirne" key="22" countryCode="TR" />
<State name="Elazэр" key="23" countryCode="TR" />
<State name="Erzincan" key="24" countryCode="TR" />
<State name="Erzurum" key="25" countryCode="TR" />
<State name="Eskiюehir" key="26" countryCode="TR" />
<State name="Gaziantep" key="27" countryCode="TR" />
<State name="Giresun" key="28" countryCode="TR" />
<State name="Gьmьюhane" key="29" countryCode="TR" />
<State name="Hakkari" key="30" countryCode="TR" />
<State name="Hatay" key="31" countryCode="TR" />
<State name="Isparta" key="32" countryCode="TR" />
<State name="Mersin" key="33" countryCode="TR" />
<State name="Istanbul" key="34" countryCode="TR" />
<State name="Эzmir" key="35" countryCode="TR" />
<State name="Kars" key="36" countryCode="TR" />
<State name="Kastamonu" key="37" countryCode="TR" />
<State name="Kayseri" key="38" countryCode="TR" />
<State name="Kэrklareli" key="39" countryCode="TR" />
<State name="Kэrюehir" key="40" countryCode="TR" />
<State name="Kocaeli" key="41" countryCode="TR" />
<State name="Konya" key="42" countryCode="TR" />
<State name="Kьtahya" key="43" countryCode="TR" />
<State name="Malatya" key="44" countryCode="TR" />
<State name="Manisa" key="45" countryCode="TR" />
<State name="Kahramanmaraю" key="46" countryCode="TR" />
<State name="Mardin" key="47" countryCode="TR" />
<State name="Muрla" key="48" countryCode="TR" />
<State name="Muю" key="49" countryCode="TR" />
<State name="Nevюehir" key="50" countryCode="TR" />
<State name="Niрde" key="51" countryCode="TR" />
<State name="Ordu" key="52" countryCode="TR" />
<State name="Rize" key="53" countryCode="TR" />
<State name="Sakarya" key="54" countryCode="TR" />
<State name="Samsun" key="55" countryCode="TR" />
<State name="Siirt" key="56" countryCode="TR" />
<State name="Sinop" key="57" countryCode="TR" />
<State name="Sivas" key="58" countryCode="TR" />
<State name="Tekirdaр" key="59" countryCode="TR" />
<State name="Tokat" key="60" countryCode="TR" />
<State name="Trabzon" key="61" countryCode="TR" />
<State name="Tunceli" key="62" countryCode="TR" />
<State name="Юanlэurfa" key="63" countryCode="TR" />
<State name="Uюak" key="64" countryCode="TR" />
<State name="Van" key="65" countryCode="TR" />
<State name="Yozgat" key="66" countryCode="TR" />
<State name="Zonguldak" key="67" countryCode="TR" />
<State name="Aksaray" key="68" countryCode="TR" />
<State name="Bayburt" key="69" countryCode="TR" />
<State name="Karaman" key="70" countryCode="TR" />
<State name="Kэrэkkale" key="71" countryCode="TR" />
<State name="Batman" key="72" countryCode="TR" />
<State name="Юэrnak" key="73" countryCode="TR" />
<State name="Bartэn" key="74" countryCode="TR" />
<State name="Ardahan" key="75" countryCode="TR" />
<State name="Iрdэr" key="76" countryCode="TR" />
<State name="Yalova" key="77" countryCode="TR" />
<State name="Karabьk" key="78" countryCode="TR" />
<State name="Kilis" key="79" countryCode="TR" />
<State name="Osmaniye" key="80" countryCode="TR" />
<State name="Dьzce" key="81" countryCode="TR" />
</States>

View file

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<Controls>
<!--<Control key="" />-->
<!--<Control key="create_organization" />-->
<!--Home-->
<Control key="organization_home" />
<!--Organization-->
<Control key="users" />
<Control key="edit_user" general_key="users" /> <!--?-->
<Control key="create_user" general_key="users" />
<Control key="user_memberof" general_key="users" />
<!--<Control key="organization_user_setup" />-->
<Control key="secur_groups" />
<Control key="create_secur_group" general_key="secur_groups" />
<Control key="secur_group_settings" general_key="secur_groups" />
<Control key="secur_group_memberof" general_key="secur_groups" />
<Control key="org_domains" />
<Control key="org_add_domain" general_key="org_domains" />
<!--Exchange-->
<Control key="mailboxes" />
<!--<Control key="archivingmailboxes" />-->
<Control key="create_mailbox" general_key="mailboxes" />
<Control key="mailbox_settings" general_key="mailboxes" />
<Control key="mailbox_mobile" general_key="mailboxes" />
<Control key="mailbox_mobile_details" general_key="mailboxes" />
<Control key="mailbox_addresses" general_key="mailboxes" />
<Control key="mailbox_mailflow" general_key="mailboxes" />
<Control key="mailbox_permissions" general_key="mailboxes" />
<Control key="mailbox_advanced" general_key="mailboxes" />
<Control key="mailbox_setup" general_key="mailboxes" />
<Control key="mailbox_memberof" general_key="mailboxes" />
<Control key="contacts" />
<Control key="create_contact" general_key="contacts" />
<Control key="contact_settings" general_key="contacts" />
<Control key="contact_mailflow" general_key="contacts" />
<Control key="dlists" />
<Control key="create_dlist" general_key="dlists" />
<Control key="dlist_settings" general_key="dlists" />
<Control key="dlist_addresses" general_key="dlists" />
<Control key="dlist_mailflow" general_key="dlists" />
<Control key="dlist_permissions" general_key="dlists" />
<Control key="dlist_memberof" general_key="dlists" />
<Control key="disclaimers" />
<Control key="disclaimers_settings" general_key="disclaimers" />
<Control key="public_folders" />
<Control key="create_public_folder" general_key="public_folders" />
<Control key="public_folder_settings" general_key="public_folders" />
<Control key="public_folder_addresses" general_key="public_folders" />
<Control key="public_folder_mailflow" general_key="public_folders" />
<Control key="public_folder_mailenable" general_key="public_folders" />
<Control key="domains" />
<Control key="add_domain" general_key="domains" />
<Control key="domain_records" general_key="domains" />
<Control key="storage_usage" />
<Control key="storage_usage_details" general_key="storage_usage" />
<!--<Control key="storage_limits" />-->
<Control key="activesync_policy" />
<Control key="mailboxplans" />
<Control key="retentionpolicy" />
<Control key="retentionpolicytag" />
<Control key="add_mailboxplan" general_key="mailboxplans" /> <!--?-->
<!--CRM-->
<Control key="CRMOrganizationDetails" />
<Control key="CRMUsers" />
<Control key="CRMUserRoles" general_key="CRMUsers" />
<Control key="create_crm_user" general_key="CRMUsers" />
<Control key="crm_storage_settings" />
<!--SharePoint-->
<Control key="sharepoint_sitecollections" />
<Control key="sharepoint_edit_sitecollection" general_key="sharepoint_sitecollections" />
<Control key="sharepoint_backup_sitecollection" general_key="sharepoint_sitecollections" />
<Control key="sharepoint_restore_sitecollection" general_key="sharepoint_sitecollections" />
<Control key="sharepoint_storage_settings" />
<Control key="sharepoint_storage_usage" />
<!--BlackBerry-->
<Control key="blackberry_users" />
<Control key="create_new_blackberry_user" general_key="blackberry_users" />
<Control key="edit_blackberry_user" general_key="blackberry_users" />
<!--OCS-->
<Control key="ocs_users" />
<Control key="create_new_ocs_user" general_key="ocs_users" />
<Control key="edit_ocs_user" general_key="ocs_users" />
<!--Lync-->
<Control key="lync_users"/>
<Control key="create_new_lync_user" general_key="lync_users" />
<Control key="edit_lync_user" general_key="lync_users" />
<Control key="lync_userplans" />
<Control key="add_lyncuserplan" general_key="lync_userplans" />
<Control key="lync_federationdomains" />
<Control key="add_lyncfederation_domain" general_key="lync_federationdomains" />
<Control key="lync_phonenumbers" />
<Control key="allocate_phonenumbers" general_key="lync_phonenumbers" />
<!--EnterpriseStorage-->
<Control key="enterprisestorage_folders" />
<Control key="create_enterprisestorage_folder" general_key="enterprisestorage_folders" />
<Control key="enterprisestorage_folder_settings" general_key="enterprisestorage_folders" />
<Control key="enterprisestorage_drive_maps" />
<Control key="create_enterprisestorage_drive_map" general_key="enterprisestorage_drive_maps" />
<!--RDS-->
<Control key="rds_servers" />
<Control key="rds_add_server" general_key="rds_servers"/>
<Control key="rds_collections" />
<Control key="rds_create_collection" general_key="rds_collections" />
<Control key="rds_collection_edit_apps" general_key="rds_collections" />
<Control key="rds_collection_edit_users" general_key="rds_collections" />
</Controls>

View file

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8" ?>
<ModuleDefinitions>
<ModuleDefinition id="ecEcommerceSettings">
<Controls>
<Control key="" src="Ecommerce/EcommerceSystemSettings.ascx" title="ecEcommerceSettings" type="View" />
<Control key="credit_card" src="Ecommerce/PaymentMethodCreditCard.ascx" title="ecCreditCardMethod" type="View" />
<Control key="2co" src="Ecommerce/PaymentMethod2Checkout.ascx" title="ec2CheckoutMethod" type="View" />
<Control key="pp_account" src="Ecommerce/PaymentMethodPayPalAccount.ascx" title="ecPPAccountMethod" type="View" />
<Control key="offline" src="Ecommerce/PaymentMethodOffline.ascx" title="ecOfflineMethod" type="View" />
<Control key="enom" src="Ecommerce/DomainRegistrarEnom.ascx" title="ecEnomRegistrar" type="View" />
<Control key="directi" src="Ecommerce/DomainRegistrarDirecti.ascx" title="ecDirectiRegistrar" type="View" />
<Control key="new_invoice" src="Ecommerce/NotificationNewInvoice.ascx" title="ecNotifyNewInvoice" type="View" />
<Control key="payment_rcvd" src="Ecommerce/NotificationPaymentReceived.ascx" title="ecNotifyPaymentRcvd" type="View" />
<Control key="svc_activated" src="Ecommerce/NotificationServiceActivated.ascx" title="ecNotifySvcActivated" type="View" />
<Control key="svc_suspended" src="Ecommerce/NotificationServiceSuspended.ascx" title="ecNotifySvcSuspended" type="View" />
<Control key="svc_cancelled" src="Ecommerce/NotificationServiceCancelled.ascx" title="ecNotifySvcCancelled" type="View" />
<Control key="terms_conds" src="Ecommerce/TermsAndConditionsEdit.ascx" title="ecTermsAndConds" type="View" />
<Control key="prov_settings" src="Ecommerce/ProvisioningSettingsEdit.ascx" title="ecProvSettings" type="View" />
<Control key="welcome_msg" src="Ecommerce/StorefrontWelcomeEdit.ascx" title="ecStorefronWelcomeMsg" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomersServices">
<Controls>
<Control key="" src="Ecommerce/CustomersServices.ascx" title="ecCustomersServices" type="View" icon="3d_level_48.png" />
<Control key="view_svc" src="Ecommerce/CustomersServicesViewService.ascx" title="ecServiceDetails" type="View" icon="3d_info_48.png" />
<Control key="upgrade_svc" src="Ecommerce/CustomersServicesUpgradeService.ascx" title="ecServiceUpgrade" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomerPaymentProfile">
<Controls>
<Control key="" src="Ecommerce/CustomerPaymentProfile.ascx" title="ecCustomerPaymentProfile" type="View" icon="3d_level_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomersPayments">
<Controls>
<Control key="" src="Ecommerce/CustomersPayments.ascx" title="ecCustomersPayments" type="View" icon="reward_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCustomersInvoices">
<Controls>
<Control key="" src="Ecommerce/CustomersInvoices.ascx" title="ecCustomersInvoices" type="View" icon="invoice_48.png"/>
<Control key="view_invoice" src="Ecommerce/CustomersInvoicesViewInvoice.ascx" title="ecInvoiceDetails" icon="invoice_info_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecStorefrontWelcome">
<Controls>
<Control key="" src="Ecommerce/StorefrontWelcome.ascx" title="ecStorefrontWelcome" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecQuickSignup">
<Controls>
<Control key="" src="Ecommerce/QuickSignup.ascx" title="ecQuickSignup" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecViewCategory">
<Controls>
<Control key="" src="Ecommerce/StorefrontViewCategory.ascx" title="ecViewCategory" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecProductDetails">
<Controls>
<Control key="" src="Ecommerce/ViewProductDetails.ascx" title="ecProductDetails" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecTaxations">
<Controls>
<Control key="" src="Ecommerce/Taxations.ascx" title="ecTaxations" type="View" />
<Control key="add_tax" src="Ecommerce/TaxationsAddTax.ascx" title="ecAddTax" type="View" />
<Control key="edit_tax" src="Ecommerce/TaxationsEditTax.ascx" title="ecEditTax" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecBillingCycles">
<Controls>
<Control key="" src="Ecommerce/BillingCycles.ascx" title="ecBillingCycles" type="View" />
<Control key="add_billingcycle" src="Ecommerce/BillingCyclesAddCycle.ascx" title="ecAddBillingCycle" type="View" />
<Control key="edit_billingcycle" src="Ecommerce/BillingCyclesEditCycle.ascx" title="ecEditBillingCycle" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecHostingPlans">
<Controls>
<Control key="" src="Ecommerce/HostingPlans.ascx" title="ecHostingPlans" type="View" />
<Control key="add_hostingplan" src="Ecommerce/HostingPlansAddPlan.ascx" title="ecAddHostingPlan" type="View" />
<Control key="edit_hostingplan" src="Ecommerce/HostingPlansEditPlan.ascx" title="ecEditHostingPlan" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecDomainNames">
<Controls>
<Control key="" src="Ecommerce/DomainNames.ascx" title="ecDomainNames" type="View" />
<Control key="add_tld" src="Ecommerce/DomainNamesAddDomain.ascx" title="ecAddDomainName" type="View" />
<Control key="edit_tld" src="Ecommerce/DomainNamesEditDomain.ascx" title="ecEditDomainName" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecHostingAddons">
<Controls>
<Control key="" src="Ecommerce/HostingAddons.ascx" title="ecHostingAddons" type="View" icon="webcam_48.png" />
<Control key="add_hostingaddon" src="Ecommerce/HostingAddonsAddAddon.ascx" title="ecAddHostingAddon" type="View" icon="webcam_add_48.png" />
<Control key="edit_hostingaddon" src="Ecommerce/HostingAddonsEditAddon.ascx" title="ecEditHostingAddon" type="View" icon="webcam_write_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecCategories">
<Controls>
<Control key="" src="Ecommerce/Categories.ascx" title="ecCategories" type="View" icon="inventory_48.png" />
<Control key="AddItem" src="Ecommerce/CategoriesAddCategory.ascx" title="ecAddCategory" type="View" icon="inventory_add_48.png" />
<Control key="EditItem" src="Ecommerce/CategoriesEditCategory.ascx" title="ecEditCategory" type="View" icon="inventory_write_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderCheckout">
<Controls>
<Control key="" src="Ecommerce/OrderCheckout.ascx" title="ecOrderCheckout" type="View" icon="invoice_next_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderComplete">
<Controls>
<Control key="" src="Ecommerce/OrderComplete.ascx" title="ecOrderComplete" type="View" icon="invoice_ok_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderFailed">
<Controls>
<Control key="" src="Ecommerce/OrderFailed.ascx" title="ecOrderFailed" type="View" icon="invoice_close_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecOrderProduct">
<Controls>
<Control key="" src="Ecommerce/StorefrontOrderProduct.ascx" title="ecOrderProduct" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecStorefrontMenu">
<Controls>
<Control key="" src="Ecommerce/StorefrontMenu.ascx" title="ecStorefrontCatalogMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ecTermsAndConditions">
<Controls>
<Control key="" src="Ecommerce/TermsAndConditions.ascx" title="ecTermsAndConditions" type="View" />
</Controls>
</ModuleDefinition>
</ModuleDefinitions>

View file

@ -0,0 +1,226 @@
<?xml version="1.0" encoding="utf-8"?>
<Pages>
<include file="ModulesData.config" />
<Page name="QuickSignup" roles="?" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecQuickSignup" title="ecQuickSignup" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecOrderCheckout" roles="*" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderCheckout" title="ecOrderCheckout" />
</Content>
</Page>
<Page name="ecOrderComplete" roles="*" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderComplete" title="ecOrderComplete" />
</Content>
</Page>
<Page name="ecOrderFailed" roles="*" hidden="true" skin="Storefront.ascx" adminskin="Storefront.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderFailed" title="ecOrderFailed" />
</Content>
</Page>
<Page name="ecTermsAndConditions" roles="?" hidden="true" skin="SimpleWhite.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecTermsAndConditions" title="ecTermsAndConditions" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecProductDetails" roles="?" hidden="true" skin="SimpleWhite.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecProductDetails" title="ecProductDetails" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecOnlineStore" roles="?" hidden="true" skin="Storefront2.ascx" adminskin="Storefront2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="ecStorefrontMenu" title="ecStorefrontCatalogMenu" container="Clear.ascx" />
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecStorefrontWelcome" title="ecStorefrontWelcome" container="Clear.ascx" />
</Content>
<Pages>
<Page name="ecViewCategory" roles="?" hidden="true" skin="Storefront2.ascx" adminskin="Storefront2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="ecStorefrontMenu" title="ecStorefrontCatalogMenu" container="Clear.ascx" />
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecViewCategory" title="ecViewCategory" container="Clear.ascx" />
</Content>
</Page>
<Page name="ecOrderProduct" roles="?" hidden="true" skin="Storefront2.ascx" adminskin="Storefront2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="ecStorefrontMenu" title="ecStorefrontCatalogMenu" container="Clear.ascx" />
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecOrderProduct" title="ecOrderProduct" container="Clear.ascx" />
</Content>
</Page>
</Pages>
</Page>
<Page name="ecEcommerceAdmin" hidden="true" roles="Administrator,Reseller" enabled="false">
<Pages>
<Page name="ecEcommerceSettings" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecEcommerceSettings" title="ecEcommerceSettings" />
</Content>
</Page>
<Page name="ecBillingCycles" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecBillingCycles" title="ecBillingCycles" />
</Content>
</Page>
<Page name="ecHostingPlans" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecHostingPlans" title="ecHostingPlans" />
</Content>
</Page>
<Page name="ecHostingAddons" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecHostingAddons" title="ecHostingAddons" />
</Content>
</Page>
<Page name="ecDomainNames" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecDomainNames" title="ecDomainNames" />
</Content>
</Page>
<Page name="ecCategories" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCategories" title="ecCategories" />
</Content>
</Page>
<Page name="ecTaxations" roles="Administrator,Reseller" adminskin="Browse2.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecTaxations" title="ecTaxations" />
</Content>
</Page>
<Page name="ecCustomersPayments" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersPayments" title="ecCustomersPayments">
<Settings>
<Add name="IsReseller" value="True" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecCustomersInvoices" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersInvoices" title="ecCustomersInvoices">
<Settings>
<Add name="IsReseller" value="True" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecCustomersServices" roles="Administrator,Reseller" adminskin="Browse1.ascx" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersServices" title="ecCustomersServices">
<Settings>
<Add name="IsReseller" value="True" />
</Settings>
</Module>
</Content>
</Page>
</Pages>
</Page>
<Page name="ecMyEcommerce" hidden="true" enabled="false" roles="Reseller,User">
<Pages>
<Page name="ecPaymentProfile" roles="Reseller,User" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomerPaymentProfile" title="ecCustomerPaymentProfile" />
</Content>
</Page>
<Page name="ecMyPayments" roles="Reseller,User" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersPayments" title="ecMyPayments">
<Settings>
<Add name="IsReseller" value="False" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecMyInvoices" roles="Reseller,User" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersInvoices" title="ecMyInvoices">
<Settings>
<Add name="IsReseller" value="False" />
</Settings>
</Module>
</Content>
</Page>
<Page name="ecMyServices" roles="Reseller,User" adminskin="Browse1.ascx" skin="Browse2.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ecCustomersServices" title="ecMyServices">
<Settings>
<Add name="IsReseller" value="False" />
</Settings>
</Module>
</Content>
</Page>
</Pages>
</Page>
</Pages>

View file

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<ModulesData>
<ModuleData id="UserMenu">
<MenuItem pageID="Home" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="User"/>
<MenuItem pageID="UserCustomers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
<MenuItem pageID="UserSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="HostingPlans" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
<MenuItem pageID="HostingAddons" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller"/>
<MenuItem pageID="UserPeers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="UserTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="AuditLog" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" selectedUserContext="Administrator,Reseller,User"/>
<MenuItem pageID="ecOnlineStore" roles="Reseller,ResellerCSR,ResellerHelpdesk,User" selectedUserContext="Reseller,User" ecuser="true" />
<MenuItem pageID="ecEcommerceAdmin" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" selectedUserContext="Administrator,Reseller,User" ecadmin="true">
<MenuItems>
<MenuItem pageID="ecEcommerceSettings" ecommerce="true" />
<MenuItem pageID="ecBillingCycles" />
<MenuItem pageID="ecHostingPlans" />
<MenuItem pageID="ecHostingAddons" />
<MenuItem pageID="ecDomainNames" />
<MenuItem pageID="ecTaxations" />
<MenuItem pageID="ecCategories" />
<MenuItem pageID="ecCustomersPayments" />
<MenuItem pageID="ecCustomersInvoices" />
<MenuItem pageID="ecCustomersServices" />
</MenuItems>
</MenuItem>
<MenuItem pageID="ecMyEcommerce" ecuser="true" roles="Reseller,ResellerCSR,ResellerHelpdesk,User" selectedUserContext="Reseller,User">
<MenuItems>
<MenuItem pageID="ecPaymentProfile" />
<MenuItem pageID="ecMyPayments" />
<MenuItem pageID="ecMyInvoices" />
<MenuItem pageID="ecMyServices" />
</MenuItems>
</MenuItem>
<!--MenuItem url="http://google.com" title="Google" target="_blank"/-->
</ModuleData>
<ModuleData id="SpaceMenu">
<MenuItem pageID="SpaceDomains" resourceGroup="OS" />
<MenuItem pageID="SpaceWebSites" resourceGroup="Web"/>
<MenuItem pageID="SpaceWebIPAddresses" resourceGroup="Web" />
<MenuItem pageID="SpaceFtpAccounts" resourceGroup="FTP"/>
<MenuItem pageID="SpaceMail" resourceGroup="Mail" disabled="True">
<MenuItems>
<MenuItem pageID="SpaceMailAccounts" quota="Mail.Accounts"/>
<MenuItem pageID="SpaceMailForwardings" quota="Mail.Forwardings"/>
<MenuItem pageID="SpaceMailGroups" quota="Mail.Groups"/>
<MenuItem pageID="SpaceMailLists" quota="Mail.Lists"/>
<MenuItem pageID="SpaceMailDomains" resourceGroup="Mail"/>
</MenuItems>
</MenuItem>
<MenuItem pageID="SpaceDatabases" disabled="True">
<MenuItems>
<MenuItem pageID="SpaceMsSql2000" resourceGroup="MsSQL2000"/>
<MenuItem pageID="SpaceMsSql2005" resourceGroup="MsSQL2005"/>
<MenuItem pageID="SpaceMsSql2008" resourceGroup="MsSQL2008"/>
<MenuItem pageID="SpaceMsSql2012" resourceGroup="MsSQL2012"/>
<MenuItem pageID="SpaceMsSql2014" resourceGroup="MsSQL2014"/>
<MenuItem pageID="SpaceMySql4" resourceGroup="MySQL4"/>
<MenuItem pageID="SpaceMySql5" resourceGroup="MySQL5"/>
</MenuItems>
</MenuItem>
<MenuItem pageID="SpaceSharePoint" resourceGroup="SharePoint" disabled="True">
<MenuItems>
<MenuItem pageID="SpaceSharePointSites"/>
<MenuItem pageID="SpaceSharePointUsers"/>
</MenuItems>
</MenuItem>
<MenuItem pageID="SpaceVPS" resourceGroup="VPS"/>
<MenuItem pageID="SpaceVPSForPC" resourceGroup="VPSForPC"/>
<MenuItem pageID="SpaceExchangeServer" resourceGroup="Hosted Organizations"/>
<MenuItem pageID="SpaceSharedSSL" resourceGroup="OS" quota="Web.SharedSSL"/>
<MenuItem pageID="SpaceAdvancedStatistics" resourceGroup="Statistics"/>
<MenuItem pageID="SpaceOdbc" resourceGroup="OS" quota="OS.ODBC"/>
<MenuItem pageID="SpaceFileManager" resourceGroup="OS" quota="OS.FileManager"/>
<MenuItem pageID="SpaceWebApplicationsGallery" resourceGroup="Web" quota="Web.WebAppGallery"/>
<MenuItem pageID="SpaceApplicationsInstaller" resourceGroup="OS" quota="OS.AppInstaller"/>
<MenuItem pageID="SpaceScheduledTasks" resourceGroup="OS" quota="OS.ScheduledTasks"/>
<!--CO Changes-->
<MenuItem pageID="SpaceApplyEnableHardQuotaFeature" resourceGroup="OS" quota=""/>
<!--END-->
<!--MenuItem url="http://phpmysqladmin.com" title="phpMyAdmin" target="_blank"
resourceGroup="MySQL4"/-->
<MenuItem pageID="LyncPhoneNumbers" resourceGroup="Hosted Organizations" />
</ModuleData>
<ModuleData id="SpaceIcons">
<Group pageID="SpaceHome" titleresourcekey="System">
<Icon pageID="SpaceHome" titleresourcekey="SpaceStatistics" imageUrl="icons/spacehome_48.png" />
<Icon pageID="SpaceDomains" resourceGroup="OS" imageUrl="icons/domains_48.png" />
<Icon pageID="SpaceFtpAccounts" resourceGroup="FTP" imageUrl="icons/ftp_48.png"/>
<Icon pageID="SpaceFileManager" resourceGroup="OS" quota="OS.FileManager" imageUrl="icons/filemanager_48.png"/>
<Icon pageID="SpaceApplicationsInstaller" resourceGroup="OS" quota="OS.AppInstaller" imageUrl="icons/applicationsinstaller_48.png"/>
<Icon pageID="SpaceScheduledTasks" resourceGroup="OS" quota="OS.ScheduledTasks" imageUrl="icons/scheduledtasks_48.png"/>
</Group>
<Group pageID="SpaceWeb" titleresourcekey="Web" disabled="True">
<Icon pageID="SpaceWebSites" resourceGroup="Web" imageUrl="icons/websites_48.png" />
<Icon pageID="SpaceWebIPAddresses" resourceGroup="Web" imageUrl="icons/webipaddresses_48.png" />
<Icon pageID="SpaceSharedSSL" resourceGroup="OS" quota="Web.SharedSSL" imageUrl="icons/sharedssl_48.png" />
<Icon pageID="SpaceAdvancedStatistics" resourceGroup="Statistics" imageUrl="icons/advancedstatistics_48.png" />
<Icon pageID="SpaceWebApplicationsGallery" resourceGroup="Web" quota="Web.WebAppGallery" imageUrl="icons/webapplicationsgallery_48.png"/>
</Group>
<Group pageID="SpaceMail" titleresourcekey="Email" resourceGroup="Mail" disabled="True">
<Icon pageID="SpaceMailAccounts" quota="Mail.Accounts" imageUrl="icons/mail_accounts_48.png"/>
<Icon pageID="SpaceMailForwardings" quota="Mail.Forwardings" imageUrl="icons/mail_forwardings_48.png"/>
<Icon pageID="SpaceMailGroups" quota="Mail.Groups" imageUrl="icons/mail_groups_48.png"/>
<Icon pageID="SpaceMailLists" quota="Mail.Lists" imageUrl="icons/mail_lists_48.png"/>
<Icon pageID="SpaceMailDomains" resourceGroup="Mail" imageUrl="icons/mail_domains_48.png"/>
</Group>
<Group pageID="SpaceDatabases" titleresourcekey="Databases" disabled="True">
<Icon pageID="SpaceMsSql2000" resourceGroup="MsSQL2000" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2005" resourceGroup="MsSQL2005" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2008" resourceGroup="MsSQL2008" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2012" resourceGroup="MsSQL2012" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMsSql2014" resourceGroup="MsSQL2014" imageUrl="icons/mssql_48.png"/>
<Icon pageID="SpaceMySql4" resourceGroup="MySQL4" imageUrl="icons/mysql_48.png"/>
<Icon pageID="SpaceMySql5" resourceGroup="MySQL5" imageUrl="icons/mysql_48.png"/>
<Icon pageID="SpaceOdbc" resourceGroup="OS" quota="OS.ODBC" imageUrl="icons/odbc_48.png"/>
</Group>
<Group pageID="SpaceHome" titleresourcekey="VPS" disabled="True">
<Icon pageID="SpaceVPS" resourceGroup="VPS" imageUrl="icons/vps_48.png" />
<Icon pageID="SpaceVPSForPC" resourceGroup="VPSForPC" imageUrl="icons/vpsforpc_48.png" />
</Group>
<!--
<Group pageID="SpaceSharePoint" resourceGroup="SharePoint" disabled="True">
<Icon pageID="SpaceSharePointSites" imageUrl="icons/colors_48.png"/>
<Icon pageID="SpaceSharePointUsers" imageUrl="icons/colors_48.png"/>
</Group>
-->
</ModuleData>
<ModuleData id="HostedSolutionMenu">
<MenuItem pageID="SpaceDomains"/>
<MenuItem pageID="Userds"/>
<MenuItem pageID="SpaceOrganizationHostedSharePoint" resourceGroup="Hosted SharePoint"/>
<MenuItem pageID="SpaceExchanged"/>
</ModuleData>
</ModulesData>

View file

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<SiteSettings>
<!-- Display Settings -->
<PortalName>WebsitePanel</PortalName>
<!-- Enterprise Server -->
<EnterpriseServer>http://127.0.0.1:9555</EnterpriseServer>
<!-- General Settings -->
<CultureCookieName>UserCulture</CultureCookieName>
<ThemeCookieName>UserTheme</ThemeCookieName>
<!-- Mail Settings -->
<AdminEmail>
</AdminEmail>
<SmtpHost>
</SmtpHost>
<SmtpPort>
</SmtpPort>
<SmtpUsername>
</SmtpUsername>
<SmtpPassword>
</SmtpPassword>
<FromEmail>
</FromEmail>
<!-- Pages -->
<DefaultPage>Home</DefaultPage>
<LoginPage>Login</LoginPage>
<UserHomePage>Home</UserHomePage>
<UserCustomersPage>UserCustomers</UserCustomersPage>
<SpaceHomePage>SpaceHome</SpaceHomePage>
<NestedSpacesPage>NestedSpaces</NestedSpacesPage>
<UsersSearchPage>SearchUsers</UsersSearchPage>
<SpacesSearchPage>SearchSpaces</SpacesSearchPage>
<LoggedUserAccountPage>LoggedUserDetails</LoggedUserAccountPage>
<!-- Skins and Containers -->
<PortalSkin>Browse2.ascx</PortalSkin>
<PortalContainer>Browse.ascx</PortalContainer>
<AdminSkin>Edit.ascx</AdminSkin>
<AdminContainer>Edit.ascx</AdminContainer>
<!-- SSL Settings -->
<UseSSL>false</UseSSL>
<HideDemoCheckbox>false</HideDemoCheckbox>
<HideThemeAndLocale>false</HideThemeAndLocale>
<ExcludedRolesToLogin></ExcludedRolesToLogin>
</SiteSettings>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<SupportedLocales>
<Locale name="English" key="en-US" fallback="" />
</SupportedLocales>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<Themes>
<Theme name="Default" title="Energy Blue" />
</Themes>

View file

@ -0,0 +1,664 @@
<?xml version="1.0" encoding="utf-8"?>
<ModuleDefinitions>
<!-- Common Modules -->
<ModuleDefinition id="SystemSettings">
<Controls>
<Control key="" src="WebsitePanel/SystemSettings.ascx" title="SearchUsers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="TextHTML">
<Controls>
<Control key="" src="WebsitePanel/TextHTML.ascx" title="TextHTML" type="View" />
</Controls>
</ModuleDefinition>
<!-- Common Modules -->
<ModuleDefinition id="SearchUsers">
<Controls>
<Control key="" src="WebsitePanel/SearchUsers.ascx" title="SearchUsers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SearchSpaces">
<Controls>
<Control key="" src="WebsitePanel/SearchSpaces.ascx" title="SearchSpaces" type="View" />
</Controls>
</ModuleDefinition>
<!-- User Account -->
<ModuleDefinition id="LoggedUserDetails">
<Controls>
<Control key="" src="WebsitePanel/LoggedUserEditDetails.ascx" title="LoggedUserDetails" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserAccountMenu">
<Controls>
<Control key="" src="WebsitePanel/UserAccountMenu.ascx" title="UserAccountMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserCustomers">
<Controls>
<Control key="" src="WebsitePanel/UserCustomers.ascx" title="UserCustomersSummary" type="View" />
<Control key="create_user" src="WebsitePanel/UserCreateUserAccount.ascx" title="UserCreateUserAccount" type="View" icon="user_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserCustomersSummary">
<Controls>
<Control key="" src="WebsitePanel/UserCustomersSummary.ascx" title="UserCustomersSummary" type="View" />
<Control key="create_user" src="WebsitePanel/UserCreateUserAccount.ascx" title="UserCreateUserAccount" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserSpaces">
<Controls>
<Control key="" src="WebsitePanel/UserSpaces.ascx" title="UserSpaces" type="View" />
<Control key="create_space" src="WebsitePanel/UserCreateSpace.ascx" title="UserCreateSpace" type="View" icon="sphere_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserNotes">
<Controls>
<Control key="" src="WebsitePanel/UserAccountNotes.ascx" title="UserAccountNotes" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserDetails">
<Controls>
<Control key="" src="WebsitePanel/UserAccountDetails.ascx" title="UserAccountDetails" type="View" />
<Control key="summary_letter" src="WebsitePanel/UserAccountSummaryLetter.ascx" title="UserAccountSummaryLetter" type="View" icon="admin_info_48.png" />
<Control key="edit_details" src="WebsitePanel/UserAccountEditDetails.ascx" title="UserAccountEditDetails" type="View" icon="admin_write_48.png" />
<Control key="change_password" src="WebsitePanel/UserAccountChangePassword.ascx" title="UserAccountChangePassword" type="View" icon="admin_lock_48.png" />
<Control key="delete" src="WebsitePanel/UserDeleteUserAccount.ascx" title="UserDeleteUserAccount" type="View" icon="admin_close_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserResellerSettings">
<Controls>
<Control key="" src="WebsitePanel/UserAccountSettings.ascx" title="UserAccountSettings" type="View" />
<Control key="mail_templates" src="WebsitePanel/UserAccountMailTemplateSettings.ascx" title="UserAccountMailTemplateSettings" type="View" icon="user_config_48.png" />
<Control key="policies" src="WebsitePanel/UserAccountPolicySettings.ascx" title="UserAccountPolicySettings" type="View" icon="user_config_48.png" />
<Control key="edit_settings" src="WebsitePanel/SettingsEditor.ascx" title="UserAccountSettingsEditor" type="View" icon="user_config_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserTools">
<Controls>
<Control key="" src="WebsitePanel/UserAccountTools.ascx" title="UserAccountTools" type="View" />
<Control key="backup" src="WebsitePanel/BackupWizard.ascx" title="BackupUser" type="View" />
<Control key="restore" src="WebsitePanel/RestoreWizard.ascx" title="RestoreUser" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Tasks">
<Controls>
<Control key="" src="WebsitePanel/Tasks.ascx" title="Tasks" type="View" />
<Control key="view_details" src="WebsitePanel/TasksTaskDetails.ascx" title="TasksTaskDetails" type="View" icon="hourglass_48.png" />
</Controls>
</ModuleDefinition>
<!-- Space -->
<ModuleDefinition id="SpaceMenu">
<Controls>
<Control key="" src="WebsitePanel/SpaceMenu.ascx" title="SpaceMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostedSolutionMenu">
<Controls>
<Control key="" src="WebsitePanel/SpaceMenu.ascx" title="SpaceMenu" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceQuotas">
<Controls>
<Control key="" src="WebsitePanel/SpaceQuotas.ascx" title="SpaceQuotas" type="View" />
<Control key="view_quotas" src="WebsitePanel/SpaceViewQuotas.ascx" title="SpaceViewQuotas" type="View" icon="sphere_level_48.png" />
<Control key="view_addon" src="WebsitePanel/SpaceViewAddon.ascx" title="SpaceViewAddon" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceNestedSpacesSummary">
<Controls>
<Control key="" src="WebsitePanel/SpaceNestedSpacesSummary.ascx" title="SpaceNestedSpacesSummary" type="View" />
<Control key="spaces" src="WebsitePanel/SpaceNestedSpaces.ascx" title="SpaceNestedSpaces" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceNotes">
<Controls>
<Control key="" src="WebsitePanel/SpaceNotes.ascx" title="SpaceNotes" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceDetails">
<Controls>
<Control key="" src="WebsitePanel/SpaceDetails.ascx" title="SpaceDetails" type="View" />
<Control key="edit_details" src="WebsitePanel/SpaceEditDetails.ascx" title="SpaceEditDetails" type="View" icon="sphere_write_48.png" />
<Control key="summary_letter" src="WebsitePanel/SpaceSummaryLetter.ascx" title="SpaceSummaryLetter" type="View" icon="sphere_info_48.png" />
<Control key="delete" src="WebsitePanel/SpaceDeleteSpace.ascx" title="SpaceDeleteSpace" type="View" icon="sphere_close_48.png" />
<Control key="edit_addon" src="WebsitePanel/SpaceEditAddon.ascx" title="SpaceEditAddon" type="View" icon="sphere_star_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceSettings">
<Controls>
<Control key="" src="WebsitePanel/SpaceSettings.ascx" title="SpaceSettings" type="View" />
<Control key="edit_settings" src="WebsitePanel/SpaceSettingsEditor.ascx" title="SpaceSettingsEditor" type="View" icon="sphere_config_48.png" />
<Control key="edit_globaldns" src="WebsitePanel/SpaceEditDnsRecords.ascx" title="SpaceEditDnsRecords" type="View" icon="sphere_config_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SpaceTools">
<Controls>
<Control key="" src="WebsitePanel/SpaceTools.ascx" title="SpaceTools" type="View" />
<Control key="backup" src="WebsitePanel/BackupWizard.ascx" title="BackupSpace" type="View" />
<Control key="restore" src="WebsitePanel/RestoreWizard.ascx" title="RestoreSpace" type="View" />
<Control key="import" src="WebsitePanel/SpaceImportResources.ascx" title="ImportSpaceResources" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="NestedSpaces">
<Controls>
<Control key="" src="WebsitePanel/SpaceNestedSpaces.ascx" title="SpaceNestedSpaces" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="IPAddresses">
<Controls>
<Control key="" src="WebsitePanel/IPAddresses.ascx" title="IPAddressesManager" type="View" />
<Control key="add_ip" src="WebsitePanel/IPAddressesAddIPAddress.ascx" title="AddIPAddress" type="View" icon="adress_add_48.png" />
<Control key="edit_ip" src="WebsitePanel/IPAddressesEditIPAddress.ascx" title="EditIPAddress" type="View" icon="adress_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="PhoneNumbers">
<Controls>
<Control key="" src="WebsitePanel/PhoneNumbers.ascx" title="PhoneNumbers" type="View" />
<Control key="add_phone" src="WebsitePanel/PhoneNumbersAddPhoneNumber.ascx" title="AddPhoneNumber" type="View" icon="adress_add_48.png" />
<Control key="edit_phone" src="WebsitePanel/PhoneNumbersEditPhoneNumber.ascx" title="EditPhoneNumber" type="View" icon="adress_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="RDSServers">
<Controls>
<Control key="" src="WebsitePanel/RDSServers.ascx" title="RDSServers" type="View" />
<Control key="add_rdsserver" src="WebsitePanel/RDSServersAddserver.ascx" title="RDSServersAddserver" type="View" icon="computer_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Servers">
<Controls>
<Control key="" src="WebsitePanel/Servers.ascx" title="Servers" type="View" />
<Control key="add_ip" src="WebsitePanel/IPAddressesAddIPAddress.ascx" title="AddIPAddress" type="View" icon="adress_add_48.png" />
<Control key="add_server" src="WebsitePanel/ServersAddServer.ascx" title="AddServer" type="View" icon="computer_add_48.png" />
<Control key="add_service" src="WebsitePanel/ServersAddService.ascx" title="AddNewService" type="View" icon="computer_config_48.png" />
<Control key="edit_eventviewer" src="WebsitePanel/ServersEditEventViewer.ascx" title="ServerEventViewer" type="View" icon="table_48.png" />
<Control key="edit_ip" src="WebsitePanel/IPAddressesEditIPAddress.ascx" title="EditIPAddress" type="View" icon="adress_48.png" />
<Control key="edit_processes" src="WebsitePanel/ServersEditSystemProcesses.ascx" title="ManageServerSystemProcesses" type="View" icon="windows_window_48.png" />
<Control key="edit_reboot" src="WebsitePanel/ServersEditReboot.ascx" title="RebootServer" type="View" icon="switch_off_48.png" />
<Control key="edit_server" src="WebsitePanel/ServersEditServer.ascx" title="ServerProperties" type="View" icon="computer_48.png" />
<Control key="edit_service" src="WebsitePanel/ServersEditService.ascx" title="ServiceProperties" type="View" icon="computer_config_48.png" />
<Control key="edit_termservices" src="WebsitePanel/ServersEditTerminalConnections.ascx" title="ManageTerminalConnections" type="View" icon="windows_window_zoom_48.png" />
<Control key="edit_winservices" src="WebsitePanel/ServersEditWindowsServices.ascx" title="ManageWindowsServices" type="View" icon="windows_window_config_48.png" />
<Control key="edit_platforminstaller" src="WebsitePanel/ServersEditWebPlatformInstaller.ascx" title="ManagePlatformInstaller" type="View" icon="computer_config_48.png" />
<Control key="backup" src="WebsitePanel/BackupWizard.ascx" title="BackupServer" type="View" />
<Control key="restore" src="WebsitePanel/RestoreWizard.ascx" title="RestoreServer" type="View" />
<Control key="edit_htaccessfolder" src="WebsitePanel/WebSitesEditHeliconApeFolder.ascx" title="HeliconApeFolderProperties" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="VirtualServers">
<Controls>
<Control key="" src="WebsitePanel/VirtualServers.ascx" title="VirtualServers" type="View" />
<Control key="add_server" src="WebsitePanel/VirtualServersAddServer.ascx" title="AddNewVirtualServer" type="View" icon="network_add_48.png" />
<Control key="add_services" src="WebsitePanel/VirtualServersAddServices.ascx" title="AddVirtualServerServices" type="View" icon="network_config_48.png" />
<Control key="edit_server" src="WebsitePanel/VirtualServersEditServer.ascx" title="EditVirtualServer" type="View" icon="network_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyUsers">
<Controls>
<Control key="" src="WebsitePanel/Users.ascx" title="Users" type="View" />
<Control key="delete_user" src="WebsitePanel/UsersDeleteUser.ascx" title="DeleteUserAccount" type="View" />
<Control key="edit_user" src="WebsitePanel/UsersEditUser.ascx" title="EditUserDetails" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UserPeers">
<Controls>
<Control key="" src="WebsitePanel/Peers.ascx" title="PeerAccounts" type="View" />
<Control key="edit_peer" src="WebsitePanel/PeersEditPeer.ascx" title="EditPeerAccount" type="View" icon="motion_blur_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostingPlans">
<Controls>
<Control key="" src="WebsitePanel/HostingPlans.ascx" title="HostingPlans" type="View" />
<Control key="edit_plan" src="WebsitePanel/HostingPlansEditPlan.ascx" title="EditHostingPlan" type="View" icon="inventory_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostingAddons">
<Controls>
<Control key="" src="WebsitePanel/HostingAddons.ascx" title="HostingAddOns" type="View" />
<Control key="edit_addon" src="WebsitePanel/HostingAddonsEditAddon.ascx" title="EditHostingAddOn" type="View" icon="inventory_add_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Domains">
<Controls>
<Control key="" src="WebsitePanel/Domains.ascx" title="Domains" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomainSelectType.ascx" title="AddNewDomain" type="View" icon="world_add_48.png" />
<Control key="add_domain_step2" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" icon="world_add_48.png" />
<Control key="edit_item" src="WebsitePanel/DomainsEditDomain.ascx" title="EditDomain" type="View" icon="world_48.png" />
<Control key="zone_records" src="WebsitePanel/DnsZoneRecords.ascx" title="DNSZoneRecords" type="View" icon="world_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="HostedSharePointSiteCollections">
<Controls>
<Control key="" src="WebsitePanel/HostedSharePointSiteCollections.ascx" title="HostedSharePointSiteCollections" type="View" icon="colors_48.png"/>
<Control key="edit_item" src="WebsitePanel/HostedSharePointEditSiteCollection.ascx" title="HostedSharePointSiteCollection" type="View" icon="colors_48.png" />
<Control key="backup" src="WebsitePanel/HostedSharePointBackupSiteCollection.ascx" title="HostedSharePointBackupSiteCollection" type="View"/>
<Control key="restore" src="WebsitePanel/HostedSharePointRestoreSiteCollection.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
</Controls>
</ModuleDefinition>
<ModuleDefinition id="FileManager">
<Controls>
<Control key="" src="WebsitePanel/FileManager.ascx" title="HostingSpaceFiles" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="WebSites">
<Controls>
<Control key="" src="WebsitePanel/WebSites.ascx" title="WebSites" type="View" />
<Control key="add_pointer" src="WebsitePanel/WebSitesAddPointer.ascx" title="AddWebSiteDomainPointer" type="View" />
<Control key="add_site" src="WebsitePanel/WebSitesAddSite.ascx" title="AddWebSite" type="View" icon="location_add_48.png" />
<Control key="add_vdir" src="WebsitePanel/WebSitesAddVirtualDir.ascx" title="AddVirtualDirectory" type="View" icon="file_add_48.png" />
<Control key="edit_item" src="WebsitePanel/WebSitesEditSite.ascx" title="WebSiteProperties" type="View" icon="location_48.png" />
<Control key="edit_vdir" src="WebsitePanel/WebSitesEditVirtualDir.ascx" title="VirtualDirectoryProperties" type="View" icon="file_48.png" />
<Control key="edit_webfolder" src="WebsitePanel/WebSitesEditWebFolder.ascx" title="SecuredFolderProperties" type="View" />
<Control key="edit_webgroup" src="WebsitePanel/WebSitesEditWebGroup.ascx" title="SecureGroupProperties" type="View" />
<Control key="edit_webuser" src="WebsitePanel/WebSitesEditWebUser.ascx" title="SecureUserProperties" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddDomain" type="View" />
<Control key="edit_htaccessfolder" src="WebsitePanel/WebSitesEditHeliconApeFolder.ascx" title="HeliconApeFolderProperties" type="View" />
<Control key="edit_htaccessfolderauth" src="WebsitePanel/WebSitesEditHeliconApeFolderAuth.ascx" title="HeliconApeFolderAuthProperties" type="View" />
<Control key="edit_htaccessgroup" src="WebsitePanel/WebSitesEditHeliconApeGroup.ascx" title="HeliconApeGroupProperties" type="View" />
<Control key="edit_htaccessuser" src="WebsitePanel/WebSitesEditHeliconApeUser.ascx" title="HeliconApeUserProperties" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="WebSiteIPAddresses">
<Controls>
<Control key="" src="WebsitePanel/WebSitesIPAddresses.ascx" title="WebSitesIPAddresses" type="View" />
<Control key="allocate_addresses" src="WebsitePanel/WebSitesAllocateIPAddresses.ascx" title="WebSitesAllocateIPAddresses" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="LyncPhoneNumbers">
<Controls>
<Control key="" src="WebsitePanel/LyncPhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="FtpAccounts">
<Controls>
<Control key="" src="WebsitePanel/FtpAccounts.ascx" title="FTPAccounts" type="View" />
<Control key="edit_item" src="WebsitePanel/FtpAccountEditAccount.ascx" title="FTPAccountProperties" type="View" icon="folder_up_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailAccounts">
<Controls>
<Control key="" src="WebsitePanel/MailAccounts.ascx" title="MailAccounts" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" icon="" />
<Control key="edit_item" src="WebsitePanel/MailAccountsEditAccount.ascx" title="MailAccountProperties" type="View" icon="accounting_mail_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailForwardings">
<Controls>
<Control key="" src="WebsitePanel/MailForwardings.ascx" title="MailForwardings" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="edit_item" src="WebsitePanel/MailForwardingsEditForwarding.ascx" title="MailForwardingProperties" type="View" icon="safe-mail_next_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailGroups">
<Controls>
<Control key="" src="WebsitePanel/MailGroups.ascx" title="MailGroups" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="edit_item" src="WebsitePanel/MailGroupsEditGroup.ascx" title="MailGroupProperties" type="View" icon="contacts_mail_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailLists">
<Controls>
<Control key="" src="WebsitePanel/MailLists.ascx" title="MailLists" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="edit_item" src="WebsitePanel/MailListsEditList.ascx" title="MailListProperties" type="View" icon="discussion_group_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MailDomains">
<Controls>
<Control key="" src="WebsitePanel/MailDomains.ascx" title="MailDomains" type="View" />
<Control key="add_domain" src="WebsitePanel/DomainsAddDomain.ascx" title="AddNewDomain" type="View" />
<Control key="add_pointer" src="WebsitePanel/MailDomainsAddPointer.ascx" title="AddMailDomainPointer" type="View" />
<Control key="edit_item" src="WebsitePanel/MailDomainsEditDomain.ascx" title="MailDomainProperties" type="View" icon="web_mail_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SqlDatabases">
<Controls>
<Control key="" src="WebsitePanel/SqlDatabases.ascx" title="SQLDatabases" type="View" />
<Control key="backup" src="WebsitePanel/SqlBackupDatabase.ascx" title="BackupSQLDatabase" type="View" icon="database2_save_48.png" />
<Control key="edit_item" src="WebsitePanel/SqlEditDatabase.ascx" title="SQLDatabaseProperties" type="View" icon="database2_48.png" />
<Control key="restore" src="WebsitePanel/SqlRestoreDatabase.ascx" title="RestoreSQLDatabase" type="View" icon="database2_reload_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SqlUsers">
<Controls>
<Control key="" src="WebsitePanel/SqlUsers.ascx" title="SQLUsers" type="View" />
<Control key="edit_item" src="WebsitePanel/SqlEditUser.ascx" title="SQLUserProperties" type="View" icon="db_user_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharePointUsers">
<Controls>
<Control key="" src="WebsitePanel/SharePointUsers.ascx" title="SharePointUsers" type="View" />
<Control key="edit_item" src="WebsitePanel/SharePointUsersEditUser.ascx" title="SharePointUserProperties" type="View" icon="user_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharePointGroups">
<Controls>
<Control key="" src="WebsitePanel/SharePointGroups.ascx" title="SharePointGroups" type="View" />
<Control key="edit_item" src="WebsitePanel/SharePointGroupsEditGroup.ascx" title="SharePointGroup" type="View" icon="group_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="AdvancedStatistics">
<Controls>
<Control key="" src="WebsitePanel/Statistics.ascx" title="AdvancedStatistics" type="View" />
<Control key="edit_item" src="WebsitePanel/StatisticsEditStatistics.ascx" title="AdvancedStatisticsInstallation" type="View" icon="stadistics_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="UsersWizard">
<Controls>
<Control key="" src="WebsitePanel/UsersCreationWizard.ascx" title="AccountCreationWizard" type="View" />
<Control key="complete" src="WebsitePanel/UsersCreationWizardComplete.ascx" title="AccountCreationComplete" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="WebApplicationsGallery">
<Controls>
<Control key="" src="WebsitePanel/WebApplicationGallery.ascx" title="WebApplicationsGallery" type="View" />
<Control key="complete" src="WebsitePanel/InstallerInstallApplicationComplete.ascx" title="InstallationComplete" type="View" icon="dvd_disc_ok_48.png" />
<Control key="edit" src="WebsitePanel/WebApplicationGalleryInstall.ascx" title="DownloadWebApplication" type="View" icon="dvd_disc_48.png" />
<Control key="editParams" src="WebsitePanel/WebApplicationGalleryParams.ascx" title="WebApplicationParameters" type="View" icon="dvd_disc_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="Login">
<Controls>
<Control key="" src="WebsitePanel/Login.ascx" title="SignIn" type="View" />
<Control key="forgot_password" src="WebsitePanel/LoginForgotPassword.ascx" title="PasswordReminder" type="View" />
<Control key="scpa" src="WebsitePanel/SetupControlPanelAccounts.ascx" title="SetupControlPanelAccounts" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="AuditLog">
<Controls>
<Control key="" src="WebsitePanel/AuditLog.ascx" title="AuditLog" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ScheduledTasks">
<Controls>
<Control key="" src="WebsitePanel/Schedules.ascx" title="ScheduledTasks" type="View" />
<Control key="edit" src="WebsitePanel/SchedulesEditSchedule.ascx" title="ScheduledTaskProperties" type="View" icon="calendar_month_2_clock_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="OverusageReport">
<Controls>
<Control key="" src="WebsitePanel/OverusageReport.ascx" title="OverusageReport" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="DiskspaceReport">
<Controls>
<Control key="" src="WebsitePanel/DiskspaceReport.ascx" title="DiskSpaceSummary" type="View" />
<Control key="edit" src="WebsitePanel/DiskspaceReportPackageDetails.ascx" title="HostingSpaceDiskSpaceDetails" type="View" icon="stadistics_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="BandwidthReport">
<Controls>
<Control key="" src="WebsitePanel/BandwidthReport.ascx" title="BandwidthReport" type="View" />
<Control key="edit" src="WebsitePanel/BandwidthReportPackageDetails.ascx" title="HostingSpaceBandwidthDetails" type="View" icon="stadistics_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyWeb">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyMail">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyDatabases">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="MyExtras">
<Controls>
<Control key="" src="WebsitePanel/IconsPad.ascx" title="Icons" type="View" />
<Control key="edit" src="WebsitePanel/IconsPadEditIcon.ascx" title="EditIconProperties" type="View" />
<Control key="settings" src="WebsitePanel/IconsPadSettings.ascx" title="IconsPadSettings" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ODBC">
<Controls>
<Control key="" src="WebsitePanel/OdbcSources.ascx" title="ODBCDSNs" type="View" />
<Control key="edit_item" src="WebsitePanel/OdbcEditSource.ascx" title="ODBCDSNProperties" type="View" icon="export_db_back_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharePointSites">
<Controls>
<Control key="" src="WebsitePanel/SharePointSites.ascx" title="SharePointSites" type="View" />
<Control key="backup" src="WebsitePanel/SharePointBackupSite.ascx" title="BackupSharePointSite" type="View" />
<Control key="edit_item" src="WebsitePanel/SharePointEditSite.ascx" title="SharePointSite" type="View" icon="colors_48.png" />
<Control key="install_webparts" src="WebsitePanel/SharePointInstallWebPartPackage.ascx" title="InstallSharePointWebPartsPackage" type="View" />
<Control key="restore" src="WebsitePanel/SharePointRestoreSite.ascx" title="RestoreSharePointSite" type="View" />
<Control key="webparts" src="WebsitePanel/SharePointWebPartPackages.ascx" title="InstalledSharePointWebPartPackages" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="SharedSSL">
<Controls>
<Control key="" src="WebsitePanel/SharedSSLFolders.ascx" title="SharedSSLFolders" type="View" />
<Control key="add" src="WebsitePanel/SharedSSLAddFolder.ascx" title="AddSharedSSLFolder" type="View" icon="world_lock_48.png" />
<Control key="edit_item" src="WebsitePanel/SharedSSLEditFolder.ascx" title="SharedSSLFolderProperties" type="View" icon="world_lock_48.png" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="ExchangeServer">
<Controls>
<Control key="" src="WebsitePanel/ExchangeServer/Organizations.ascx" title="Organizations" type="View" />
<Control key="edit_user" src="WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx" title="OrganizationUserGeneralSettings" type="View" />
<Control key="users" src="WebsitePanel/ExchangeServer/OrganizationUsers.ascx" title="OrganizationUsers" type="View" />
<Control key="create_user" src="WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx" title="CreateUser" type="View" />
<Control key="create_organization" src="WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx" title="OrganizationCreateOrganization" type="View" />
<Control key="organization_home" src="WebsitePanel/ExchangeServer/OrganizationHome.ascx" title="OrganizationHome" type="View" />
<Control key="organization_user_setup" src="WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx" title="OrganizationUserSetupInstructions" type="View" />
<Control key="mailboxes" src="WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx" title="ExchangeMailboxes" type="View" />
<Control key="archivingmailboxes" src="WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx" title="ExchangeArchivingMailboxes" type="View" />
<Control key="create_mailbox" src="WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx" title="ExchangeCreateMailbox" type="View" />
<Control key="mailbox_settings" src="WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx" title="ExchangeMailboxGeneralSettings" type="View" />
<Control key="mailbox_mobile" src="WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx" title="ExchangeMailboxMobile" type="View" />
<Control key="mailbox_mobile_details" src="WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx" title="ExchangeMailboxMobile" type="View" />
<Control key="mailbox_addresses" src="WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx" title="ExchangeMailboxEmailAddresses" type="View" />
<Control key="mailbox_mailflow" src="WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx" title="ExchangeMailboxMailFlowSettings" type="View" />
<Control key="mailbox_permissions" src="WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx" title="ExchangeMailboxPermissions" type="View" />
<Control key="mailbox_advanced" src="WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx" title="ExchangeMailboxAdvancedSettings" type="View" />
<Control key="mailbox_setup" src="WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx" title="ExchangeMailboxSetupInstructions" type="View" />
<Control key="contacts" src="WebsitePanel/ExchangeServer/ExchangeContacts.ascx" title="ExchangeContacts" type="View" />
<Control key="create_contact" src="WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx" title="ExchangeCreateContact" type="View" />
<Control key="contact_settings" src="WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx" title="ExchangeContactGeneralSettings" type="View" />
<Control key="contact_mailflow" src="WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx" title="ExchangeContactMailFlowSettings" type="View" />
<Control key="dlists" src="WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx" title="ExchangeDistributionLists" type="View" />
<Control key="create_dlist" src="WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx" title="ExchangeCreateDistributionList" type="View" />
<Control key="dlist_settings" src="WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx" title="ExchangeDistributionListGeneralSettings" type="View" />
<Control key="dlist_addresses" src="WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx" title="ExchangeDistributionListEmailAddresses" type="View" />
<Control key="dlist_mailflow" src="WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx" title="ExchangeDistributionListMailFlowSettings" type="View" />
<Control key="dlist_permissions" src="WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx" title="ExchangeDistributionListMailFlowSettings" type="View" />
<Control key="mailbox_memberof" src="WebsitePanel/ExchangeServer/ExchangeMailboxMemberOf.ascx" title="ExchangeMailboxMemberOf" type="View" />
<Control key="dlist_memberof" src="WebsitePanel/ExchangeServer/ExchangeDistributionListMemberOf.ascx" title="ExchangeDistributionListMemberOf" type="View" />
<Control key="user_memberof" src="WebsitePanel/ExchangeServer/OrganizationUserMemberOf.ascx" title="UserMemberOf" type="View" />
<Control key="disclaimers" src="WebsitePanel/ExchangeServer/ExchangeDisclaimers.ascx" title="ExchangeDisclaimers" type="View" />
<Control key="disclaimers_settings" src="WebsitePanel/ExchangeServer/ExchangeDisclaimerGeneralSettings.ascx" title="ExchangeDisclaimerGeneralSettings" type="View" />
<Control key="public_folders" src="WebsitePanel/ExchangeServer/ExchangePublicFolders.ascx" title="ExchangePublicFolders" type="View" />
<Control key="create_public_folder" src="WebsitePanel/ExchangeServer/ExchangeCreatePublicFolder.ascx" title="ExchangeCreatePublicFolder" type="View" />
<Control key="public_folder_settings" src="WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx" title="ExchangePublicFolderGeneralSettings" type="View" />
<Control key="public_folder_addresses" src="WebsitePanel/ExchangeServer/ExchangePublicFolderEmailAddresses.ascx" title="ExchangePublicFolderEmailAddresses" type="View" />
<Control key="public_folder_mailflow" src="WebsitePanel/ExchangeServer/ExchangePublicFolderMailFlowSettings.ascx" title="ExchangePublicFolderMailFlowSettings" type="View" />
<Control key="public_folder_mailenable" src="WebsitePanel/ExchangeServer/ExchangePublicFolderMailEnable.ascx" title="ExchangePublicFolderMailEnable" type="View" />
<Control key="domains" src="WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx" title="ExchangeDomainNames" type="View" />
<Control key="org_domains" src="WebsitePanel/ExchangeServer/OrganizationDomainNames.ascx" title="OrganizationDomainNames" type="View" />
<Control key="org_add_domain" src="WebsitePanel/ExchangeServer/OrganizationAddDomainName.ascx" title="OrganizationAddDomainName" type="View" />
<Control key="add_domain" src="WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx" title="ExchangeAddDomainName" type="View" />
<Control key="domain_records" src="WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx" title="ExchangeDomainRecords" type="View" />
<Control key="storage_usage" src="WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx" title="ExchangeStorageUsage" type="View" />
<Control key="storage_usage_details" src="WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx" title="ExchangeStorageUsageBreakdown" type="View" />
<Control key="storage_limits" src="WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx" title="ExchangeStorageLimits" type="View" />
<Control key="activesync_policy" src="WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx" title="ExchangeActiveSyncSettings" type="View" />
<Control key="mailboxplans" src="WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx" title="ExchangeMailboxPlans" type="View" />
<Control key="retentionpolicy" src="WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx" title="ExchangeRetentionPolicy" type="View" />
<Control key="retentionpolicytag" src="WebsitePanel/ExchangeServer/ExchangeRetentionPolicyTag.ascx" title="ExchangeRetentionPolicyTag" type="View" />
<Control key="add_mailboxplan" src="WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx" title="ExchangeAddMailboxPlan" type="View" />
<Control key="CRMOrganizationDetails" src="WebsitePanel/CRM/CRMOrganizationDetails.ascx" title="ExchangeActiveSyncSettings" type="View" />
<Control key="CRMUsers" src="WebsitePanel/CRM/CRMUsers.ascx" title="CRM Users" type="View" />
<Control key="CRMUserRoles" src="WebsitePanel/CRM/CRMUserRoles.ascx" title="CRM User Roles" type="View" />
<Control key="create_crm_user" src="WebsitePanel/CRM/CreateCRMUser.ascx" title="Create CRM User" type="View" />
<Control key="crm_storage_settings" src="WebsitePanel/CRM/CRMStorageSettings.ascx" title="CRMRestoreSiteCollection" type="View"/>
<Control key="sharepoint_sitecollections" src="WebsitePanel/HostedSharePointSiteCollections.ascx" title="HostedSharePointSiteCollections" type="View" icon="colors_48.png"/>
<Control key="sharepoint_edit_sitecollection" src="WebsitePanel/HostedSharePointEditSiteCollection.ascx" title="HostedSharePointSiteCollection" type="View" icon="colors_48.png" />
<Control key="sharepoint_backup_sitecollection" src="WebsitePanel/HostedSharePointBackupSiteCollection.ascx" title="HostedSharePointBackupSiteCollection" type="View"/>
<Control key="sharepoint_restore_sitecollection" src="WebsitePanel/HostedSharePointRestoreSiteCollection.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
<Control key="sharepoint_storage_settings" src="WebsitePanel/HostedSharePointStorageSettings.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
<Control key="sharepoint_storage_usage" src="WebsitePanel/HostedSharePointStorageUsage.ascx" title="HostedSharePointRestoreSiteCollection" type="View"/>
<Control key="blackberry_users" src="WebsitePanel/BlackBerry/BlackBerryUsers.ascx" title="BlackBerry Users" type="View" />
<Control key="create_new_blackberry_user" src="WebsitePanel/BlackBerry/CreateNewBlackBerryUser.ascx" title="Create New BlackBerry User" type="View" />
<Control key="edit_blackberry_user" src="WebsitePanel/BlackBerry/EditBlackBerryUser.ascx" title="Edit BlackBerry User" type="View" />
<Control key="ocs_users" src="WebsitePanel/OCS/OCSUsers.ascx" title="OCS Users" type="View" />
<Control key="create_new_ocs_user" src="WebsitePanel/OCS/CreateOCSUser.ascx" title="Create New OCS User" type="View" />
<Control key="edit_ocs_user" src="WebsitePanel/OCS/EditOCSUser.ascx" title="Edit OCS User" type="View" />
<Control key="lync_users" src="WebsitePanel/Lync/LyncUsers.ascx" title="Lync Users" type="View" />
<Control key="create_new_lync_user" src="WebsitePanel/Lync/LyncCreateUser.ascx" title="Create New Lync User" type="View" />
<Control key="lync_userplans" src="WebsitePanel/Lync/LyncUserPlans.ascx" title="LyncUserPlans" type="View" />
<Control key="lync_federationdomains" src="WebsitePanel/Lync/LyncFederationDomains.ascx" title="LyncFederationDomains" type="View" />
<Control key="add_lyncfederation_domain" src="WebsitePanel/Lync/LyncAddFederationDomain.ascx" title="LyncAddFederationDomain" type="View" />
<Control key="add_lyncuserplan" src="WebsitePanel/Lync/LyncAddLyncUserPlan.ascx" title="LyncAddLyncUserPlan" type="View" />
<Control key="edit_lync_user" src="WebsitePanel/Lync/LyncEditUser.ascx" title="Edit Lync User" type="View" />
<Control key="secur_groups" src="WebsitePanel/ExchangeServer/OrganizationSecurityGroups.ascx" title="OrganizationSecurityGroups" type="View" />
<Control key="create_secur_group" src="WebsitePanel/ExchangeServer/OrganizationCreateSecurityGroup.ascx" title="OrganizationSecurityGroup" type="View" />
<Control key="secur_group_settings" src="WebsitePanel/ExchangeServer/OrganizationSecurityGroupGeneralSettings.ascx" title="OrganizationSecurityGroup" type="View" />
<Control key="secur_group_memberof" src="WebsitePanel/ExchangeServer/OrganizationSecurityGroupMemberOf.ascx" title="OrganizationSecurityGroupMemberOf" type="View" />
<Control key="enterprisestorage_folders" src="WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx" title="Enterprise Storage Folders" type="View" />
<Control key="create_enterprisestorage_folder" src="WebsitePanel/ExchangeServer/EnterpriseStorageCreateFolder.ascx" title="Create New ES Folder" type="View" />
<Control key="enterprisestorage_folder_settings" src="WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx" title="Edit ES Folder" type="View" />
<Control key="enterprisestorage_drive_maps" src="WebsitePanel/ExchangeServer/EnterpriseStorageDriveMaps.ascx" title="Enterprise Storage Drive Maps" type="View" />
<Control key="create_enterprisestorage_drive_map" src="WebsitePanel/ExchangeServer/EnterpriseStorageCreateDriveMap.ascx" title="Create New ES Drive Map" type="View" />
<Control key="lync_phonenumbers" src="WebsitePanel/Lync/LyncPhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
<Control key="allocate_phonenumbers" src="WebsitePanel/Lync/LyncAllocatePhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
<Control key="rds_servers" src="WebsitePanel/RDS/AssignedRDSServers.ascx" title="RDSServers" type="View" />
<Control key="rds_add_server" src="WebsitePanel/RDS/AddRDSServer.ascx" title="AddRDSServer" type="View" />
<Control key="rds_collections" src="WebsitePanel/RDS/RDSCollections.ascx" title="RDSCollections" type="View" />
<Control key="rds_create_collection" src="WebsitePanel/RDS/RDSCreateCollection.ascx" title="RDSCreateCollection" type="View" />
<Control key="rds_collection_edit_apps" src="WebsitePanel/RDS/RDSEditCollectionApps.ascx" title="RDSEditCollectionApps" type="View" />
<Control key="rds_collection_edit_users" src="WebsitePanel/RDS/RDSEditCollectionUsers.ascx" title="RDSEditCollectionUsers" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="VPS">
<Controls>
<Control key="" src="WebsitePanel/VPS/VdcHome.ascx" title="VdcHome" type="View" />
<Control key="vdc_create_server" src="WebsitePanel/VPS/VdcCreateServer.ascx" title="VdcCreateServer" type="View" />
<Control key="vdc_import_server" src="WebsitePanel/VPS/VdcImportServer.ascx" title="VdcImportServer" type="View" />
<Control key="vdc_external_network" src="WebsitePanel/VPS/VdcExternalNetwork.ascx" title="VdcExternalNetwork" type="View" />
<Control key="vdc_management_network" src="WebsitePanel/VPS/VdcManagementNetwork.ascx" title="VdcManagementNetwork" type="View" />
<Control key="vdc_allocate_external_ip" src="WebsitePanel/VPS/VdcAddExternalAddress.ascx" title="VdcAddExternalAddress" type="View" />
<Control key="vdc_private_network" src="WebsitePanel/VPS/VdcPrivateNetwork.ascx" title="VdcPrivateNetwork" type="View" />
<Control key="vdc_permissions" src="WebsitePanel/VPS/VdcPermissions.ascx" title="VdcPermissions" type="View" />
<Control key="vdc_audit_log" src="WebsitePanel/VPS/VdcAuditLog.ascx" title="VdcAuditLog" type="View" />
<Control key="vps_general" src="WebsitePanel/VPS/VpsDetailsGeneral.ascx" title="VpsDetailsGeneral" type="View" />
<Control key="vps_config" src="WebsitePanel/VPS/VpsDetailsConfiguration.ascx" title="VpsDetailsConfiguration" type="View" />
<Control key="vps_edit_config" src="WebsitePanel/VPS/VpsDetailsEditConfiguration.ascx" title="VpsDetailsEditConfiguration" type="View" />
<Control key="vps_dvd" src="WebsitePanel/VPS/VpsDetailsDvd.ascx" title="VpsDetailsDvd" type="View" />
<Control key="vps_insert_dvd" src="WebsitePanel/VPS/VpsDetailsInsertDvd.ascx" title="VpsDetailsInsertDvd" type="View" />
<Control key="vps_snapshots" src="WebsitePanel/VPS/VpsDetailsSnapshots.ascx" title="VpsDetailsSnapshots" type="View" />
<Control key="vps_network" src="WebsitePanel/VPS/VpsDetailsNetwork.ascx" title="VpsDetailsNetwork" type="View" />
<Control key="vps_add_external_ip" src="WebsitePanel/VPS/VpsDetailsAddExternalAddress.ascx" title="VpsDetailsAddExternalAddress" type="View" />
<Control key="vps_add_private_ip" src="WebsitePanel/VPS/VpsDetailsAddPrivateAddress.ascx" title="VpsDetailsAddPrivateAddress" type="View" />
<Control key="vps_permissions" src="WebsitePanel/VPS/VpsDetailsPermissions.ascx" title="VpsDetailsNetworking" type="View" />
<Control key="vps_tools" src="WebsitePanel/VPS/VpsDetailsTools.ascx" title="VpsDetailsTools" type="View" />
<Control key="vps_audit_log" src="WebsitePanel/VPS/VpsDetailsAuditLog.ascx" title="VpsDetailsAuditLog" type="View" />
<Control key="vps_help" src="WebsitePanel/VPS/VpsDetailsHelp.ascx" title="VpsDetailsHelp" type="View" />
<Control key="vps_tools_delete" src="WebsitePanel/VPS/VpsToolsDeleteServer.ascx" title="VpsToolsDeleteServer" type="View" />
<Control key="vps_tools_move" src="WebsitePanel/VPS/VpsMoveServer.ascx" title="VpsMoveServer" type="View" />
<Control key="vps_tools_reinstall" src="WebsitePanel/VPS/VpsToolsReinstallServer.ascx" title="VpsToolsReinstallServer" type="View" />
</Controls>
</ModuleDefinition>
<ModuleDefinition id="VPSForPC">
<Controls>
<Control key="" src="WebsitePanel/VPSForPC/VdcHome.ascx" title="VdcHome" type="View" />
<Control key="vdc_create_server" src="WebsitePanel/VPSForPC/VdcCreateServer.ascx" title="VdcCreateServer" type="View" />
<Control key="vdc_import_server" src="WebsitePanel/VPSForPC/VdcImportServer.ascx" title="VdcImportServer" type="View" />
<Control key="vdc_FastCreate_server" src="WebsitePanel/VPSForPC/VdcFastCreateServer.ascx" title="VdcFastCreateServer" type="View" />
<Control key="vdc_external_network" src="WebsitePanel/VPSForPC/VdcExternalNetwork.ascx" title="VdcExternalNetwork" type="View" />
<Control key="vdc_management_network" src="WebsitePanel/VPSForPC/VdcManagementNetwork.ascx" title="VdcManagementNetwork" type="View" />
<Control key="vdc_allocate_external_ip" src="WebsitePanel/VPSForPC/VdcAddExternalAddress.ascx" title="VdcAddExternalAddress" type="View" />
<Control key="vdc_private_network" src="WebsitePanel/VPSForPC/VdcPrivateNetwork.ascx" title="VdcPrivateNetwork" type="View" />
<Control key="vdc_permissions" src="WebsitePanel/VPSForPC/VdcPermissions.ascx" title="VdcPermissions" type="View" />
<Control key="vdc_audit_log" src="WebsitePanel/VPSForPC/VdcAuditLog.ascx" title="VdcAuditLog" type="View" />
<Control key="vdc_account_vlan_network" src="WebsitePanel/VPSForPC/VdcAccountVLanNetwork.ascx" title="VdcAccountVLanNetwork" type="View" />
<Control key="vdc_account_vLan_add" src="WebsitePanel/VPSForPC/VdcAccountVLanAdd.ascx" title="VdcAccountVLanAdd" type="View" />
<Control key="vps_general" src="WebsitePanel/VPSForPC/VpsDetailsGeneral.ascx" title="VpsDetailsGeneral" type="View" />
<Control key="vps_config" src="WebsitePanel/VPSForPC/VpsDetailsConfiguration.ascx" title="VpsDetailsConfiguration" type="View" />
<Control key="vps_edit_config" src="WebsitePanel/VPSForPC/VpsDetailsEditConfiguration.ascx" title="VpsDetailsEditConfiguration" type="View" />
<Control key="vps_dvd" src="WebsitePanel/VPSForPC/VpsDetailsDvd.ascx" title="VpsDetailsDvd" type="View" />
<Control key="vps_insert_dvd" src="WebsitePanel/VPSForPC/VpsDetailsInsertDvd.ascx" title="VpsDetailsInsertDvd" type="View" />
<Control key="vps_snapshots" src="WebsitePanel/VPSForPC/VpsDetailsSnapshots.ascx" title="VpsDetailsSnapshots" type="View" />
<Control key="vps_network" src="WebsitePanel/VPSForPC/VpsDetailsNetwork.ascx" title="VpsDetailsNetwork" type="View" />
<Control key="vps_add_external_ip" src="WebsitePanel/VPSForPC/VpsDetailsAddExternalAddress.ascx" title="VpsDetailsAddExternalAddress" type="View" />
<Control key="vps_add_private_ip" src="WebsitePanel/VPSForPC/VpsDetailsAddPrivateAddress.ascx" title="VpsDetailsAddPrivateAddress" type="View" />
<Control key="vps_permissions" src="WebsitePanel/VPSForPC/VpsDetailsPermissions.ascx" title="VpsDetailsNetworking" type="View" />
<Control key="vps_tools" src="WebsitePanel/VPSForPC/VpsDetailsTools.ascx" title="VpsDetailsTools" type="View" />
<Control key="vps_audit_log" src="WebsitePanel/VPSForPC/VpsDetailsAuditLog.ascx" title="VpsDetailsAuditLog" type="View" />
<Control key="vps_help" src="WebsitePanel/VPSForPC/VpsDetailsHelp.ascx" title="VpsDetailsHelp" type="View" />
<Control key="vps_tools_delete" src="WebsitePanel/VPSForPC/VpsToolsDeleteServer.ascx" title="VpsToolsDeleteServer" type="View" />
<Control key="vps_tools_move" src="WebsitePanel/VPSForPC/VpsMoveServer.ascx" title="VpsMoveServer" type="View" />
<Control key="vps_tools_reinstall" src="WebsitePanel/VPSForPC/VpsToolsReinstallServer.ascx" title="VpsToolsReinstallServer" type="View" />
<Control key="vps_events_log" src="WebsitePanel/VPSForPC/VpsEventsLog.ascx" title="VpsEventsLog" type="View" />
<Control key="vps_alerts_log" src="WebsitePanel/VPSForPC/VpsAlertsLog.ascx" title="VpsAlertsLog" type="View" />
<Control key="vps_monitoring" src="WebsitePanel/VPSForPC/VpsMonitoring.ascx" title="VpsMonitoring" type="View" />
<Control key="vps_checkpoints" src="WebsitePanel/VPSForPC/VpsCheckPoints.ascx" title="VpsCheckPoints" type="View" />
</Controls>
</ModuleDefinition>
<!-- CO Chnages-->
<ModuleDefinition id="ApplyEnableHardQuotaFeature">
<Controls>
<Control key="" src="WebsitePanel/ApplyEnableHardQuotaFeature.ascx" title="ApplyEnableHardQuotaFeature" type="View" icon="calendar_month_2_clock_48.png" />
</Controls>
</ModuleDefinition>
<!--END-->
<!-- Hosted Organization -->
<ModuleDefinition id="OrganizationMenu">
<Controls>
<Control key="" src="WebsitePanel/OrganizationMenu.ascx" title="OrganizationMenu" type="View" />
</Controls>
</ModuleDefinition>
</ModuleDefinitions>

View file

@ -0,0 +1,774 @@
<?xml version="1.0" encoding="utf-8"?>
<Pages>
<include file="ModulesData.config" />
<Page name="Login" roles="?" skin="Login.ascx" adminskin="Login.ascx" hidden="True">
<Content id="ContentPane">
<Module moduleDefinitionID="Login" title="SignIn" container="Login.ascx" />
</Content>
</Page>
<Page name="LoggedUserDetails" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Edit.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="LoggedUserDetails" title="LoggedUserDetails" icon="user_write_48.png" container="Edit.ascx" />
</Content>
</Page>
<Page name="SearchUsers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="SearchUsers" title="SearchUsers" icon="user_zoom_48.png" container="Edit.ascx" />
</Content>
</Page>
<Page name="SearchSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="SearchSpaces" title="SearchSpaces" icon="sphere_zoom_48.png" container="Edit.ascx" />
</Content>
</Page>
<Page name="Home" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse3.ascx" align="right">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserCustomersSummary" title="UserCustomersSummary" container="Browse.ascx" icon="group_48.png"/>
<Module moduleDefinitionID="UserSpaces" title="UserSpaces" container="Browse.ascx" viewRoles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" icon="sphere_48.png">
<ModuleData ref="SpaceIcons"/>
</Module>
<Module moduleDefinitionID="UserNotes" title="UserNotes" container="Browse.ascx" viewRoles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" icon="notes_48.png" />
</Content>
<Content id="RightPane">
<Module moduleDefinitionID="UserDetails" title="UserDetails" container="Clear.ascx" />
<Module moduleDefinitionID="UserResellerSettings" title="UserResellerSettings" container="Clear.ascx" viewRoles="Administrator,Reseller" />
</Content>
</Page>
<!-- User Account Menu Pages -->
<Page name="UserCustomers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserCustomers" title="UserCustomers" icon="group_48.png" />
</Content>
</Page>
<Page name="UserSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx" >
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserSpaces" title="UserSpaces" icon="sphere_48.png" readOnlyRoles="PlatformHelpdesk,ResellerHelpdesk" />
</Content>
</Page>
<Page name="UserPeers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="UserPeers" title="UserPeers" icon="motion_blur_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="HostingPlans" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="HostingPlans" title="HostingPlans" icon="inventory_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="HostingAddons" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="HostingAddons" title="HostingAddons" icon="inventory_add_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="UserTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="Tasks" title="Tasks" icon="hourglass_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="AuditLog" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="AuditLog" title="AuditLog" icon="record_48.png" />
</Content>
</Page>
<!-- Space Home Page -->
<Page name="SpaceHome" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Browse3.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SpaceQuotas" title="SpaceQuotas" container="Browse.ascx" icon="stadistics_48.png" />
<Module moduleDefinitionID="SpaceNestedSpacesSummary" title="SpaceNestedSpacesSummary" container="Browse.ascx" viewRoles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" icon="sphere_down_48.png" />
<Module moduleDefinitionID="SpaceNotes" title="SpaceNotes" container="Browse.ascx" viewRoles="Administrator,Reseller" icon="notes_48.png" />
</Content>
<Content id="RightPane">
<Module moduleDefinitionID="SpaceDetails" title="SpaceDetails" container="Clear.ascx" />
<Module moduleDefinitionID="SpaceSettings" title="SpaceSettings" container="Clear.ascx" viewRoles="Administrator,Reseller"/>
<Module moduleDefinitionID="SpaceTools" title="SpaceTools" container="Clear.ascx" />
</Content>
</Page>
<!-- Nested Spaces Page -->
<Page name="NestedSpaces" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="NestedSpaces" title="NestedSpaces" icon="sphere_down_48.png" />
</Content>
</Page>
<Page name="SpaceOrganizationHostedSharePoint" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="HostedSolutionMenu" title="HostedSolutionMenu" container="Clear.ascx">
<ModuleData ref="HostedSolutionMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="HostedSharePointSiteCollections" title="HostedSharePointSiteCollections" icon="colors_48.png" />
</Content>
</Page>
<Page name="SpaceDomains" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="Domains" title="Domains" icon="world_48.png" readOnlyRoles="PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk"/>
</Content>
</Page>
<Page name="SpaceWeb" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebSites" title="WebSites" icon="location_48.png" />
</Content>
</Page>
<Page name="SpaceWebSites" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebSites" title="WebSites" icon="location_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceWebIPAddresses" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebSiteIPAddresses" title="WebSiteIPAddresses" icon="adress_48.png" />
</Content>
</Page>
<Page name="LyncPhoneNumbers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="LyncPhoneNumbers" title="LyncPhoneNumbers" icon="adress_48.png" />
</Content>
</Page>
<Page name="SpaceFtpAccounts" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="FtpAccounts" title="FtpAccounts" icon="folder_up_48.png" />
</Content>
</Page>
<Page name="SpaceMail" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True"/>
<Page name="SpaceMailAccounts" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailAccounts" title="MailAccounts" icon="accounting_mail_48.png" />
</Content>
</Page>
<Page name="SpaceMailForwardings" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailForwardings" title="MailForwardings" icon="safe-mail_next_48.png" />
</Content>
</Page>
<Page name="SpaceMailGroups" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailGroups" title="MailGroups" icon="contacts_mail_48.png" />
</Content>
</Page>
<Page name="SpaceMailLists" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailLists" title="MailLists" icon="discussion_group_48.png" />
</Content>
</Page>
<Page name="SpaceMailDomains" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="MailDomains" title="MailDomains" icon="web_mail_48.png" />
</Content>
</Page>
<Page name="SpaceDatabases" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True"/>
<Page name="SpaceMsSql2000" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2000Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2000" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2000Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2000" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2005" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2005Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2005" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2005Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2005" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2008" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2008Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2008" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2008Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2008" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2012" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2012Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2012" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2012Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2012" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMsSql2014" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="Sql2014Databases" icon="mssql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2014" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="Sql2014Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MsSQL2014" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMySql4" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="MySql4Databases" icon="mysql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL4" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="MySql4Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL4" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceMySql5" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SqlDatabases" title="MySql5Databases" icon="mysql_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL5" />
</Settings>
</Module>
<Module moduleDefinitionID="SqlUsers" title="MySql5Users" icon="db_user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR">
<Settings>
<Add name="GroupName" value="MySQL5" />
</Settings>
</Module>
</Content>
</Page>
<Page name="SpaceSharedSSL" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SharedSSL" title="SharedSSL" icon="world_lock_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceAdvancedStatistics" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="AdvancedStatistics" title="AdvancedStatistics" icon="stadistics_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceOdbc" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ODBC" title="ODBC" icon="export_db_back_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceScheduledTasks" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ScheduledTasks" title="ScheduledTasks" icon="calendar_month_2_clock_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceFileManager" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="FileManager" title="FileManager" icon="cabinet_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceWebApplicationsGallery" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="WebApplicationsGallery" title="WebApplicationsGallery" container="Browse.ascx" icon="dvd_disc_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceSharePoint" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True"/>
<Page name="SpaceSharePointSites" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="HostedSolutionMenu" title="HostedSolutionMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SharePointSites" title="SharePointSites" icon="colors_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceSharePointUsers" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SharePointUsers" title="SharePointUsers" icon="user_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
<Module moduleDefinitionID="SharePointGroups" title="SharePointGroups" icon="group_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="Backup" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<!-- Do not remove this stub page -->
</Page>
<Page name="SpaceExchangeServer" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="Exchange.ascx" adminskin="Exchange.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
<Module moduleDefinitionID="OrganizationMenu" title="OrganizationMenu" container="Clear.ascx">
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ExchangeServer" title="ExchangeServer" icon="" container="Exchange.ascx" admincontainer="Exchange.ascx" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceVPS" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="VPS.ascx" adminskin="VPS.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="VPS" title="VirtualPrivateServers" icon="" container="VPS.ascx" admincontainer="VPS.ascx" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="SpaceVPSForPC" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True" skin="VPS.ascx" adminskin="VPS.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="VPSForPC" title="VirtualPrivateServersForPrivateCloud" icon="" container="VPSForPC.ascx" admincontainer="VPSForPC.ascx" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<Page name="OverusageReport" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk" hidden="True" skin="Browse1.ascx">
<Content id="ContentPane">
<Module moduleDefinitionID="OverusageReport" title="OverusageReport" container="Edit.ascx" icon="table_zoom_48.png" />
</Content>
</Page>
<Page name="Reporting" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" enabled="false" align="left">
<Content id="LeftPane">
<Module moduleDefinitionID="User" title="User" container="Clear.ascx" />
<Module moduleDefinitionID="HostingSpace" title="HostingSpace" container="Clear.ascx" />
</Content>
<Pages>
<Page name="DiskspaceReport" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="DiskspaceReport" title="DiskspaceReport" container="Edit.ascx" icon="table_zoom_48.png" />
</Content>
</Page>
<Page name="BandwidthReport" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="BandwidthReport" title="BandwidthReport" container="Edit.ascx" icon="table_zoom_48.png" />
</Content>
</Page>
</Pages>
</Page>
<Page name="Configuration" roles="Administrator" enabled="false" align="left">
<Pages>
<Page name="VirtualServers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="VirtualServers" title="VirtualServers" container="Edit.ascx" icon="network_48.png" />
</Content>
</Page>
<Page name="Servers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="Servers" title="Servers" container="Edit.ascx" icon="computer_48.png" />
</Content>
</Page>
<Page name="RDSServers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="RDSServers" title="RDSServers" icon="computer_48.png" container="Edit.ascx"/>
</Content>
</Page>
<Page name="IPAddresses" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="IPAddresses" title="IPAddresses" container="Edit.ascx" icon="adress_48.png" />
</Content>
</Page>
<Page name="PhoneNumbers" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="PhoneNumbers" title="PhoneNumbers" container="Edit.ascx" icon="adress_48.png" />
</Content>
</Page>
<Page name="SystemSettings" roles="Administrator" skin="Browse1.ascx">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="SystemSettings" title="SystemSettings" container="Edit.ascx" icon="tool_48.png" />
</Content>
</Page>
</Pages>
</Page>
<!-- CO Changes -->
<Page name="SpaceApplyEnableHardQuotaFeature" roles="Administrator,Reseller,PlatformCSR,ResellerCSR,PlatformHelpdesk,ResellerHelpdesk,User" hidden="True">
<Content id="LeftPane">
<Module moduleDefinitionID="UserAccountMenu" title="UserMenu" container="Clear.ascx">
<ModuleData ref="UserMenu"/>
</Module>
<Module moduleDefinitionID="SpaceMenu" title="SpaceMenu" container="Clear.ascx">
<ModuleData ref="SpaceMenu"/>
</Module>
</Content>
<Content id="ContentPane">
<Module moduleDefinitionID="ApplyEnableHardQuotaFeature" title="ApplyEnableHardQuotaFeature" icon="cabinet_48.png" readOnlyRoles="PlatformCSR,ResellerCSR"/>
</Content>
</Page>
<!--END-->
</Pages>

View file

@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18449
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Resources.Resource {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option or rebuild the Visual Studio project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Web.Application.StronglyTypedResourceProxyBuilder", "12.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class errors {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal errors() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Resources.Resource.errors", global::System.Reflection.Assembly.Load("App_GlobalResources"));
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Fatal error.
/// </summary>
internal static string Default {
get {
return ResourceManager.GetString("Default", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The requested content was not found.
/// </summary>
internal static string _404 {
get {
return ResourceManager.GetString("_404", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The following server error was encountered.
/// </summary>
internal static string _500 {
get {
return ResourceManager.GetString("_500", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Default" xml:space="preserve">
<value>Fatal error</value>
</data>
<data name="_404" xml:space="preserve">
<value>The requested content was not found</value>
</data>
<data name="_500" xml:space="preserve">
<value>The following server error was encountered</value>
</data>
</root>

View file

@ -0,0 +1,38 @@
using System.Web.Optimization;
namespace WebsitePanel.WebDavPortal
{
public class BundleConfig
{
// For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));
bundles.Add(new ScriptBundle("~/bundles/appScripts").Include(
"~/Scripts/appScripts/recalculateResourseHeight.js",
"~/Scripts/appScripts/uploadingData2.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
// Set EnableOptimizations to false for debugging. For more information,
// visit http://go.microsoft.com/fwlink/?LinkId=301862
BundleTable.EnableOptimizations = true;
}
}
}

View file

@ -0,0 +1,13 @@
using System.Web;
using System.Web.Mvc;
namespace WebsitePanel.WebDavPortal
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
}

View file

@ -0,0 +1,32 @@
using System.Web.Mvc;
using System.Web.Routing;
namespace WebsitePanel.WebDavPortal
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Office365DocumentRoute",
url: "office365/{org}/{*pathPart}",
defaults: new { controller = "FileSystem", action = "ShowOfficeDocument", pathPart = UrlParameter.Optional }
);
routes.MapRoute(
name: "FilePathRoute",
url: "{org}/{*pathPart}",
defaults: new { controller = "FileSystem", action = "ShowContent", pathPart = UrlParameter.Optional },
constraints: new { org = new WebsitePanel.WebDavPortal.Constraints.OrganizationRouteConstraint() }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new { controller = "Account", action = "Login" }
);
}
}
}

View file

@ -0,0 +1,17 @@
using System.Configuration;
using WebsitePanel.WebDavPortal.WebConfigSections;
namespace WebsitePanel.WebDavPortal.Config.Entities
{
public abstract class AbstractConfigCollection
{
protected WebDavExplorerConfigurationSettingsSection ConfigSection;
protected AbstractConfigCollection()
{
ConfigSection =
(WebDavExplorerConfigurationSettingsSection)
ConfigurationManager.GetSection(WebDavExplorerConfigurationSettingsSection.SectionName);
}
}
}

View file

@ -0,0 +1,14 @@
namespace WebsitePanel.WebDavPortal.Config.Entities
{
public class ElementsRendering : AbstractConfigCollection
{
public int DefaultCount { get; private set; }
public int AddElementsCount { get; private set; }
public ElementsRendering()
{
DefaultCount = ConfigSection.ElementsRendering.DefaultCount;
AddElementsCount = ConfigSection.ElementsRendering.AddElementsCount;
}
}
}

View file

@ -0,0 +1,60 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using WebsitePanel.WebDavPortal.WebConfigSections;
namespace WebsitePanel.WebDavPortal.Config.Entities
{
public class FileIconsDictionary : AbstractConfigCollection, IReadOnlyDictionary<string, string>
{
private readonly IDictionary<string, string> _fileIcons;
public FileIconsDictionary()
{
DefaultPath = ConfigSection.FileIcons.DefaultPath;
_fileIcons = ConfigSection.FileIcons.Cast<FileIconsElement>().ToDictionary(x => x.Extension, y => y.Path);
}
public string DefaultPath { get; private set; }
public IEnumerator<KeyValuePair<string, string>> GetEnumerator()
{
return _fileIcons.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public int Count
{
get { return _fileIcons.Count; }
}
public bool ContainsKey(string extension)
{
return _fileIcons.ContainsKey(extension);
}
public bool TryGetValue(string extension, out string path)
{
return _fileIcons.TryGetValue(extension, out path);
}
public string this[string extension]
{
get { return ContainsKey(extension) ? _fileIcons[extension] : DefaultPath; }
}
public IEnumerable<string> Keys
{
get { return _fileIcons.Keys; }
}
public IEnumerable<string> Values
{
get { return _fileIcons.Values; }
}
}
}

View file

@ -0,0 +1,22 @@
using System.Globalization;
using Resources.Resource;
namespace WebsitePanel.WebDavPortal.Config.Entities
{
public class HttpErrorsCollection
{
public string this[int statusCode]
{
get
{
var message = errors.ResourceManager.GetString("_" + statusCode.ToString(CultureInfo.InvariantCulture));
return message ?? Default;
}
}
public string Default
{
get { return errors.Default; }
}
}
}

View file

@ -0,0 +1,42 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using WebsitePanel.WebDavPortal.WebConfigSections;
namespace WebsitePanel.WebDavPortal.Config.Entities
{
public class OfficeOnlineCollection : AbstractConfigCollection, IReadOnlyCollection<string>
{
private readonly IList<string> _officeExtensions;
public OfficeOnlineCollection()
{
IsEnabled = ConfigSection.OfficeOnline.IsEnabled;
Url = ConfigSection.OfficeOnline.Url;
_officeExtensions = ConfigSection.OfficeOnline.Cast<OfficeOnlineElement>().Select(x => x.Extension).ToList();
}
public bool IsEnabled { get; private set; }
public string Url { get; private set; }
public IEnumerator<string> GetEnumerator()
{
return _officeExtensions.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public int Count
{
get { return _officeExtensions.Count; }
}
public bool Contains(string extension)
{
return _officeExtensions.Contains(extension);
}
}
}

View file

@ -0,0 +1,55 @@
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using WebsitePanel.WebDavPortal.WebConfigSections;
namespace WebsitePanel.WebDavPortal.Config.Entities
{
public class SessionKeysCollection : AbstractConfigCollection
{
private readonly IEnumerable<SessionKeysElement> _sessionKeys;
public SessionKeysCollection()
{
_sessionKeys = ConfigSection.SessionKeys.Cast<SessionKeysElement>();
}
public string AccountInfo
{
get
{
SessionKeysElement sessionKey =
_sessionKeys.FirstOrDefault(x => x.Key == SessionKeysElement.AccountInfoKey);
return sessionKey != null ? sessionKey.Value : null;
}
}
public string WebDavManager
{
get
{
SessionKeysElement sessionKey =
_sessionKeys.FirstOrDefault(x => x.Key == SessionKeysElement.WebDavManagerKey);
return sessionKey != null ? sessionKey.Value : null;
}
}
public string ResourseRenderCount
{
get
{
SessionKeysElement sessionKey = _sessionKeys.FirstOrDefault(x => x.Key == SessionKeysElement.ResourseRenderCountKey);
return sessionKey != null ? sessionKey.Value : null;
}
}
public string ItemId
{
get
{
SessionKeysElement sessionKey = _sessionKeys.FirstOrDefault(x => x.Key == SessionKeysElement.ItemIdSessionKey);
return sessionKey != null ? sessionKey.Value : null;
}
}
}
}

View file

@ -0,0 +1,14 @@
namespace WebsitePanel.WebDavPortal.Config.Entities
{
public class WebsitePanelConstantUserParameters : AbstractConfigCollection
{
public string Login { get; private set; }
public string Password { get; private set; }
public WebsitePanelConstantUserParameters()
{
Login = ConfigSection.WebsitePanelConstantUser.Login;
Password = ConfigSection.WebsitePanelConstantUser.Password;
}
}
}

View file

@ -0,0 +1,16 @@
using WebsitePanel.WebDavPortal.Config.Entities;
namespace WebsitePanel.WebDavPortal.Config
{
public interface IWebDavAppConfig
{
string UserDomain { get; }
string ApplicationName { get; }
ElementsRendering ElementsRendering { get; }
WebsitePanelConstantUserParameters WebsitePanelConstantUserParameters { get; }
SessionKeysCollection SessionKeys { get; }
FileIconsDictionary FileIcons { get; }
HttpErrorsCollection HttpErrors { get; }
OfficeOnlineCollection OfficeOnline { get; }
}
}

View file

@ -0,0 +1,45 @@
using System.Configuration;
using WebsitePanel.WebDavPortal.Config.Entities;
using WebsitePanel.WebDavPortal.WebConfigSections;
namespace WebsitePanel.WebDavPortal.Config
{
public class WebDavAppConfigManager : IWebDavAppConfig
{
private static WebDavAppConfigManager _instance;
private readonly WebDavExplorerConfigurationSettingsSection _configSection;
private WebDavAppConfigManager()
{
_configSection = ((WebDavExplorerConfigurationSettingsSection) ConfigurationManager.GetSection(WebDavExplorerConfigurationSettingsSection.SectionName));
WebsitePanelConstantUserParameters = new WebsitePanelConstantUserParameters();
ElementsRendering = new ElementsRendering();
SessionKeys = new SessionKeysCollection();
FileIcons = new FileIconsDictionary();
HttpErrors = new HttpErrorsCollection();
OfficeOnline = new OfficeOnlineCollection();
}
public static WebDavAppConfigManager Instance
{
get { return _instance ?? (_instance = new WebDavAppConfigManager()); }
}
public string UserDomain
{
get { return _configSection.UserDomain.Value; }
}
public string ApplicationName
{
get { return _configSection.ApplicationName.Value; }
}
public ElementsRendering ElementsRendering { get; private set; }
public WebsitePanelConstantUserParameters WebsitePanelConstantUserParameters { get; private set; }
public SessionKeysCollection SessionKeys { get; private set; }
public FileIconsDictionary FileIcons { get; private set; }
public HttpErrorsCollection HttpErrors { get; private set; }
public OfficeOnlineCollection OfficeOnline { get; private set; }
}
}

View file

@ -0,0 +1,44 @@
using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Routing;
using WebsitePanel.WebDavPortal.Config;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.Constraints
{
public class OrganizationRouteConstraint : IRouteConstraint
{
private static string actualOrgName;
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
object value;
if (!values.TryGetValue(parameterName, out value))
return false;
var str = value as string;
if (str == null)
return false;
if (routeDirection == RouteDirection.IncomingRequest)
return actualOrgName == str;
if (httpContext.Session == null)
return false;
IKernel kernel = new StandardKernel(new WebDavExplorerAppModule());
var webDavManager = kernel.Get<IWebDavManager>();
if (webDavManager != null && str == webDavManager.OrganizationName)
{
actualOrgName = str;
return true;
}
return false;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

@ -0,0 +1,35 @@
body {
padding-top: 50px;
padding-bottom: 20px;
}
/* Set padding to keep content from hitting the edges */
.body-content {
padding-left: 15px;
padding-right: 15px;
}
/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
max-width: 280px;
}
/* User styles */
.icon-size {
width: 100px;
height: 100px;
}
.element-container {
margin-bottom: 15px;
text-align:center;
}
#errorMessage {
color: red;
font-weight: bold;
padding-top: 5px;
}

View file

@ -0,0 +1,457 @@
/*!
* Bootstrap v3.3.0 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default:disabled,
.btn-default[disabled] {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2));
background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #2b669a;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #2d6ca2;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #2d6ca2;
border-color: #2b669a;
}
.btn-primary:disabled,
.btn-primary[disabled] {
background-color: #2d6ca2;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success:disabled,
.btn-success[disabled] {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info:disabled,
.btn-info[disabled] {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning:disabled,
.btn-warning[disabled] {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger:disabled,
.btn-danger[disabled] {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #357ebd;
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9));
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #3071a9;
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3));
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
background-repeat: repeat-x;
border-color: #3278b3;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,82 @@
using System;
using System.Configuration;
using System.DirectoryServices;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;
using Microsoft.Win32;
using Ninject;
using WebsitePanel.EnterpriseServer;
using WebsitePanel.Portal;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.WebDavPortal.Config;
using WebsitePanel.WebDavPortal.Cryptography;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Exceptions;
using WebsitePanel.WebDavPortal.Models;
using System.Collections.Generic;
using WebsitePanel.Providers.OS;
using WebDAV;
namespace WebsitePanel.WebDavPortal.Controllers
{
public class AccountController : Controller
{
private readonly IKernel _kernel = new StandardKernel(new NinjectSettings {AllowNullInjection = true}, new WebDavExplorerAppModule());
[HttpGet]
public ActionResult Login()
{
object isAuthentication = _kernel.Get<AccountModel>();
if (isAuthentication != null)
return RedirectToAction("ShowContent", "FileSystem");
return View();
}
[HttpPost]
public ActionResult Login(AccountModel model)
{
AutheticationToServicesUsingWebsitePanelUser();
var exchangeAccount = ES.Services.ExchangeServer.GetAccountByAccountNameWithoutItemId(model.Login);
var isAuthenticated = exchangeAccount != null && exchangeAccount.AccountPassword == model.Password;
ViewBag.LdapIsAuthentication = isAuthenticated;
if (isAuthenticated)
{
Session[WebDavAppConfigManager.Instance.SessionKeys.ItemId] = exchangeAccount.ItemId;
try
{
Session[WebDavAppConfigManager.Instance.SessionKeys.AccountInfo] = model;
Session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] = new WebDavManager(new NetworkCredential(model.Login, model.Password, WebDavAppConfigManager.Instance.UserDomain), exchangeAccount.ItemId);
}
catch (ConnectToWebDavServerException exception)
{
return View(new AccountModel { LdapError = exception.Message });
}
return RedirectToAction("ShowContent", "FileSystem", new { org = _kernel.Get<IWebDavManager>().OrganizationName });
}
return View(new AccountModel { LdapError = "The user name or password is incorrect" });
}
private void AutheticationToServicesUsingWebsitePanelUser()
{
var crypto = _kernel.Get<ICryptography>();
var websitePanelLogin = WebDavAppConfigManager.Instance.WebsitePanelConstantUserParameters.Login;
var websitePanelPassword = crypto.Decrypt(WebDavAppConfigManager.Instance.WebsitePanelConstantUserParameters.Password);
var authTicket = new FormsAuthenticationTicket(1, websitePanelLogin, DateTime.Now, DateTime.Now.Add(FormsAuthentication.Timeout),
FormsAuthentication.SlidingExpiration, websitePanelPassword + Environment.NewLine);
var encryptedTicket = FormsAuthentication.Encrypt(authTicket);
var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
if (FormsAuthentication.SlidingExpiration)
authCookie.Expires = authTicket.Expiration;
Response.Cookies.Add(authCookie);
}
}
}

View file

@ -0,0 +1,28 @@
using System;
using System.Web.Mvc;
using WebsitePanel.WebDavPortal.Config;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.Controllers
{
public class ErrorController : Controller
{
public ActionResult Index(int statusCode, Exception exception, bool isAjaxRequet)
{
var model = new ErrorModel
{
HttpStatusCode = statusCode,
Message = WebDavAppConfigManager.Instance.HttpErrors[statusCode],
Exception = exception
};
Response.StatusCode = statusCode;
if (!isAjaxRequet)
return View(model);
var errorObject = new { statusCode = model.HttpStatusCode, message = model.Message };
return Json(errorObject, JsonRequestBehavior.AllowGet);
}
}
}

View file

@ -0,0 +1,82 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mime;
using System.Web;
using System.Web.Mvc;
using Ninject;
using WebsitePanel.WebDav.Core.Client;
using WebsitePanel.WebDav.Core.Exceptions;
using WebsitePanel.WebDavPortal.Config;
using WebsitePanel.WebDavPortal.CustomAttributes;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Extensions;
using WebsitePanel.WebDavPortal.Models;
using WebsitePanel.Portal;
using WebsitePanel.Providers.OS;
using System.Net;
namespace WebsitePanel.WebDavPortal.Controllers
{
[LdapAuthorization]
public class FileSystemController : Controller
{
private readonly IKernel _kernel = new StandardKernel(new WebDavExplorerAppModule());
[HttpGet]
public ActionResult ShowContent(string org, string pathPart = "")
{
var webDavManager = new StandardKernel(new WebDavExplorerAppModule()).Get<IWebDavManager>();
if (org != webDavManager.OrganizationName)
return new HttpStatusCodeResult(HttpStatusCode.NoContent);
string fileName = pathPart.Split('/').Last();
if (webDavManager.IsFile(fileName))
{
var fileBytes = webDavManager.GetFileBytes(fileName);
return File(fileBytes, MediaTypeNames.Application.Octet, fileName);
}
try
{
webDavManager.OpenFolder(pathPart);
IEnumerable<IHierarchyItem> children = webDavManager.GetChildren();
var model = new ModelForWebDav { Items = children.Take(WebDavAppConfigManager.Instance.ElementsRendering.DefaultCount), UrlSuffix = pathPart };
Session[WebDavAppConfigManager.Instance.SessionKeys.ResourseRenderCount] = WebDavAppConfigManager.Instance.ElementsRendering.DefaultCount;
return View(model);
}
catch (UnauthorizedException)
{
throw new HttpException(404, "Not Found");
}
}
public ActionResult ShowOfficeDocument(string org, string pathPart = "")
{
var webDavManager = _kernel.Get<IWebDavManager>();
string fileUrl = webDavManager.RootPath.TrimEnd('/') + "/" + pathPart.TrimStart('/');
var uri = new Uri(WebDavAppConfigManager.Instance.OfficeOnline.Url).AddParameter("src", fileUrl).ToString();
return View(new OfficeOnlineModel(uri, new Uri(fileUrl).Segments.Last()));
}
[HttpPost]
public ActionResult ShowAdditionalContent()
{
if (Session[WebDavAppConfigManager.Instance.SessionKeys.ResourseRenderCount] != null)
{
var renderedElementsCount = (int)Session[WebDavAppConfigManager.Instance.SessionKeys.ResourseRenderCount];
var webDavManager = _kernel.Get<IWebDavManager>();
IEnumerable<IHierarchyItem> children = webDavManager.GetChildren();
var result = children.Skip(renderedElementsCount).Take(WebDavAppConfigManager.Instance.ElementsRendering.AddElementsCount);
Session[WebDavAppConfigManager.Instance.SessionKeys.ResourseRenderCount] = renderedElementsCount + WebDavAppConfigManager.Instance.ElementsRendering.AddElementsCount;
return PartialView("_ResourseCollectionPartial", result);
}
return new HttpStatusCodeResult(HttpStatusCode.NoContent); ;
}
}
}

View file

@ -0,0 +1,198 @@
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Web;
namespace WebsitePanel.WebDavPortal.Cryptography
{
public class CryptoUtils : ICryptography
{
private string EnterpriseServerRegistryPath = "SOFTWARE\\WebsitePanel\\EnterpriseServer";
private string CryptoKey
{
get
{
string Key = ConfigurationManager.AppSettings["WebsitePanel.AltCryptoKey"];
string value = string.Empty;
if (!string.IsNullOrEmpty(Key))
{
RegistryKey root = Registry.LocalMachine;
RegistryKey rk = root.OpenSubKey(EnterpriseServerRegistryPath);
if (rk != null)
{
value = (string)rk.GetValue(Key, null);
rk.Close();
}
}
if (!string.IsNullOrEmpty(value))
return value;
else
return ConfigurationManager.AppSettings["WebsitePanel.CryptoKey"];
}
}
private bool EncryptionEnabled
{
get
{
return (ConfigurationManager.AppSettings["WebsitePanel.EncryptionEnabled"] != null)
? Boolean.Parse(ConfigurationManager.AppSettings["WebsitePanel.EncryptionEnabled"]) : true;
}
}
public string Encrypt(string InputText)
{
string Password = CryptoKey;
if (!EncryptionEnabled)
return InputText;
if (InputText == null)
return InputText;
// We are now going to create an instance of the
// Rihndael class.
RijndaelManaged RijndaelCipher = new RijndaelManaged();
// First we need to turn the input strings into a byte array.
byte[] PlainText = System.Text.Encoding.Unicode.GetBytes(InputText);
// We are using salt to make it harder to guess our key
// using a dictionary attack.
byte[] Salt = Encoding.ASCII.GetBytes(Password.Length.ToString());
// The (Secret Key) will be generated from the specified
// password and salt.
PasswordDeriveBytes SecretKey = new PasswordDeriveBytes(Password, Salt);
// Create a encryptor from the existing SecretKey bytes.
// We use 32 bytes for the secret key
// (the default Rijndael key length is 256 bit = 32 bytes) and
// then 16 bytes for the IV (initialization vector),
// (the default Rijndael IV length is 128 bit = 16 bytes)
ICryptoTransform Encryptor = RijndaelCipher.CreateEncryptor(SecretKey.GetBytes(32), SecretKey.GetBytes(16));
// Create a MemoryStream that is going to hold the encrypted bytes
MemoryStream memoryStream = new MemoryStream();
// Create a CryptoStream through which we are going to be processing our data.
// CryptoStreamMode.Write means that we are going to be writing data
// to the stream and the output will be written in the MemoryStream
// we have provided. (always use write mode for encryption)
CryptoStream cryptoStream = new CryptoStream(memoryStream, Encryptor, CryptoStreamMode.Write);
// Start the encryption process.
cryptoStream.Write(PlainText, 0, PlainText.Length);
// Finish encrypting.
cryptoStream.FlushFinalBlock();
// Convert our encrypted data from a memoryStream into a byte array.
byte[] CipherBytes = memoryStream.ToArray();
// Close both streams.
memoryStream.Close();
cryptoStream.Close();
// Convert encrypted data into a base64-encoded string.
// A common mistake would be to use an Encoding class for that.
// It does not work, because not all byte values can be
// represented by characters. We are going to be using Base64 encoding
// That is designed exactly for what we are trying to do.
string EncryptedData = Convert.ToBase64String(CipherBytes);
// Return encrypted string.
return EncryptedData;
}
public string Decrypt(string InputText)
{
try
{
if (!EncryptionEnabled)
return InputText;
if (InputText == null || InputText == "")
return InputText;
string Password = CryptoKey;
RijndaelManaged RijndaelCipher = new RijndaelManaged();
byte[] EncryptedData = Convert.FromBase64String(InputText);
byte[] Salt = Encoding.ASCII.GetBytes(Password.Length.ToString());
PasswordDeriveBytes SecretKey = new PasswordDeriveBytes(Password, Salt);
// Create a decryptor from the existing SecretKey bytes.
ICryptoTransform Decryptor = RijndaelCipher.CreateDecryptor(SecretKey.GetBytes(32), SecretKey.GetBytes(16));
MemoryStream memoryStream = new MemoryStream(EncryptedData);
// Create a CryptoStream. (always use Read mode for decryption).
CryptoStream cryptoStream = new CryptoStream(memoryStream, Decryptor, CryptoStreamMode.Read);
// Since at this point we don't know what the size of decrypted data
// will be, allocate the buffer long enough to hold EncryptedData;
// DecryptedData is never longer than EncryptedData.
byte[] PlainText = new byte[EncryptedData.Length];
// Start decrypting.
int DecryptedCount = cryptoStream.Read(PlainText, 0, PlainText.Length);
memoryStream.Close();
cryptoStream.Close();
// Convert decrypted data into a string.
string DecryptedData = Encoding.Unicode.GetString(PlainText, 0, DecryptedCount);
// Return decrypted string.
return DecryptedData;
}
catch
{
return "";
}
}
private string SHA1(string plainText)
{
// Convert plain text into a byte array.
byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText);
HashAlgorithm hash = new SHA1Managed(); ;
// Compute hash value of our plain text with appended salt.
byte[] hashBytes = hash.ComputeHash(plainTextBytes);
// Return the result.
return Convert.ToBase64String(hashBytes);
}
}
}

View file

@ -0,0 +1,8 @@
namespace WebsitePanel.WebDavPortal.Cryptography
{
public interface ICryptography
{
string Encrypt(string plainText);
string Decrypt(string encryptedText);
}
}

View file

@ -0,0 +1,26 @@
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using Ninject;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.CustomAttributes
{
public class LdapAuthorizationAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
IKernel kernel = new StandardKernel(new NinjectSettings { AllowNullInjection = true }, new WebDavExplorerAppModule());
var accountInfo = kernel.Get<AccountModel>();
if (accountInfo == null)
return false;
return true;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Account", action = "Login" }));
}
}
}

View file

@ -0,0 +1,19 @@
using System.Web.SessionState;
using Ninject;
using Ninject.Activation;
using WebsitePanel.WebDavPortal.Config;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.DependencyInjection
{
public class AccountInfoProvider : Provider<AccountModel>
{
protected override AccountModel CreateInstance(IContext context)
{
var session = context.Kernel.Get<HttpSessionState>();
var accountInfo = session[WebDavAppConfigManager.Instance.SessionKeys.AccountInfo] as AccountModel;
return accountInfo;
}
}
}

View file

@ -0,0 +1,19 @@
using System.Web;
using System.Web.SessionState;
using Ninject.Modules;
using WebsitePanel.WebDavPortal.Cryptography;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.DependencyInjection
{
public class WebDavExplorerAppModule : NinjectModule
{
public override void Load()
{
Bind<HttpSessionState>().ToConstant(HttpContext.Current.Session);
Bind<IWebDavManager>().ToProvider<WebDavManagerProvider>();
Bind<AccountModel>().ToProvider<AccountInfoProvider>();
Bind<ICryptography>().To<CryptoUtils>();
}
}
}

View file

@ -0,0 +1,19 @@
using System.Web.SessionState;
using Ninject;
using Ninject.Activation;
using WebsitePanel.WebDavPortal.Config;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.DependencyInjection
{
public class WebDavManagerProvider : Provider<WebDavManager>
{
protected override WebDavManager CreateInstance(IContext context)
{
var session = context.Kernel.Get<HttpSessionState>();
var webDavManager = session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] as WebDavManager;
return webDavManager;
}
}
}

View file

@ -0,0 +1,25 @@
using System;
using System.Runtime.Serialization;
namespace WebsitePanel.WebDavPortal.Exceptions
{
[Serializable]
public class ConnectToWebDavServerException : Exception
{
public ConnectToWebDavServerException()
{
}
public ConnectToWebDavServerException(string message) : base(message)
{
}
public ConnectToWebDavServerException(string message, Exception inner) : base(message, inner)
{
}
protected ConnectToWebDavServerException(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
}
}

View file

@ -0,0 +1,25 @@
using System;
using System.Runtime.Serialization;
namespace WebsitePanel.WebDavPortal.Exceptions
{
[Serializable]
public class ResourceNotFoundException : Exception
{
public ResourceNotFoundException()
{
}
public ResourceNotFoundException(string message) : base(message)
{
}
public ResourceNotFoundException(string message, Exception inner) : base(message, inner)
{
}
protected ResourceNotFoundException(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
}
}

View file

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace WebsitePanel.WebDavPortal.Extensions
{
public static class DictionaryExtensions
{
public static void AddRange<T>(this ICollection<T> target, IEnumerable<T> source)
{
if (target == null)
throw new ArgumentNullException("target");
if (source == null)
throw new ArgumentNullException("source");
foreach (var element in source)
target.Add(element);
}
}
}

View file

@ -0,0 +1,25 @@
using System;
using System.Web;
namespace WebsitePanel.WebDavPortal.Extensions
{
public static class UriExtensions
{
/// <summary>
/// Adds the specified parameter to the Query String.
/// </summary>
/// <param name="url"></param>
/// <param name="paramName">Name of the parameter to add.</param>
/// <param name="paramValue">Value for the parameter to add.</param>
/// <returns>Url with added parameter.</returns>
public static Uri AddParameter(this Uri url, string paramName, string paramValue)
{
var uriBuilder = new UriBuilder(url);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
query[paramName] = paramValue;
uriBuilder.Query = query.ToString();
return new Uri(uriBuilder.ToString());
}
}
}

View file

@ -0,0 +1,29 @@
using System.Collections.Generic;
using System.Linq;
using WebsitePanel.WebDavPortal.Config;
using WebsitePanel.WebDavPortal.Extensions;
namespace WebsitePanel.WebDavPortal.FileOperations
{
public class FileOpenerManager
{
private readonly IDictionary<string, FileOpenerType> _operationTypes = new Dictionary<string, FileOpenerType>();
public FileOpenerManager()
{
if (WebDavAppConfigManager.Instance.OfficeOnline.IsEnabled)
_operationTypes.AddRange(WebDavAppConfigManager.Instance.OfficeOnline.ToDictionary(x => x, y => FileOpenerType.OfficeOnline));
}
public FileOpenerType this[string fileExtension]
{
get
{
FileOpenerType result;
if (_operationTypes.TryGetValue(fileExtension, out result))
return result;
return FileOpenerType.Download;
}
}
}
}

View file

@ -0,0 +1,7 @@
namespace WebsitePanel.WebDavPortal.FileOperations
{
public enum FileOpenerType
{
Download, OfficeOnline
}
}

View file

@ -0,0 +1 @@
<%@ Application Codebehind="Global.asax.cs" Inherits="WebsitePanel.WebDavPortal.MvcApplication" Language="C#" %>

View file

@ -0,0 +1,47 @@
using System;
using System.Web;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using WebsitePanel.WebDavPortal.Controllers;
namespace WebsitePanel.WebDavPortal
{
public class MvcApplication : HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
protected void Application_Error(object sender, EventArgs e)
{
Exception lastError = Server.GetLastError();
Server.ClearError();
int statusCode;
if (lastError.GetType() == typeof (HttpException))
statusCode = ((HttpException) lastError).GetHttpCode();
else
statusCode = 500;
var contextWrapper = new HttpContextWrapper(Context);
var routeData = new RouteData();
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "Index");
routeData.Values.Add("statusCode", statusCode);
routeData.Values.Add("exception", lastError);
routeData.Values.Add("isAjaxRequet", contextWrapper.Request.IsAjaxRequest());
IController controller = new ErrorController();
var requestContext = new RequestContext(contextWrapper, routeData);
controller.Execute(requestContext);
Response.End();
}
}
}

View file

@ -0,0 +1,26 @@
using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
using System.Web.Hosting;
using WebsitePanel.WebDavPortal.DependencyInjection;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.HttpHandlers
{
public class FileTransferRequestHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.WriteFile(context.Request.RawUrl.TrimEnd('?'));
context.Response.End();
}
public bool IsReusable
{
get { return true; }
}
}
}

View file

@ -0,0 +1,26 @@
using System.ComponentModel.DataAnnotations;
namespace WebsitePanel.WebDavPortal.Models
{
public class AccountModel
{
[Required]
[Display(Name = @"Login")]
public string Login { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = @"Password")]
public string Password { get; set; }
public string UserName
{
get
{
return !string.IsNullOrEmpty(Login) ? Login.Split('@')[0] : string.Empty;
}
}
public string LdapError { get; set; }
}
}

View file

@ -0,0 +1,60 @@
using System;
using System.DirectoryServices;
using System.Security.Principal;
namespace WebsitePanel.WebDavPortal.Models
{
public class DirectoryIdentity : IIdentity
{
private readonly bool _auth;
private readonly string _path;
public DirectoryIdentity(string userName, string password) : this(null, userName, password)
{
}
public DirectoryIdentity(string path, string userName, string password) : this(new DirectoryEntry(path, userName, password))
{
}
public DirectoryIdentity(DirectoryEntry directoryEntry)
{
try
{
var userName = directoryEntry.Username;
var ds = new DirectorySearcher(directoryEntry);
if (userName.Contains("\\"))
userName = userName.Substring(userName.IndexOf("\\") + 1);
ds.Filter = "samaccountname=" + userName;
ds.PropertiesToLoad.Add("cn");
SearchResult sr = ds.FindOne();
if (sr == null) throw new Exception();
_path = sr.Path;
_auth = true;
}
catch (Exception exception)
{
_auth = false;
}
}
public string AuthenticationType
{
get { return null; }
}
public bool IsAuthenticated
{
get { return _auth; }
}
public string Name
{
get
{
int i = _path.IndexOf('=') + 1, j = _path.IndexOf(',');
return _path.Substring(i, j - i);
}
}
}
}

View file

@ -0,0 +1,11 @@
using System;
namespace WebsitePanel.WebDavPortal.Models
{
public class ErrorModel
{
public int HttpStatusCode { get; set; }
public string Message { get; set; }
public Exception Exception { get; set; }
}
}

View file

@ -0,0 +1,16 @@
using System.Collections.Generic;
using WebsitePanel.WebDav.Core.Client;
namespace WebsitePanel.WebDavPortal.Models
{
public interface IWebDavManager
{
string RootPath { get; }
string OrganizationName { get; }
void OpenFolder(string pathPart);
IEnumerable<IHierarchyItem> GetChildren();
bool IsFile(string fileName);
byte[] GetFileBytes(string fileName);
string GetFileUrl(string fileName);
}
}

View file

@ -0,0 +1,12 @@
using System.Collections.Generic;
using WebsitePanel.WebDav.Core.Client;
namespace WebsitePanel.WebDavPortal.Models
{
public class ModelForWebDav
{
public IEnumerable<IHierarchyItem> Items { get; set; }
public string UrlSuffix { get; set; }
public string Error { get; set; }
}
}

Some files were not shown because too many files have changed in this diff Show more