update functionallity enterprise storage
This commit is contained in:
parent
922009d402
commit
8784e493d5
28 changed files with 10952 additions and 8121 deletions
|
@ -7,10 +7,17 @@ namespace WebsitePanel.EnterpriseServer.Base.HostedSolution
|
|||
{
|
||||
public class ESPermission
|
||||
{
|
||||
string displayName;
|
||||
string account;
|
||||
string access;
|
||||
bool isGroup;
|
||||
|
||||
public string DisplayName
|
||||
{
|
||||
get { return displayName; }
|
||||
set { displayName = value; }
|
||||
}
|
||||
|
||||
public string Account
|
||||
{
|
||||
get { return account; }
|
||||
|
@ -29,4 +36,5 @@ namespace WebsitePanel.EnterpriseServer.Base.HostedSolution
|
|||
set { isGroup = value; }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -55,6 +55,8 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
private System.Threading.SendOrPostCallback GetEnterpriseFoldersPagedOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback RenameEnterpriseFolderOperationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public esEnterpriseStorage()
|
||||
{
|
||||
|
@ -88,6 +90,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
/// <remarks/>
|
||||
public event GetEnterpriseFoldersPagedCompletedEventHandler GetEnterpriseFoldersPagedCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event RenameEnterpriseFolderCompletedEventHandler RenameEnterpriseFolderCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CheckFileServicesInstallation", RequestNamespace = "http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace = "http://smbsaas/websitepanel/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public bool CheckFileServicesInstallation(int serviceId)
|
||||
|
@ -568,6 +573,61 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/RenameEnterpriseFolder", RequestNamespace = "http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace = "http://smbsaas/websitepanel/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public SystemFile RenameEnterpriseFolder(int itemId, string oldName, string newName)
|
||||
{
|
||||
object[] results = this.Invoke("RenameEnterpriseFolder", new object[] {
|
||||
itemId,
|
||||
oldName,
|
||||
newName});
|
||||
return ((SystemFile)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRenameEnterpriseFolder(int itemId, string oldName, string newName, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RenameEnterpriseFolder", new object[] {
|
||||
itemId,
|
||||
oldName,
|
||||
newName}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public SystemFile EndRenameEnterpriseFolder(System.IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((SystemFile)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void RenameEnterpriseFolderAsync(int itemId, string oldName, string newName)
|
||||
{
|
||||
this.RenameEnterpriseFolderAsync(itemId, oldName, newName, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void RenameEnterpriseFolderAsync(int itemId, string oldName, string newName, object userState)
|
||||
{
|
||||
if ((this.RenameEnterpriseFolderOperationCompleted == null))
|
||||
{
|
||||
this.RenameEnterpriseFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameEnterpriseFolderOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("RenameEnterpriseFolder", new object[] {
|
||||
itemId,
|
||||
oldName,
|
||||
newName}, this.RenameEnterpriseFolderOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnRenameEnterpriseFolderOperationCompleted(object arg)
|
||||
{
|
||||
if ((this.RenameEnterpriseFolderCompleted != null))
|
||||
{
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.RenameEnterpriseFolderCompleted(this, new RenameEnterpriseFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState)
|
||||
{
|
||||
|
@ -844,4 +904,34 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void RenameEnterpriseFolderCompletedEventHandler(object sender, RenameEnterpriseFolderCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class RenameEnterpriseFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal RenameEnterpriseFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public SystemFile Result
|
||||
{
|
||||
get
|
||||
{
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((SystemFile)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -100,7 +100,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
public static ESPermission[] GetFolderPermission(int itemId, string folder)
|
||||
{
|
||||
return ConvertToESPermission(GetFolderWebDavRulesInternal(itemId, folder));
|
||||
return ConvertToESPermission(itemId,GetFolderWebDavRulesInternal(itemId, folder));
|
||||
}
|
||||
|
||||
public static bool CheckFileServicesInstallation(int serviceId)
|
||||
|
@ -109,6 +109,11 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return es.CheckFileServicesInstallation();
|
||||
}
|
||||
|
||||
public static SystemFile RenameFolder(int itemId, string oldFolder, string newFolder)
|
||||
{
|
||||
return RenameFolderInternal(itemId, oldFolder, newFolder);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
@ -161,6 +166,28 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
protected static SystemFile RenameFolderInternal(int itemId, string oldFolder, string newFolder)
|
||||
{
|
||||
try
|
||||
{
|
||||
// load organization
|
||||
Organization org = OrganizationController.GetOrganization(itemId);
|
||||
if (org == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
EnterpriseStorage es = GetEnterpriseStorage(GetEnterpriseStorageServiceID(org.PackageId));
|
||||
|
||||
return es.RenameFolder(org.OrganizationId, oldFolder, newFolder);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
|
||||
protected static ResultObject CreateFolderInternal(int itemId, string folderName)
|
||||
{
|
||||
ResultObject result = TaskManager.StartResultTask<ResultObject>("ENTERPRISE_STORAGE", "CREATE_FOLDER");
|
||||
|
@ -240,7 +267,8 @@ namespace WebsitePanel.EnterpriseServer
|
|||
if (org == null)
|
||||
return null;
|
||||
|
||||
string accountTypes = string.Format("{0}, {1}", ((int)ExchangeAccountType.SecurityGroup), ((int)ExchangeAccountType.User));
|
||||
string accountTypes = string.Format("{0}, {1}, {2}", ((int)ExchangeAccountType.SecurityGroup),
|
||||
(int)ExchangeAccountType.DefaultSecurityGroup, ((int)ExchangeAccountType.User));
|
||||
|
||||
if (PackageController.GetPackageServiceId(org.PackageId, ResourceGroups.Exchange) != 0)
|
||||
{
|
||||
|
@ -257,25 +285,16 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
foreach (ExchangeAccount tmpAccount in tmpAccounts.ToArray())
|
||||
{
|
||||
bool bSuccess = false;
|
||||
if (tmpAccount.AccountType == ExchangeAccountType.SecurityGroup || tmpAccount.AccountType == ExchangeAccountType.SecurityGroup
|
||||
? OrganizationController.GetSecurityGroupGeneralSettings(itemId, tmpAccount.AccountId) == null
|
||||
: OrganizationController.GetSecurityGroupGeneralSettings(itemId, tmpAccount.AccountId) == null)
|
||||
continue;
|
||||
|
||||
switch (tmpAccount.AccountType)
|
||||
{
|
||||
case ExchangeAccountType.SecurityGroup:
|
||||
bSuccess = OrganizationController.GetSecurityGroupGeneralSettings(itemId, tmpAccount.AccountId) != null;
|
||||
break;
|
||||
default:
|
||||
bSuccess = OrganizationController.GetUserGeneralSettings(itemId, tmpAccount.AccountId) != null;
|
||||
break;
|
||||
}
|
||||
|
||||
if (bSuccess)
|
||||
{
|
||||
exAccounts.Add(tmpAccount);
|
||||
}
|
||||
}
|
||||
|
||||
return exAccounts;
|
||||
|
||||
}
|
||||
|
||||
protected static SystemFilesPaged GetEnterpriseFoldersPagedInternal(int itemId, string filterValue, string sortColumn,
|
||||
|
@ -423,7 +442,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return rules.ToArray();
|
||||
}
|
||||
|
||||
private static ESPermission[] ConvertToESPermission(WebDavFolderRule[] rules)
|
||||
private static ESPermission[] ConvertToESPermission(int itemId, WebDavFolderRule[] rules)
|
||||
{
|
||||
var permissions = new List<ESPermission>();
|
||||
|
||||
|
@ -435,6 +454,31 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
permission.IsGroup = rule.Roles.Any();
|
||||
|
||||
var orgObj = OrganizationController.GetAccountByAccountName(itemId, permission.Account);
|
||||
|
||||
if (orgObj == null)
|
||||
continue;
|
||||
|
||||
if (permission.IsGroup)
|
||||
{
|
||||
var secGroupObj = OrganizationController.GetSecurityGroupGeneralSettings(itemId, orgObj.AccountId);
|
||||
|
||||
if (secGroupObj == null)
|
||||
continue;
|
||||
|
||||
permission.DisplayName = secGroupObj.DisplayName;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var userObj = OrganizationController.GetUserGeneralSettings(itemId, orgObj.AccountId);
|
||||
|
||||
if (userObj == null)
|
||||
continue;
|
||||
|
||||
permission.DisplayName = userObj.DisplayName;
|
||||
}
|
||||
|
||||
if (rule.Read && !rule.Write)
|
||||
{
|
||||
permission.Access = "Read-Only";
|
||||
|
@ -444,10 +488,12 @@ namespace WebsitePanel.EnterpriseServer
|
|||
permission.Access = "Read-Write";
|
||||
}
|
||||
|
||||
|
||||
permissions.Add(permission);
|
||||
}
|
||||
|
||||
return permissions.ToArray();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4619,5 +4619,57 @@ Please ensure the space has been allocated {0} IP address as a dedicated one and
|
|||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region Directory Browsing
|
||||
|
||||
public static bool GetDirectoryBrowseEnabled(int itemId, string siteId)
|
||||
{
|
||||
// load organization
|
||||
var org = OrganizationController.GetOrganization(itemId);
|
||||
if (org == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
siteId = RemoveProtocolFromUrl(siteId);
|
||||
|
||||
var webServer = GetWebServer(GetWebServerServiceID(org.PackageId));
|
||||
|
||||
return webServer.GetDirectoryBrowseEnabled(siteId);
|
||||
}
|
||||
|
||||
public static void SetDirectoryBrowseEnabled(int itemId, string siteId, bool enabled)
|
||||
{
|
||||
// load organization
|
||||
var org = OrganizationController.GetOrganization(itemId);
|
||||
if (org == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
siteId = RemoveProtocolFromUrl(siteId);
|
||||
|
||||
var webServer = GetWebServer(GetWebServerServiceID(org.PackageId));
|
||||
|
||||
webServer.SetDirectoryBrowseEnabled(siteId, enabled);
|
||||
}
|
||||
|
||||
private static string RemoveProtocolFromUrl(string input)
|
||||
{
|
||||
if (input.Contains("//"))
|
||||
{
|
||||
return System.Text.RegularExpressions.Regex.Split(input, "//")[1];
|
||||
}
|
||||
|
||||
return input;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private static int GetWebServerServiceID(int packageId)
|
||||
{
|
||||
return PackageController.GetPackageServiceId(packageId, ResourceGroups.Web);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -110,5 +110,11 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
return EnterpriseStorageController.GetEnterpriseFoldersPaged(itemId, filterValue, sortColumn, startRow, maximumRows);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public SystemFile RenameEnterpriseFolder(int itemId, string oldName, string newName)
|
||||
{
|
||||
return EnterpriseStorageController.RenameFolder(itemId, oldName, newName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -625,5 +625,22 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Directory Browsing
|
||||
|
||||
[WebMethod]
|
||||
public bool GetDirectoryBrowseEnabled(int itemId, string site)
|
||||
{
|
||||
return WebServerController.GetDirectoryBrowseEnabled(itemId, site);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void SetDirectoryBrowseEnabled(int itemId, string site, bool enabled)
|
||||
{
|
||||
WebServerController.SetDirectoryBrowseEnabled(itemId, site, enabled);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,9 +41,11 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
SystemFile[] GetFolders(string organizationId);
|
||||
SystemFile GetFolder(string organizationId, string folderName);
|
||||
void CreateFolder(string organizationId, string folder);
|
||||
SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder);
|
||||
void DeleteFolder(string organizationId, string folder);
|
||||
bool SetFolderWebDavRules(string organizationId, string folder, WebDavFolderRule[] rules);
|
||||
WebDavFolderRule[] GetFolderWebDavRules(string organizationId, string folder);
|
||||
bool CheckFileServicesInstallation();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,8 @@ using WebsitePanel.Providers.HostedSolution;
|
|||
using WebsitePanel.Providers.ResultObjects;
|
||||
using WebsitePanel.Providers.WebAppGallery;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using Microsoft.Web.Administration;
|
||||
using Microsoft.Web.Management.Server;
|
||||
|
||||
namespace WebsitePanel.Providers.Web
|
||||
{
|
||||
|
@ -166,6 +168,8 @@ namespace WebsitePanel.Providers.Web
|
|||
SSLCertificate ImportCertificate(WebSite website);
|
||||
bool CheckCertificate(WebSite webSite);
|
||||
|
||||
|
||||
//Directory Browseing
|
||||
bool GetDirectoryBrowseEnabled(string siteId);
|
||||
void SetDirectoryBrowseEnabled(string siteId, bool enabled);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,6 +57,14 @@
|
|||
<WarningsAsErrors>618</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Web.Administration, Version=7.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Administration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Management.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
|
|
|
@ -112,6 +112,21 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
FileUtils.CreateDirectory(string.Format("{0}:\\{1}\\{2}\\{3}", LocationDrive, UsersHome, organizationId, folder));
|
||||
}
|
||||
|
||||
public SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder)
|
||||
{
|
||||
var oldPath = string.Format("{0}:\\{1}\\{2}\\{3}", LocationDrive, UsersHome, organizationId, originalFolder);
|
||||
var newPath = string.Format("{0}:\\{1}\\{2}\\{3}", LocationDrive, UsersHome, organizationId, newFolder);
|
||||
|
||||
FileUtils.MoveFile(oldPath,newPath);
|
||||
|
||||
IWebDav webdav = new WebDav(UsersDomain);
|
||||
|
||||
//deleting old folder rules
|
||||
webdav.DeleteAllWebDavRules(organizationId, originalFolder);
|
||||
|
||||
return GetFolder(organizationId, newFolder);
|
||||
}
|
||||
|
||||
public void DeleteFolder(string organizationId, string folder)
|
||||
{
|
||||
string rootPath = string.Format("{0}:\\{1}\\{2}\\{3}", LocationDrive, UsersHome, organizationId, folder);
|
||||
|
|
|
@ -3746,6 +3746,27 @@ namespace WebsitePanel.Providers.Web
|
|||
return itemsDiskspace.ToArray();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Directory Browsing
|
||||
|
||||
public override bool GetDirectoryBrowseEnabled(string siteId)
|
||||
{
|
||||
using (ServerManager srvman = webObjectsSvc.GetServerManager())
|
||||
{
|
||||
var enabled = dirBrowseSvc.GetDirectoryBrowseSettings(srvman, siteId)[DirectoryBrowseGlobals.Enabled];
|
||||
|
||||
return enabled != null ? (bool)enabled : false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void SetDirectoryBrowseEnabled(string siteId, bool enabled)
|
||||
{
|
||||
dirBrowseSvc.SetDirectoryBrowseEnabled(siteId, enabled);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override bool IsIISInstalled()
|
||||
|
|
|
@ -56,6 +56,8 @@ using System.Xml.Serialization;
|
|||
using System.Text.RegularExpressions;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using System.Collections.Specialized;
|
||||
using Microsoft.Web.Administration;
|
||||
using Microsoft.Web.Management.Server;
|
||||
|
||||
namespace WebsitePanel.Providers.Web
|
||||
{
|
||||
|
@ -3412,6 +3414,27 @@ namespace WebsitePanel.Providers.Web
|
|||
}
|
||||
#endregion
|
||||
|
||||
#region Directory Browsing
|
||||
|
||||
public virtual bool GetDirectoryBrowseEnabled(string siteId)
|
||||
{
|
||||
ManagementObject objVirtDir = wmi.GetObject(String.Format("IIsWebVirtualDirSetting='{0}'", GetVirtualDirectoryPath(siteId, "")));
|
||||
return objVirtDir.Properties["EnableDirBrowsing"].Value != null ? (bool)objVirtDir.Properties["EnableDirBrowsing"].Value : false;
|
||||
}
|
||||
|
||||
public virtual void SetDirectoryBrowseEnabled(string siteId, bool enabled)
|
||||
{
|
||||
ManagementObject objSite = wmi.GetObject(String.Format("IIsWebServerSetting='{0}'", siteId));
|
||||
|
||||
WebSite site = GetSite(siteId);
|
||||
site.EnableDirectoryBrowsing = enabled;
|
||||
|
||||
FillWmiObjectFromVirtualDirectory(objSite, site, false);
|
||||
objSite.Put();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public virtual bool IsIISInstalled()
|
||||
{
|
||||
int value = 0;
|
||||
|
@ -3737,10 +3760,5 @@ namespace WebsitePanel.Providers.Web
|
|||
throw new NotSupportedException();
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,11 +67,19 @@
|
|||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\Microsoft.Practices.ObjectBuilder.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Administration, Version=7.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Administration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Deployment, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Deployment.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Management.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.PlatformInstaller, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.PlatformInstaller.dll</HintPath>
|
||||
|
|
|
@ -30,6 +30,14 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Web.Administration, Version=7.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Administration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Management.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
|
|
@ -71,16 +71,18 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
|
||||
private System.Threading.SendOrPostCallback DeleteFolderOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback CheckFileServicesInstallationOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SetFolderWebDavRulesOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetFolderWebDavRulesOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback CheckFileServicesInstallationOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback RenameFolderOperationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public EnterpriseStorage()
|
||||
{
|
||||
this.Url = "http://localhost:9003/EnterpriseStorage.asmx";
|
||||
this.Url = "http://localhost:9004/EnterpriseStorage.asmx";
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -95,15 +97,18 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
/// <remarks/>
|
||||
public event DeleteFolderCompletedEventHandler DeleteFolderCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event CheckFileServicesInstallationCompletedEventHandler CheckFileServicesInstallationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SetFolderWebDavRulesCompletedEventHandler SetFolderWebDavRulesCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetFolderWebDavRulesCompletedEventHandler GetFolderWebDavRulesCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event CheckFileServicesInstallationCompletedEventHandler CheckFileServicesInstallationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event RenameFolderCompletedEventHandler RenameFolderCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetFolders", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
|
@ -309,53 +314,6 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CheckFileServicesInstallation", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public bool CheckFileServicesInstallation()
|
||||
{
|
||||
object[] results = this.Invoke("CheckFileServicesInstallation", new object[0]);
|
||||
return ((bool)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginCheckFileServicesInstallation(System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("CheckFileServicesInstallation", new object[0], callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public bool EndCheckFileServicesInstallation(System.IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((bool)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CheckFileServicesInstallationAsync()
|
||||
{
|
||||
this.CheckFileServicesInstallationAsync(null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CheckFileServicesInstallationAsync(object userState)
|
||||
{
|
||||
if ((this.CheckFileServicesInstallationOperationCompleted == null))
|
||||
{
|
||||
this.CheckFileServicesInstallationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckFileServicesInstallationOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("CheckFileServicesInstallation", new object[0], this.CheckFileServicesInstallationOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnCheckFileServicesInstallationOperationCompleted(object arg)
|
||||
{
|
||||
if ((this.CheckFileServicesInstallationCompleted != null))
|
||||
{
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.CheckFileServicesInstallationCompleted(this, new CheckFileServicesInstallationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetFolderWebDavRules", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
|
@ -465,6 +423,109 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CheckFileServicesInstallation", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public bool CheckFileServicesInstallation()
|
||||
{
|
||||
object[] results = this.Invoke("CheckFileServicesInstallation", new object[0]);
|
||||
return ((bool)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginCheckFileServicesInstallation(System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("CheckFileServicesInstallation", new object[0], callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public bool EndCheckFileServicesInstallation(System.IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((bool)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CheckFileServicesInstallationAsync()
|
||||
{
|
||||
this.CheckFileServicesInstallationAsync(null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CheckFileServicesInstallationAsync(object userState)
|
||||
{
|
||||
if ((this.CheckFileServicesInstallationOperationCompleted == null))
|
||||
{
|
||||
this.CheckFileServicesInstallationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckFileServicesInstallationOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("CheckFileServicesInstallation", new object[0], this.CheckFileServicesInstallationOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnCheckFileServicesInstallationOperationCompleted(object arg)
|
||||
{
|
||||
if ((this.CheckFileServicesInstallationCompleted != null))
|
||||
{
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.CheckFileServicesInstallationCompleted(this, new CheckFileServicesInstallationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RenameFolder", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder)
|
||||
{
|
||||
object[] results = this.Invoke("RenameFolder", new object[] {
|
||||
organizationId,
|
||||
originalFolder,
|
||||
newFolder});
|
||||
return ((SystemFile)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginRenameFolder(string organizationId, string originalFolder, string newFolder, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("RenameFolder", new object[] {
|
||||
organizationId,
|
||||
originalFolder,
|
||||
newFolder}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public SystemFile EndRenameFolder(System.IAsyncResult asyncResult)
|
||||
{
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((SystemFile)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void RenameFolderAsync(string organizationId, string originalFolder, string newFolder)
|
||||
{
|
||||
this.RenameFolderAsync(organizationId, originalFolder, newFolder, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void RenameFolderAsync(string organizationId, string originalFolder, string newFolder, object userState)
|
||||
{
|
||||
if ((this.RenameFolderOperationCompleted == null))
|
||||
{
|
||||
this.RenameFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameFolderOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("RenameFolder", new object[] {
|
||||
organizationId,
|
||||
originalFolder,
|
||||
newFolder}, this.RenameFolderOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnRenameFolderOperationCompleted(object arg)
|
||||
{
|
||||
if ((this.RenameFolderCompleted != null))
|
||||
{
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.RenameFolderCompleted(this, new RenameFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState)
|
||||
{
|
||||
|
@ -540,36 +601,6 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void DeleteFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void CheckFileServicesInstallationCompletedEventHandler(object sender, CheckFileServicesInstallationCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class CheckFileServicesInstallationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal CheckFileServicesInstallationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public bool Result
|
||||
{
|
||||
get
|
||||
{
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((bool)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void SetFolderWebDavRulesCompletedEventHandler(object sender, SetFolderWebDavRulesCompletedEventArgs e);
|
||||
|
@ -629,4 +660,64 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void CheckFileServicesInstallationCompletedEventHandler(object sender, CheckFileServicesInstallationCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class CheckFileServicesInstallationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal CheckFileServicesInstallationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public bool Result
|
||||
{
|
||||
get
|
||||
{
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((bool)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void RenameFolderCompletedEventHandler(object sender, RenameFolderCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class RenameFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
|
||||
{
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal RenameFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState)
|
||||
{
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public SystemFile Result
|
||||
{
|
||||
get
|
||||
{
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((SystemFile)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -140,6 +140,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.Ente
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.HostedSolution.Lync2013HP", "WebsitePanel.Providers.HostedSolution.Lync2013HP\WebsitePanel.Providers.HostedSolution.Lync2013HP.csproj", "{D92F6235-8E5D-47C1-B96A-A2BE40E17889}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.Web.WebDav", "WebsitePanel.Providers.Web.WebDav\WebsitePanel.Providers.Web.WebDav.csproj", "{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -720,6 +722,16 @@ Global
|
|||
{D92F6235-8E5D-47C1-B96A-A2BE40E17889}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D92F6235-8E5D-47C1-B96A-A2BE40E17889}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D92F6235-8E5D-47C1-B96A-A2BE40E17889}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{CE2DF3D7-D6FF-48FA-B2EA-7B836FCBF698}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -170,5 +170,21 @@ namespace WebsitePanel.Server
|
|||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder)
|
||||
{
|
||||
try
|
||||
{
|
||||
Log.WriteStart("'{0}' RenameFolder", ProviderSettings.ProviderName);
|
||||
return EnterpriseStorageProvider.RenameFolder(organizationId, originalFolder, newFolder);
|
||||
Log.WriteEnd("'{0}' RenameFolder", ProviderSettings.ProviderName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.WriteError(String.Format("'{0}' RenameFolder", ProviderSettings.ProviderName), ex);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,8 @@ using WebsitePanel.Server.Utils;
|
|||
using WebsitePanel.Providers.ResultObjects;
|
||||
using WebsitePanel.Providers.WebAppGallery;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using Microsoft.Web.Administration;
|
||||
using Microsoft.Web.Management.Server;
|
||||
|
||||
namespace WebsitePanel.Server
|
||||
{
|
||||
|
@ -1621,5 +1623,21 @@ namespace WebsitePanel.Server
|
|||
return WebProvider.CheckCertificate(webSite);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Directory Browsing
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public bool GetDirectoryBrowseEnabled(string siteId)
|
||||
{
|
||||
return WebProvider.GetDirectoryBrowseEnabled(siteId);
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void SetDirectoryBrowseEnabled(string siteId, bool enabled)
|
||||
{
|
||||
WebProvider.SetDirectoryBrowseEnabled(siteId, enabled);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,11 +47,19 @@
|
|||
<WarningsAsErrors>618</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Web.Administration, Version=7.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Administration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Deployment, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Deployment.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.Management.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.PlatformInstaller, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\References\Microsoft\Microsoft.Web.PlatformInstaller.dll</HintPath>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locFolderName" runat="server" meta:resourcekey="locFolderName" Text="Folder Name:"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtFolderName" runat="server" CssClass="HugeTextBox200" ReadOnly="true"></asp:TextBox>
|
||||
<asp:TextBox ID="txtFolderName" runat="server" CssClass="HugeTextBox200"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireFolderName" runat="server" meta:resourcekey="valRequireFolderName" ControlToValidate="txtFolderName"
|
||||
ErrorMessage="Enter Folder Name" ValidationGroup="EditFolder" Display="Dynamic" Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
<br />
|
||||
|
@ -41,6 +41,13 @@
|
|||
<td class="FormLabel150"><asp:Localize ID="locFolderUrl" runat="server" meta:resourcekey="locFolderUrl" Text="Folder Url:"></asp:Localize></td>
|
||||
<td><asp:Label runat="server" ID="lblFolderUrl" /></td>
|
||||
</tr>
|
||||
<tr><td> </td></tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locDirectoryBrowsing" runat="server" meta:resourcekey="locDirectoryBrowsing" Text="Enable Directory Browsing:"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:CheckBox id="chkDirectoryBrowsing" runat="server"></asp:CheckBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td> </td></tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
@ -50,14 +57,7 @@
|
|||
</fieldset>
|
||||
</tr>
|
||||
<tr><td> </td></tr>
|
||||
<tr>
|
||||
<td class="FormLabel150" colspan="2"><asp:Localize ID="locNotes" runat="server" meta:resourcekey="locNotes" Text="Notes:"></asp:Localize></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtNotes" runat="server" CssClass="TextBox200" Rows="4" TextMode="MultiLine"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<div class="FormFooterClean">
|
||||
|
|
|
@ -72,9 +72,10 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
|
||||
var esPermissions = ES.Services.EnterpriseStorage.GetEnterpriseFolderPermissions(PanelRequest.ItemID,folder.Name);
|
||||
|
||||
chkDirectoryBrowsing.Checked = ES.Services.WebServers.GetDirectoryBrowseEnabled(PanelRequest.ItemID, folder.Url);
|
||||
|
||||
permissions.SetPermissions(esPermissions);
|
||||
|
||||
txtNotes.Text = folder.GetValue<string>("Notes");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -89,11 +90,33 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
|
||||
try
|
||||
{
|
||||
bool redirectNeeded = false;
|
||||
|
||||
litFolderName.Text = txtFolderName.Text;
|
||||
|
||||
SystemFile folder = ES.Services.EnterpriseStorage.GetEnterpriseFolder(PanelRequest.ItemID, PanelRequest.FolderID);
|
||||
// SystemFile folder = ES.Services.EnterpriseStorage.GetEnterpriseFolder(PanelRequest.ItemID, PanelRequest.FolderID);
|
||||
SystemFile folder = new SystemFile();
|
||||
|
||||
ES.Services.EnterpriseStorage.SetEnterpriseFolderPermissions(PanelRequest.ItemID, folder.Name, permissions.GetPemissions());
|
||||
if (PanelRequest.FolderID != txtFolderName.Text)
|
||||
{
|
||||
if (txtFolderName.Text.Contains("\\"))
|
||||
{
|
||||
throw new Exception("Wrong file name");
|
||||
}
|
||||
|
||||
folder = ES.Services.EnterpriseStorage.RenameEnterpriseFolder(PanelRequest.ItemID, PanelRequest.FolderID, txtFolderName.Text);
|
||||
redirectNeeded = true;
|
||||
}
|
||||
|
||||
ES.Services.EnterpriseStorage.SetEnterpriseFolderPermissions(PanelRequest.ItemID, redirectNeeded ? folder.Name : PanelRequest.FolderID, permissions.GetPemissions());
|
||||
|
||||
ES.Services.WebServers.SetDirectoryBrowseEnabled(PanelRequest.ItemID, redirectNeeded ? folder.Url : lblFolderUrl.Text, chkDirectoryBrowsing.Checked);
|
||||
|
||||
if (redirectNeeded)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "enterprisestorage_folders",
|
||||
"ItemID=" + PanelRequest.ItemID));
|
||||
}
|
||||
|
||||
messageBox.ShowSuccessMessage("ENTERPRISE_STORAGE_UPDATE_FOLDER_SETTINGS");
|
||||
}
|
||||
|
|
|
@ -120,6 +120,24 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFolderUrl;
|
||||
|
||||
/// <summary>
|
||||
/// locDirectoryBrowsing control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locDirectoryBrowsing;
|
||||
|
||||
/// <summary>
|
||||
/// chkDirectoryBrowsing control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkDirectoryBrowsing;
|
||||
|
||||
/// <summary>
|
||||
/// PermissionsPanel control.
|
||||
/// </summary>
|
||||
|
@ -147,24 +165,6 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.EnterpriseStoragePermissions permissions;
|
||||
|
||||
/// <summary>
|
||||
/// locNotes control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locNotes;
|
||||
|
||||
/// <summary>
|
||||
/// txtNotes control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtNotes;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave control.
|
||||
/// </summary>
|
||||
|
|
|
@ -70,10 +70,10 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
int folderAvailable = foldersQuota.QuotaAvailable = tenantStats.AllocatedEnterpriseStorageFolders - tenantStats.CreatedEnterpriseStorageFolders;
|
||||
|
||||
if (folderAvailable <= 0)
|
||||
{
|
||||
btnAddFolder.Enabled = false;
|
||||
}
|
||||
//if (folderAvailable <= 0)
|
||||
//{
|
||||
// btnAddFolder.Enabled = false;
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -162,6 +162,9 @@
|
|||
<data name="headerAddAccounts.Text" xml:space="preserve">
|
||||
<value>Organization Accounts</value>
|
||||
</data>
|
||||
<data name="locDirectoryBrowsing" xml:space="preserve">
|
||||
<value>Enable Directory Browsing:</value>
|
||||
</data>
|
||||
<data name="locIncludeSearch.Text" xml:space="preserve">
|
||||
<value>Include in search:</value>
|
||||
</data>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<ItemStyle Width="60%" Wrap="false">
|
||||
</ItemStyle>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="litAccount" runat="server" Text='<%# Eval("Account") %>'></asp:Literal>
|
||||
<asp:Literal ID="litAccount" runat="server" Text='<%# Eval("DisplayName") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField meta:resourcekey="gvPermissionsAccess" HeaderText="gvPermissionsAccess">
|
||||
|
|
|
@ -102,11 +102,13 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
permissions.Add(new ESPermission
|
||||
{
|
||||
Account = account.AccountName,
|
||||
DisplayName = account.DisplayName,
|
||||
Access = "Read-Only",
|
||||
});
|
||||
}
|
||||
|
||||
BindAccounts(permissions.ToArray(), true);
|
||||
|
||||
}
|
||||
|
||||
public string GetAccountImage(int accountTypeId)
|
||||
|
@ -207,6 +209,7 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
ESPermission permission = new ESPermission();
|
||||
permission.Account = (string)gvPermissions.DataKeys[i][0];
|
||||
permission.Access = ((Literal)row.FindControl("litAccess")).Text;
|
||||
permission.DisplayName = ((Literal)row.FindControl("litAccount")).Text;
|
||||
|
||||
if (state == SelectedState.All ||
|
||||
(state == SelectedState.Selected && chkSelect.Checked) ||
|
||||
|
@ -231,12 +234,14 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
{
|
||||
accounts.Add(new ExchangeAccount
|
||||
{
|
||||
AccountName = (string)gvPopupAccounts.DataKeys[i][0]
|
||||
AccountName = (string)gvPopupAccounts.DataKeys[i][0],
|
||||
DisplayName = ((Literal)row.FindControl("litDisplayName")).Text
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return accounts;
|
||||
|
||||
}
|
||||
|
||||
protected void cmdSearch_Click(object sender, ImageClickEventArgs e)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue