Released windows auth, connect to ES.Services.
|
@ -1,10 +1,9 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -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 -->
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
namespace WebsitePanel.WebDav.Core.Exceptions
|
||||
{
|
||||
public class UnauthorizedException : WebDavHttpException
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
using System;
|
||||
|
||||
namespace WebsitePanel.WebDav.Core.Exceptions
|
||||
{
|
||||
public class WebDavException : Exception
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
namespace WebsitePanel.WebDav.Core.Exceptions
|
||||
{
|
||||
public class WebDavHttpException : WebDavException
|
||||
{
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
354
WebsitePanel/Sources/WebsitePanel.WebDav.Core/IFolder.cs
Normal file
|
@ -0,0 +1,354 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
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";
|
||||
|
||||
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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
255
WebsitePanel/Sources/WebsitePanel.WebDav.Core/IHierarchyItem.cs
Normal file
|
@ -0,0 +1,255 @@
|
|||
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; }
|
||||
}
|
||||
|
||||
public ItemType ItemType
|
||||
{
|
||||
get { return _itemType; }
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
521
WebsitePanel/Sources/WebsitePanel.WebDav.Core/IResource.cs
Normal file
|
@ -0,0 +1,521 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
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);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
13
WebsitePanel/Sources/WebsitePanel.WebDav.Core/ItemType.cs
Normal file
|
@ -0,0 +1,13 @@
|
|||
namespace WebsitePanel.WebDav.Core
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
public enum ItemType
|
||||
{
|
||||
Resource,
|
||||
Folder,
|
||||
Version,
|
||||
VersionHistory
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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")]
|
34
WebsitePanel/Sources/WebsitePanel.WebDav.Core/Property.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 ICredentials 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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SiteSettings>
|
||||
<!-- Display Settings -->
|
||||
<PortalName>WebsitePanel</PortalName>
|
||||
<!-- Enterprise Server -->
|
||||
<EnterpriseServer>http://localhost:9002</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>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<SupportedLocales>
|
||||
<Locale name="English" key="en-US" fallback="" />
|
||||
</SupportedLocales>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Themes>
|
||||
<Theme name="Default" title="Energy Blue" />
|
||||
</Themes>
|
|
@ -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>
|
|
@ -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>
|
90
WebsitePanel/Sources/WebsitePanel.WebDavPortal/App_GlobalResources/Resource.errors.designer.cs
generated
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
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: "FilePathRoute",
|
||||
url: "root/{*pathPart}",
|
||||
defaults: new { controller = "FileSystem", action = "ShowContent", pathPart = UrlParameter.Optional }
|
||||
);
|
||||
|
||||
routes.MapRoute(
|
||||
name: "Office365DocumentRoute",
|
||||
url: "office365/root/{*pathPart}",
|
||||
defaults: new { controller = "FileSystem", action = "ShowOfficeDocument", pathPart = UrlParameter.Optional }
|
||||
);
|
||||
|
||||
routes.MapRoute(
|
||||
name: "Default",
|
||||
url: "{controller}/{action}",
|
||||
defaults: new { controller = "Account", action = "Login" }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using WebsitePanel.WebDavPortal.WebConfigSections;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Config.Entities
|
||||
{
|
||||
public class ConnectionStringsCollection : AbstractConfigCollection
|
||||
{
|
||||
private readonly IEnumerable<AppConnectionStringsElement> _appConnectionStringsElements;
|
||||
|
||||
public ConnectionStringsCollection()
|
||||
{
|
||||
_appConnectionStringsElements = ConfigSection.ConnectionStrings.Cast<AppConnectionStringsElement>();
|
||||
}
|
||||
|
||||
public string WebDavServer
|
||||
{
|
||||
get
|
||||
{
|
||||
AppConnectionStringsElement connectionStr =
|
||||
_appConnectionStringsElements.FirstOrDefault(
|
||||
x => x.Key == AppConnectionStringsElement.WebdavConnectionStringKey);
|
||||
return connectionStr != null ? connectionStr.ConnectionString : null;
|
||||
}
|
||||
}
|
||||
|
||||
public string LdapServer
|
||||
{
|
||||
get
|
||||
{
|
||||
AppConnectionStringsElement connectionStr =
|
||||
_appConnectionStringsElements.FirstOrDefault(
|
||||
x => x.Key == AppConnectionStringsElement.LdapConnectionStringKey);
|
||||
return connectionStr != null ? connectionStr.ConnectionString : null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
namespace WebsitePanel.WebDavPortal.Config.Entities
|
||||
{
|
||||
public class Rfc2898CryptographyParameters : AbstractConfigCollection
|
||||
{
|
||||
public string PasswordHash { get; private set; }
|
||||
public string SaltKey { get; private set; }
|
||||
public string VIKey { get; private set; }
|
||||
|
||||
public Rfc2898CryptographyParameters()
|
||||
{
|
||||
PasswordHash = ConfigSection.Rfc2898Cryptography.PasswordHash;
|
||||
SaltKey = ConfigSection.Rfc2898Cryptography.SaltKey;
|
||||
VIKey = ConfigSection.Rfc2898Cryptography.VIKey;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using WebsitePanel.WebDavPortal.Config.Entities;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Config
|
||||
{
|
||||
public interface IWebDavAppConfig
|
||||
{
|
||||
string UserDomain { get; }
|
||||
string ApplicationName { get; }
|
||||
ElementsRendering ElementsRendering { get; }
|
||||
WebsitePanelConstantUserParameters WebsitePanelConstantUserParameters { get; }
|
||||
Rfc2898CryptographyParameters Rfc2898CryptographyParameters { get; }
|
||||
ConnectionStringsCollection ConnectionStrings { get; }
|
||||
SessionKeysCollection SessionKeys { get; }
|
||||
FileIconsDictionary FileIcons { get; }
|
||||
HttpErrorsCollection HttpErrors { get; }
|
||||
OfficeOnlineCollection OfficeOnline { get; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
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));
|
||||
Rfc2898CryptographyParameters = new Rfc2898CryptographyParameters();
|
||||
WebsitePanelConstantUserParameters = new WebsitePanelConstantUserParameters();
|
||||
ElementsRendering = new ElementsRendering();
|
||||
ConnectionStrings = new ConnectionStringsCollection();
|
||||
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 Rfc2898CryptographyParameters Rfc2898CryptographyParameters { get; private set; }
|
||||
public ConnectionStringsCollection ConnectionStrings { 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; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace WebsitePanel.WebDavPortal.Constants
|
||||
{
|
||||
public static class DirectoryEntryPropertyNameConstants
|
||||
{
|
||||
public const string DistinguishedName = "distinguishedName";
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 5 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 7.3 KiB |
|
@ -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;
|
||||
}
|
457
WebsitePanel/Sources/WebsitePanel.WebDavPortal/Content/bootstrap-theme.css
vendored
Normal 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 */
|
5
WebsitePanel/Sources/WebsitePanel.WebDavPortal/Content/bootstrap-theme.min.css
vendored
Normal file
6358
WebsitePanel/Sources/WebsitePanel.WebDavPortal/Content/bootstrap.css
vendored
Normal file
5
WebsitePanel/Sources/WebsitePanel.WebDavPortal/Content/bootstrap.min.css
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
using System;
|
||||
using System.Configuration;
|
||||
using System.DirectoryServices;
|
||||
using System.IO;
|
||||
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;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Controllers
|
||||
{
|
||||
public class AccountController : Controller
|
||||
{
|
||||
private readonly IKernel _kernel = new StandardKernel(new NinjectSettings {AllowNullInjection = true}, new WebDavExplorerAppModule());
|
||||
|
||||
[HttpGet]
|
||||
public ActionResult Login()
|
||||
{
|
||||
try
|
||||
{
|
||||
const string userName = "serveradmin";
|
||||
string correctPassword = "wsp_2012" + Environment.NewLine;
|
||||
const bool createPersistentCookie = true;
|
||||
var authTicket = new FormsAuthenticationTicket(2, userName, DateTime.Now, DateTime.Now.AddMinutes(60), true, correctPassword);
|
||||
var encryptedTicket = FormsAuthentication.Encrypt(authTicket);
|
||||
var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
|
||||
if (createPersistentCookie)
|
||||
authCookie.Expires = authTicket.Expiration;
|
||||
Response.Cookies.Add(authCookie);
|
||||
|
||||
const string organizationId = "System";
|
||||
var itemId = ES.Services.Organizations.GetOrganizationById(organizationId).Id;
|
||||
var folders = ES.Services.EnterpriseStorage.GetEnterpriseFolders(itemId);
|
||||
}
|
||||
catch (System.Exception exception)
|
||||
{
|
||||
}
|
||||
|
||||
//============
|
||||
object isAuthentication = _kernel.Get<AccountModel>();
|
||||
if (isAuthentication != null)
|
||||
return RedirectToAction("ShowContent", "FileSystem");
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult Login(AccountModel model)
|
||||
{
|
||||
var ldapConnectionString = WebDavAppConfigManager.Instance.ConnectionStrings.LdapServer;
|
||||
if (ldapConnectionString == null || !Regex.IsMatch(ldapConnectionString, @"^LDAP://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?$"))
|
||||
return View(new AccountModel { LdapError = "LDAP server address is invalid" });
|
||||
|
||||
var principal = new WebDavPortalIdentity(model.Login, model.Password);
|
||||
bool isAuthenticated = principal.Identity.IsAuthenticated;
|
||||
var organizationId = principal.GetOrganizationId();
|
||||
|
||||
ViewBag.LdapIsAuthentication = isAuthenticated;
|
||||
|
||||
if (isAuthenticated)
|
||||
{
|
||||
AutheticationToServicesUsingWebsitePanelUser();
|
||||
|
||||
var organization = ES.Services.Organizations.GetOrganizationById(organizationId);
|
||||
if (organization == null)
|
||||
throw new NullReferenceException();
|
||||
Session[WebDavAppConfigManager.Instance.SessionKeys.ItemId] = organization.Id;
|
||||
|
||||
try
|
||||
{
|
||||
Session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] = new WebDavManager(new NetworkCredential(WebDavAppConfigManager.Instance.UserDomain + "\\" + model.Login, model.Password));
|
||||
Session[WebDavAppConfigManager.Instance.SessionKeys.AccountInfo] = model;
|
||||
}
|
||||
catch (ConnectToWebDavServerException exception)
|
||||
{
|
||||
return View(new AccountModel { LdapError = exception.Message });
|
||||
}
|
||||
return RedirectToAction("ShowContent", "FileSystem");
|
||||
}
|
||||
return View(new AccountModel { LdapError = "The user name or password is incorrect" });
|
||||
}
|
||||
|
||||
private void AutheticationToServicesUsingWebsitePanelUser()
|
||||
{
|
||||
var crypto = _kernel.Get<ICryptography>();
|
||||
var websitePanelLogin = crypto.Decrypt(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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
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;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Controllers
|
||||
{
|
||||
[LdapAuthorization]
|
||||
public class FileSystemController : Controller
|
||||
{
|
||||
private readonly IKernel _kernel = new StandardKernel(new WebDavExplorerAppModule());
|
||||
|
||||
public ActionResult ShowContent(string pathPart = "")
|
||||
{
|
||||
var webDavManager = _kernel.Get<IWebDavManager>();
|
||||
|
||||
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 pathPart = "")
|
||||
{
|
||||
const string fileUrl = "http://my-files.ru/DownloadSave/xluyk3/test1.docx";
|
||||
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 null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace WebsitePanel.WebDavPortal.Cryptography
|
||||
{
|
||||
public interface ICryptography
|
||||
{
|
||||
string Encrypt(string plainText);
|
||||
string Decrypt(string encryptedText);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Cryptography
|
||||
{
|
||||
public class Rfc2898Cryptography : ICryptography
|
||||
{
|
||||
public string PasswordHash { get; set; }
|
||||
public string SaltKey { get; set; }
|
||||
public string VIKey { get; set; }
|
||||
|
||||
public Rfc2898Cryptography(string passwordHash, string saltKey, string viKey)
|
||||
{
|
||||
PasswordHash = passwordHash;
|
||||
SaltKey = saltKey;
|
||||
VIKey = viKey;
|
||||
}
|
||||
|
||||
public string Encrypt(string plainText)
|
||||
{
|
||||
byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText);
|
||||
|
||||
byte[] keyBytes = new Rfc2898DeriveBytes(PasswordHash, Encoding.ASCII.GetBytes(SaltKey)).GetBytes(256/8);
|
||||
var symmetricKey = new RijndaelManaged {Mode = CipherMode.CBC, Padding = PaddingMode.Zeros};
|
||||
ICryptoTransform encryptor = symmetricKey.CreateEncryptor(keyBytes, Encoding.ASCII.GetBytes(VIKey));
|
||||
|
||||
byte[] cipherTextBytes;
|
||||
|
||||
using (var memoryStream = new MemoryStream())
|
||||
{
|
||||
using (var cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write))
|
||||
{
|
||||
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
|
||||
cryptoStream.FlushFinalBlock();
|
||||
cipherTextBytes = memoryStream.ToArray();
|
||||
cryptoStream.Close();
|
||||
}
|
||||
memoryStream.Close();
|
||||
}
|
||||
return Convert.ToBase64String(cipherTextBytes);
|
||||
}
|
||||
|
||||
public string Decrypt(string encryptedText)
|
||||
{
|
||||
byte[] cipherTextBytes = Convert.FromBase64String(encryptedText);
|
||||
byte[] keyBytes = new Rfc2898DeriveBytes(PasswordHash, Encoding.ASCII.GetBytes(SaltKey)).GetBytes(256/8);
|
||||
var symmetricKey = new RijndaelManaged {Mode = CipherMode.CBC, Padding = PaddingMode.None};
|
||||
|
||||
ICryptoTransform decryptor = symmetricKey.CreateDecryptor(keyBytes, Encoding.ASCII.GetBytes(VIKey));
|
||||
var memoryStream = new MemoryStream(cipherTextBytes);
|
||||
var cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read);
|
||||
var plainTextBytes = new byte[cipherTextBytes.Length];
|
||||
|
||||
int decryptedByteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length);
|
||||
memoryStream.Close();
|
||||
cryptoStream.Close();
|
||||
return Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount).TrimEnd("\0".ToCharArray());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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" }));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using Ninject.Activation;
|
||||
using WebsitePanel.WebDavPortal.Config;
|
||||
using WebsitePanel.WebDavPortal.Cryptography;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.DependencyInjection
|
||||
{
|
||||
public class Rfc2898CryptographyProvider : Provider<Rfc2898Cryptography>
|
||||
{
|
||||
protected override Rfc2898Cryptography CreateInstance(IContext context)
|
||||
{
|
||||
var rfc2898Cryptography =
|
||||
new Rfc2898Cryptography(WebDavAppConfigManager.Instance.Rfc2898CryptographyParameters.PasswordHash,
|
||||
WebDavAppConfigManager.Instance.Rfc2898CryptographyParameters.SaltKey,
|
||||
WebDavAppConfigManager.Instance.Rfc2898CryptographyParameters.VIKey);
|
||||
|
||||
return rfc2898Cryptography;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>().ToProvider<Rfc2898CryptographyProvider>();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace WebsitePanel.WebDavPortal.FileOperations
|
||||
{
|
||||
public enum FileOpenerType
|
||||
{
|
||||
Download, OfficeOnline
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<%@ Application Codebehind="Global.asax.cs" Inherits="WebsitePanel.WebDavPortal.MvcApplication" Language="C#" %>
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
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 LdapError { get; set; }
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
using System.Collections.Generic;
|
||||
using WebsitePanel.WebDav.Core.Client;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Models
|
||||
{
|
||||
public interface IWebDavManager
|
||||
{
|
||||
void OpenFolder(string pathPart);
|
||||
IEnumerable<IHierarchyItem> GetChildren();
|
||||
bool IsFile(string fileName);
|
||||
byte[] GetFileBytes(string fileName);
|
||||
string GetFileUrl(string fileName);
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
namespace WebsitePanel.WebDavPortal.Models
|
||||
{
|
||||
public class OfficeOnlineModel
|
||||
{
|
||||
public string Url { get; set; }
|
||||
public string FileName { get; set; }
|
||||
|
||||
public OfficeOnlineModel(string url, string fileName)
|
||||
{
|
||||
Url = url;
|
||||
FileName = fileName;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text.RegularExpressions;
|
||||
using WebsitePanel.WebDav.Core.Client;
|
||||
using WebsitePanel.WebDavPortal.Config;
|
||||
using WebsitePanel.WebDavPortal.Exceptions;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Models
|
||||
{
|
||||
public class WebDavManager : IWebDavManager
|
||||
{
|
||||
private readonly WebDavSession _webDavSession = new WebDavSession();
|
||||
private IFolder _currentFolder;
|
||||
private string _webDavRootPath;
|
||||
|
||||
public WebDavManager(ICredentials credentials)
|
||||
{
|
||||
_webDavSession.Credentials = credentials;
|
||||
ConnectToWebDavServer();
|
||||
}
|
||||
|
||||
public WebDavManager()
|
||||
{
|
||||
ConnectToWebDavServer();
|
||||
}
|
||||
|
||||
public void OpenFolder(string pathPart)
|
||||
{
|
||||
_currentFolder = _webDavSession.OpenFolder(_webDavRootPath + pathPart);
|
||||
}
|
||||
|
||||
public IEnumerable<IHierarchyItem> GetChildren()
|
||||
{
|
||||
IHierarchyItem[] children = _currentFolder.GetChildren();
|
||||
List<IHierarchyItem> sortedChildren =
|
||||
children.Where(x => x.ItemType == ItemType.Folder).OrderBy(x => x.DisplayName).ToList();
|
||||
sortedChildren.AddRange(children.Where(x => x.ItemType != ItemType.Folder).OrderBy(x => x.DisplayName));
|
||||
|
||||
return sortedChildren;
|
||||
}
|
||||
|
||||
public bool IsFile(string fileName)
|
||||
{
|
||||
try
|
||||
{
|
||||
IResource resource = _currentFolder.GetResource(fileName);
|
||||
Stream stream = resource.GetReadStream();
|
||||
return true;
|
||||
}
|
||||
catch (InvalidOperationException)
|
||||
{
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public byte[] GetFileBytes(string fileName)
|
||||
{
|
||||
try
|
||||
{
|
||||
IResource resource = _currentFolder.GetResource(fileName);
|
||||
Stream stream = resource.GetReadStream();
|
||||
byte[] fileBytes = ReadFully(stream);
|
||||
return fileBytes;
|
||||
}
|
||||
catch (InvalidOperationException exception)
|
||||
{
|
||||
throw new ResourceNotFoundException("Resource not found", exception);
|
||||
}
|
||||
}
|
||||
|
||||
public string GetFileUrl(string fileName)
|
||||
{
|
||||
try
|
||||
{
|
||||
IResource resource = _currentFolder.GetResource(fileName);
|
||||
return resource.Href.ToString();
|
||||
}
|
||||
catch (InvalidOperationException exception)
|
||||
{
|
||||
throw new ResourceNotFoundException("Resource not found", exception);
|
||||
}
|
||||
}
|
||||
|
||||
private void ConnectToWebDavServer()
|
||||
{
|
||||
string webDavServerPath = WebDavAppConfigManager.Instance.ConnectionStrings.WebDavServer;
|
||||
|
||||
if (webDavServerPath == null ||
|
||||
!Regex.IsMatch(webDavServerPath, @"^http(s)?://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?$"))
|
||||
throw new ConnectToWebDavServerException();
|
||||
if (webDavServerPath.Last() != '/') webDavServerPath += "/";
|
||||
_webDavRootPath = webDavServerPath;
|
||||
|
||||
try
|
||||
{
|
||||
_currentFolder = _webDavSession.OpenFolder(_webDavRootPath);
|
||||
}
|
||||
catch (WebException exception)
|
||||
{
|
||||
throw new ConnectToWebDavServerException(
|
||||
string.Format("Unable to connect to a remote WebDav server \"{0}\"", webDavServerPath), exception);
|
||||
}
|
||||
}
|
||||
|
||||
private byte[] ReadFully(Stream input)
|
||||
{
|
||||
var buffer = new byte[16*1024];
|
||||
using (var ms = new MemoryStream())
|
||||
{
|
||||
int read;
|
||||
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
|
||||
ms.Write(buffer, 0, read);
|
||||
return ms.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
using System;
|
||||
using System.DirectoryServices;
|
||||
using System.Security.Principal;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Models
|
||||
{
|
||||
public class WebDavPortalIdentity
|
||||
{
|
||||
private readonly DirectoryEntry _dictionaryEntry;
|
||||
public IIdentity Identity { get; protected set; }
|
||||
|
||||
public WebDavPortalIdentity(string userName, string password) : this(null, userName, password)
|
||||
{
|
||||
}
|
||||
|
||||
public WebDavPortalIdentity(string path, string userName, string password)
|
||||
{
|
||||
_dictionaryEntry = new DirectoryEntry(path, userName, password);
|
||||
Identity = new DirectoryIdentity(_dictionaryEntry);
|
||||
}
|
||||
|
||||
public object GetADObjectProperty(string name)
|
||||
{
|
||||
return _dictionaryEntry.Properties.Contains(name) ? _dictionaryEntry.Properties[name][0] : null;
|
||||
}
|
||||
|
||||
public string GetOrganizationId()
|
||||
{
|
||||
const string distinguishedName = "CN=user200000,OU=virt,OU=TESTOU,DC=test,DC=local";
|
||||
//string distinguishedName = GetADObjectProperty(DirectoryEntryPropertyNameConstants.DistinguishedName).ToString();
|
||||
|
||||
string[] distinguishedNameParts = distinguishedName.Split(',', '=');
|
||||
if (distinguishedNameParts[2] != "OU")
|
||||
throw new Exception(@"Problems with parsing 'distinguishedName' DirectoryEntry property");
|
||||
|
||||
return distinguishedNameParts[3];
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Your ASP.NET application</title>
|
||||
<style>
|
||||
body {
|
||||
background: #fff;
|
||||
color: #505050;
|
||||
font: 14px 'Segoe UI', tahoma, arial, helvetica, sans-serif;
|
||||
margin: 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#header {
|
||||
background: #efefef;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 48px;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 0 30px;
|
||||
line-height: 150px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
background: #969696;
|
||||
padding: 0 30px;
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
#main {
|
||||
padding: 5px 30px;
|
||||
}
|
||||
|
||||
.section {
|
||||
width: 21.7%;
|
||||
float: left;
|
||||
margin: 0 0 0 4%;
|
||||
}
|
||||
|
||||
.section h2 {
|
||||
font-size: 13px;
|
||||
text-transform: uppercase;
|
||||
margin: 0;
|
||||
border-bottom: 1px solid silver;
|
||||
padding-bottom: 12px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.section.first {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.section.first h2 {
|
||||
font-size: 24px;
|
||||
text-transform: none;
|
||||
margin-bottom: 25px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.section.first li {
|
||||
border-top: 1px solid silver;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.section.last {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
li {
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #267cb2;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="header">
|
||||
<h1>Your ASP.NET application</h1>
|
||||
<p>Congratulations! You've created a project</p>
|
||||
</div>
|
||||
|
||||
<div id="main">
|
||||
<div class="section first">
|
||||
<h2>This application consists of:</h2>
|
||||
<ul>
|
||||
<li>Sample pages showing basic nav between Home, About, and Contact</li>
|
||||
<li>Theming using <a href="http://go.microsoft.com/fwlink/?LinkID=320754">Bootstrap</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320755">Authentication</a>, if selected, shows how to register and sign in</li>
|
||||
<li>ASP.NET features managed using <a href="http://go.microsoft.com/fwlink/?LinkID=320756">NuGet</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Customize app</h2>
|
||||
<ul>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320757">Get started with ASP.NET MVC</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320758">Change the site's theme</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320759">Add more libraries using NuGet</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320760">Configure authentication</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320761">Customize information about the website users</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320762">Get information from social providers</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320763">Add HTTP services using ASP.NET Web API</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320764">Secure your web API</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320765">Add real-time web with ASP.NET SignalR</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320766">Add components using Scaffolding</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320767">Test your app with Browser Link</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320768">Share your project</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Deploy</h2>
|
||||
<ul>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320769">Ensure your app is ready for production</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320770">Windows Azure</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320771">Hosting providers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section last">
|
||||
<h2>Get help</h2>
|
||||
<ul>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320772">Get help</a></li>
|
||||
<li><a href="http://go.microsoft.com/fwlink/?LinkID=320773">Get more templates</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,35 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
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.WebDavPortal")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("WebsitePanel.WebDavPortal")]
|
||||
[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("ec17da5a-3c21-4f7c-88a4-56fe47fced6c")]
|
||||
|
||||
// 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 Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,5 @@
|
|||
/// <reference path="modernizr-2.8.3.js" />
|
||||
/// <reference path="jquery-2.1.1.js" />
|
||||
/// <autosync enabled="true" />
|
||||
/// <reference path="bootstrap.js" />
|
||||
/// <reference path="respond.js" />
|