A new solution for commit "ea82271b61ea" to fix and add features to hMailServer but only to version 5 and up.

+ Fix workitem/255
This commit is contained in:
Dan 2012-05-26 13:55:35 +01:00
parent 99e93e99da
commit 0d19fbf3dd
33 changed files with 3588 additions and 523 deletions

View file

@ -23222,7 +23222,7 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName]
GO
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (62, 8, N'SmarterStats', N'SmarterStats 5.x-6.x', N'WebsitePanel.Providers.Statistics.SmarterStats5, WebsitePanel.Providers.Statistics.SmarterStats', N'SmarterStats', NULL)
GO
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (63, 4, N'hMailServer5', N'hMailServer 5.x', N'WebsitePanel.Providers.Mail.hMailServer5, WebsitePanel.Providers.Mail.hMailServer5', N'hMailServer43', NULL)
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (63, 4, N'hMailServer5', N'hMailServer 5.x', N'WebsitePanel.Providers.Mail.hMailServer5, WebsitePanel.Providers.Mail.hMailServer5', N'hMailServer5', NULL)
GO
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (64, 4, N'SmarterMail', N'SmarterMail 7.x', N'WebsitePanel.Providers.Mail.SmarterMail7, WebsitePanel.Providers.Mail.SmarterMail7', N'SmarterMail60', NULL)
GO
@ -24361,6 +24361,10 @@ INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [Property
GO
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (62, N'Username', N'Admin')
GO
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'')
GO
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminUsername', N'Administrator')
GO
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (64, N'AdminPassword', N'')
GO
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (64, N'AdminUsername', N'admin')

View file

@ -827,3 +827,17 @@ BEGIN
END
GO
UPDATE [dbo].[Providers] SET [EditorControl] = N'hMailServer5' WHERE [ProviderID] = 63
GO
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 63 AND [PropertyName] = N'AdminUsername')
BEGIN
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminUsername', N'Administrator')
END
GO
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 63 AND [PropertyName] = N'AdminPassword')
BEGIN
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'')
END
GO

View file

@ -117,10 +117,6 @@
<Project>{684C932A-6C75-46AC-A327-F3689D89EB42}</Project>
<Name>WebsitePanel.Providers.Base</Name>
</ProjectReference>
<ProjectReference Include="..\WebsitePanel.Providers.Mail.hMailServer\WebsitePanel.Providers.Mail.hMailServer.vbproj">
<Project>{67EEA793-8621-4AD2-AE1D-4D975A8DA059}</Project>
<Name>WebsitePanel.Providers.Mail.hMailServer</Name>
</ProjectReference>
<ProjectReference Include="..\WebsitePanel.Server.Utils\WebsitePanel.Server.Utils.csproj">
<Project>{E91E52F3-9555-4D00-B577-2B1DBDD87CA7}</Project>
<Name>WebsitePanel.Server.Utils</Name>

View file

@ -109,25 +109,11 @@ Public Class hMailServer
objDomain.ComObject = hMailServer.Utilities
objDomain.Succeed = True
Catch ex As Exception
Log.WriteError("Couldn't create hMailServer.Application Utilities ActiveX object.", ex)
Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex)
End Try
Return objDomain
End Function
Private Function GetSettingsObject() As Service
Dim objSettings As New Service()
objSettings.Succeed = False
Try
objSettings.ComObject = hMailServer.Settings
objSettings.Succeed = True
Catch ex As Exception
Log.WriteError("Couldn't create hMailServer.Application Settings ActiveX object.", ex)
End Try
Return objSettings
End Function
End Function
Private Function GetDomainObject(ByVal domainName As String) As Service
' find existing domain
@ -138,7 +124,7 @@ Public Class hMailServer
objDomain.ComObject = hMailServer.Domains.ItemByName(domainName)
objDomain.Succeed = True
Catch ex As Exception
Log.WriteError("Couldn't create hMailServer.Application Domain ActiveX object.", ex)
Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex)
End Try
Return objDomain
@ -153,7 +139,7 @@ Public Class hMailServer
objDomain.ComObject = hMailServer.Domains
objDomain.Succeed = True
Catch ex As Exception
Log.WriteError("Couldn't create hMailServer.Application Domains ActiveX object.", ex)
Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex)
End Try
Return objDomain
@ -299,26 +285,19 @@ Public Class hMailServer
If mailbox.ResponderEnabled Then
objAccount.VacationMessageIsOn = True
objAccount.VacationSubject = mailbox.ResponderSubject
objAccount.VacationMessage = mailbox.ResponderMessage
objAccount.VacationMessageExpires = False
If mailbox.ResponderExpires Then
If IsDate(mailbox.ResponderExpirationDate) Then
objAccount.VacationMessageExpires = True
objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10)
End If
End If
End If
objAccount.VacationMessage = mailbox.ResponderMessage
End If
'set forwarding address
If mailbox.ForwardingEnabled Then
objAccount.ForwardAddress = mailbox.ForwardingAddresses(0)
objAccount.ForwardEnabled = True
objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy
End If
If mailbox.ForwardingAddresses.Length > 0 Then
objAccount.ForwardAddress = mailbox.ForwardingAddresses(0)
objAccount.ForwardEnabled = True
objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy
End If
objAccount.Save()
' set account rules
' set account rules
SetAccountRules(mailbox, objAccount)
@ -343,43 +322,43 @@ Public Class hMailServer
' delete rule
objAccount.Rules.DeleteByDBID(objRule.ID)
End If
'// Removed to use built-in forwarding:
'If Not mailbox.ForwardingAddresses Is Nothing _
' And mailbox.ForwardingAddresses.Length > 0 Then
' ' create rule
' ' add "default" rule
' objRule = objAccount.Rules.Add()
' objRule.AccountID = objAccount.ID
' objRule.Active = True
' objRule.Name = WEBSITEPANEL_RULE_NAME
' objRule.Save()
If Not mailbox.ForwardingAddresses Is Nothing _
And mailbox.ForwardingAddresses.Length > 0 Then
' create rule
' ' Add criteria
' Dim objCriteria As Object = objRule.Criterias.Add()
' objCriteria.RuleID = objRule.ID
' objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize
' objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan
' objCriteria.MatchValue = "0"
' objCriteria.Save()
' add "default" rule
objRule = objAccount.Rules.Add()
objRule.AccountID = objAccount.ID
objRule.Active = True
objRule.Name = WEBSITEPANEL_RULE_NAME
objRule.Save()
' ' add forwarding addresses
' Dim forwarding As String
' For Each forwarding In mailbox.ForwardingAddresses
' Dim objRuleAction As Object = objRule.Actions.Add()
' objRuleAction.RuleID = objRule.ID
' objRuleAction.Type = 2 'eRAForwardEmail
' objRuleAction.To = forwarding
' objRuleAction.Save()
' Next
' Add criteria
Dim objCriteria As Object = objRule.Criterias.Add()
objCriteria.RuleID = objRule.ID
objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize
objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan
objCriteria.MatchValue = "0"
objCriteria.Save()
' If mailbox.DeleteOnForward Then
' Dim objRuleAction As Object = objRule.Actions.Add()
' objRuleAction.RuleID = objRule.ID
' objRuleAction.RuleID = 1 'eRADeleteEmail
' objRuleAction.Save()
' End If
'End If
' add forwarding addresses
Dim forwarding As String
For Each forwarding In mailbox.ForwardingAddresses
Dim objRuleAction As Object = objRule.Actions.Add()
objRuleAction.RuleID = objRule.ID
objRuleAction.Type = 2 'eRAForwardEmail
objRuleAction.To = forwarding
objRuleAction.Save()
Next
If mailbox.DeleteOnForward Then
Dim objRuleAction As Object = objRule.Actions.Add()
objRuleAction.RuleID = objRule.ID
objRuleAction.RuleID = 1 'eRADeleteEmail
objRuleAction.Save()
End If
End If
End Sub
Public Sub CreateDomain(ByVal domain As MailDomain) Implements IMailServer.CreateDomain
@ -764,19 +743,11 @@ Public Class hMailServer
account.LastName = objAccount.PersonLastName
account.Enabled = objAccount.Active
account.MaxMailboxSize = objAccount.MaxSize
account.Password = objAccount.Password
account.Size = objAccount.Size()
account.QuotaUsed = objAccount.QuotaUsed()
account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime)
'auto-responder
account.ResponderEnabled = objAccount.VacationMessageIsOn
account.Password = objAccount.Password
account.ResponderEnabled = objAccount.VacationMessageIsOn
account.ResponderSubject = objAccount.VacationSubject
account.ResponderMessage = objAccount.VacationMessage
account.ResponderExpires = objAccount.VacationMessageExpires
account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate
'forwarding
account.ForwardingEnabled = objAccount.ForwardEnabled
Dim forwardings As List(Of String) = New List(Of String)
account.ResponderMessage = objAccount.VacationMessage
Dim forwardings As List(Of String) = New List(Of String)
forwardings.Add(objAccount.ForwardAddress)
account.ForwardingAddresses = forwardings.ToArray
account.RetainLocalCopy = objAccount.ForwardKeepOriginal
@ -822,32 +793,24 @@ Public Class hMailServer
End If
' get account details
Dim account As MailAccount = New MailAccount()
account.Name = objAccount.Address
account.FirstName = objAccount.PersonFirstName
account.LastName = objAccount.PersonLastName
account.Enabled = objAccount.Active
account.MaxMailboxSize = objAccount.MaxSize
account.Password = objAccount.Password
account.Size = objAccount.Size()
account.QuotaUsed = objAccount.QuotaUsed()
account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime)
'auto-responder
account.ResponderEnabled = objAccount.VacationMessageIsOn
account.ResponderSubject = objAccount.VacationSubject
account.ResponderMessage = objAccount.VacationMessage
account.ResponderExpires = objAccount.VacationMessageExpires
account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate
'forwarding
account.ForwardingEnabled = objAccount.ForwardEnabled
Dim forwardings As List(Of String) = New List(Of String)
forwardings.Add(objAccount.ForwardAddress)
account.ForwardingAddresses = forwardings.ToArray
account.RetainLocalCopy = objAccount.ForwardKeepOriginal
'Signature
account.SignatureEnabled = objAccount.SignatureEnabled
account.Signature = objAccount.SignaturePlainText
account.SignatureHTML = objAccount.SignatureHTML
Dim account As MailAccount = New MailAccount()
account.Name = objAccount.Address
account.FirstName = objAccount.PersonFirstName
account.LastName = objAccount.PersonLastName
account.Enabled = objAccount.Active
account.MaxMailboxSize = objAccount.MaxSize
account.Password = objAccount.Password
account.ResponderEnabled = objAccount.VacationMessageIsOn
account.ResponderSubject = objAccount.VacationSubject
account.ResponderMessage = objAccount.VacationMessage
Dim forwardings As List(Of String) = New List(Of String)
forwardings.Add(objAccount.ForwardAddress)
account.ForwardingAddresses = forwardings.ToArray
account.RetainLocalCopy = objAccount.ForwardKeepOriginal
'Signature
account.SignatureEnabled = objAccount.SignatureEnabled
account.Signature = objAccount.SignaturePlainText
account.SignatureHTML = objAccount.SignatureHTML
accounts.Add(account)
Next
End If
@ -1012,42 +975,31 @@ Public Class hMailServer
objAccount.Active = mailbox.Enabled
objAccount.Password = mailbox.Password
objAccount.MaxSize = mailbox.MaxMailboxSize
'Auto-Responder
objAccount.VacationMessageIsOn = mailbox.ResponderEnabled
objAccount.VacationMessageIsOn = mailbox.ResponderEnabled
objAccount.VacationSubject = mailbox.ResponderSubject
objAccount.VacationMessage = mailbox.ResponderMessage
objAccount.VacationMessageExpires = False
If mailbox.ResponderExpires Then
If IsDate(mailbox.ResponderExpirationDate) Then
objAccount.VacationMessageExpires = True
objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10)
End If
End If
'Personal Information
objAccount.PersonFirstName = mailbox.FirstName
objAccount.PersonLastName = mailbox.LastName
'Signature
objAccount.SignatureEnabled = mailbox.SignatureEnabled
objAccount.SignaturePlainText = mailbox.Signature
objAccount.SignatureHTML = mailbox.SignatureHTML
'Forwarding
If mailbox.ForwardingEnabled Then
If mailbox.ForwardingAddresses.Length > 0 Then
objAccount.ForwardAddress = mailbox.ForwardingAddresses(0)
objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy
objAccount.ForwardEnabled = True
End If
Else
objAccount.ForwardEnabled = False
End If
objAccount.Save()
objAccount.VacationMessage = mailbox.ResponderMessage
'Personal Information
objAccount.PersonFirstName = mailbox.FirstName
objAccount.PersonLastName = mailbox.LastName
'Signature
objAccount.SignatureEnabled = mailbox.SignatureEnabled
objAccount.SignaturePlainText = mailbox.Signature
objAccount.SignatureHTML = mailbox.SignatureHTML
' set account rules
SetAccountRules(mailbox, objAccount)
If mailbox.ForwardingAddresses.Length > 0 Then
objAccount.ForwardAddress = mailbox.ForwardingAddresses(0)
objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy
objAccount.ForwardEnabled = True
End If
Catch ex As Exception
Log.WriteError("Couldn't update an account.", ex)
End Try
objAccount.Save()
' set account rules
SetAccountRules(mailbox, objAccount)
Catch ex As Exception
Log.WriteError("Couldn't update an account.", ex)
End Try
End If
End Sub
@ -1217,119 +1169,7 @@ Public Class hMailServer
End Try
End If
Next
End Sub
Public Overrides Function GetServiceItemsDiskSpace(ByVal items() As ServiceProviderItem) As ServiceProviderItemDiskSpace()
Dim itemsDiskspace As List(Of ServiceProviderItemDiskSpace) = New List(Of ServiceProviderItemDiskSpace)
Dim item As ServiceProviderItem
For Each item In items
If TypeOf item Is MailAccount Then
Try
Dim objDomain As Service = GetDomainObject(GetDomainName(item.Name))
Dim objAccount = objDomain.ComObject.Accounts.ItemByAddress(item.Name)
Dim objAccountSize As Long = objAccount.Size() * 1048576
Dim diskspace As New ServiceProviderItemDiskSpace()
diskspace.ItemId = item.Id
diskspace.DiskSpace = objAccountSize
itemsDiskspace.Add(diskspace)
Catch ex As Exception
Log.WriteError("Error calculating disk space for mail account: " + item.Name, ex)
End Try
End If
Next item
Return itemsDiskspace.ToArray()
End Function
Public Overrides Function GetServiceItemsBandwidth(ByVal items() As ServiceProviderItem, ByVal since As Date) As ServiceProviderItemBandwidth()
Dim itemsBandwidth(items.Length) As ServiceProviderItemBandwidth
Dim objSets As Service = GetSettingsObject()
If objSets.ComObject.Logging.AWStatsEnabled Then
Dim logsPath As String = objSets.ComObject.Logging.CurrentAwstatsLog()
Dim i As Integer
For i = 0 To items.Length - 1
Dim item As ServiceProviderItem = items(i)
itemsBandwidth(i) = New ServiceProviderItemBandwidth()
itemsBandwidth(i).ItemId = item.Id
itemsBandwidth(i).Days = New DailyStatistics(0) {}
If TypeOf item Is MailDomain Then
Try
itemsBandwidth(i).Days = GetDailyStatistics(since, item.Name, logsPath)
Catch ex As Exception
Log.WriteError("Error calculating bandwidth for mail domain: " + item.Name, ex)
End Try
End If
Next i
End If
Return itemsBandwidth
End Function
Private Function GetDailyStatistics(ByVal since As DateTime, ByVal mailDomainName As String, ByVal logpath As String) As DailyStatistics()
Dim days As New ArrayList()
Dim now As DateTime = DateTime.Now
Dim [date] As DateTime = since
Dim mailDomainBytesReceived As Long = 0
Dim mailDomainBytesSent As Long = 0
Try
While [date] < now
If File.Exists(logpath) Then
Using r As StreamReader = New StreamReader(logpath)
Dim line As String
' Read first line.
line = r.ReadLine
Do While (Not line Is Nothing)
Dim vals As String() = line.Split(vbTab)
If vals.Length = 9 Then
Dim logDate As DateTime = CType(vals(0), DateTime)
If logDate >= [date] Then
'get sent bytes
If InStr(vals(1), mailDomainName) Then
mailDomainBytesSent += Int32.Parse(vals(8))
End If
'get received bytes
If InStr(vals(2), mailDomainName) Then
mailDomainBytesReceived += Int32.Parse(vals(8))
End If
End If
If logDate.Date > [date].Date Then
Exit Do
End If
End If
line = r.ReadLine
Loop
End Using
End If
If mailDomainBytesReceived <> 0 Or mailDomainBytesSent <> 0 Then
Dim dailyStats As New DailyStatistics()
dailyStats.Year = [date].Year
dailyStats.Month = [date].Month
dailyStats.Day = [date].Day
dailyStats.BytesSent = mailDomainBytesSent
dailyStats.BytesReceived = mailDomainBytesReceived
days.Add(dailyStats)
End If
' advance day
[date] = [date].AddDays(1)
mailDomainBytesReceived = 0
mailDomainBytesSent = 0
End While
Catch ex As Exception
Log.WriteError("Could't parse hMailServer Log", ex)
End Try
Return DirectCast(days.ToArray(GetType(DailyStatistics)), DailyStatistics())
End Function
End Sub
Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem)
For Each item As ServiceProviderItem In items

View file

@ -112,10 +112,10 @@
<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>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.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>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="cbSignatureEnabled.Text" xml:space="preserve">
<value>Yes</value>
@ -165,37 +165,4 @@
<data name="Signature.Text" xml:space="preserve">
<value>Signature</value>
</data>
<data name="chkEnabled.Text" xml:space="preserve">
<value>Yes</value>
</data>
<data name="chkForwardingEnabled.Text" xml:space="preserve">
<value>Yes</value>
</data>
<data name="chkResponderExpires.Text" xml:space="preserve">
<value>Yes</value>
</data>
<data name="lblEnabled.Text" xml:space="preserve">
<value>Mailbox Enabled:</value>
</data>
<data name="lblForwardingEnabled.Text" xml:space="preserve">
<value>Forwarding Enabled:</value>
</data>
<data name="lblLastLoginDate.Text" xml:space="preserve">
<value>Last Login Date:</value>
</data>
<data name="lblQuotaUsed.Text" xml:space="preserve">
<value>Quota Used:</value>
</data>
<data name="lblResponderExpireDate.Text" xml:space="preserve">
<value>Autoresponder Expire Date:</value>
</data>
<data name="lblResponderExpires.Text" xml:space="preserve">
<value>Autoresponder Expires:</value>
</data>
<data name="lblSize.Text" xml:space="preserve">
<value>Current Size:</value>
</data>
<data name="secStatusInfo.Text" xml:space="preserve">
<value>Account Information</value>
</data>
</root>

View file

@ -0,0 +1,201 @@
<?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="cbSignatureEnabled.Text" xml:space="preserve">
<value>Yes</value>
</data>
<data name="chkOriginalMessage.Text" xml:space="preserve">
<value>Keep original Message</value>
</data>
<data name="lblFirstName.Text" xml:space="preserve">
<value>First Name:</value>
</data>
<data name="lblForwardTo.Text" xml:space="preserve">
<value>Forward mail to address:</value>
</data>
<data name="lblHtmlSignature.Text" xml:space="preserve">
<value>HTML Signature</value>
</data>
<data name="lblLastName.Text" xml:space="preserve">
<value>Last Name:</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Message:</value>
</data>
<data name="lblPlainSignature.Text" xml:space="preserve">
<value>Plain Text Signature</value>
</data>
<data name="lblReplyTo.Text" xml:space="preserve">
<value>Reply to address:</value>
</data>
<data name="lblResponderEnabled.Text" xml:space="preserve">
<value>Autoresponder Enabled:</value>
</data>
<data name="lblSignatureEnabled.Text" xml:space="preserve">
<value>Signature Enabled:</value>
</data>
<data name="lblSubject.Text" xml:space="preserve">
<value>Subject:</value>
</data>
<data name="secAutoresponder.Text" xml:space="preserve">
<value>Autoresponder</value>
</data>
<data name="secForwarding.Text" xml:space="preserve">
<value>Mail Forwarding</value>
</data>
<data name="secPersonalInfo.Text" xml:space="preserve">
<value>Personal Information</value>
</data>
<data name="Signature.Text" xml:space="preserve">
<value>Signature</value>
</data>
<data name="chkEnabled.Text" xml:space="preserve">
<value>Yes</value>
</data>
<data name="chkForwardingEnabled.Text" xml:space="preserve">
<value>Yes</value>
</data>
<data name="chkResponderExpires.Text" xml:space="preserve">
<value>Yes</value>
</data>
<data name="lblEnabled.Text" xml:space="preserve">
<value>Mailbox Enabled:</value>
</data>
<data name="lblForwardingEnabled.Text" xml:space="preserve">
<value>Forwarding Enabled:</value>
</data>
<data name="lblLastLoginDate.Text" xml:space="preserve">
<value>Last Login Date:</value>
</data>
<data name="lblQuotaUsed.Text" xml:space="preserve">
<value>Quota Used:</value>
</data>
<data name="lblResponderExpireDate.Text" xml:space="preserve">
<value>Autoresponder Expire Date:</value>
</data>
<data name="lblResponderExpires.Text" xml:space="preserve">
<value>Autoresponder Expires:</value>
</data>
<data name="lblSize.Text" xml:space="preserve">
<value>Current Size:</value>
</data>
<data name="secStatusInfo.Text" xml:space="preserve">
<value>Account Information</value>
</data>
</root>

View file

@ -0,0 +1,132 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblAbuse.Text" xml:space="preserve">
<value>Abuse Account:</value>
</data>
<data name="lblCatchAll.Text" xml:space="preserve">
<value>Catch-All Account:</value>
</data>
<data name="lblPostmaster.Text" xml:space="preserve">
<value>Postmaster Account:</value>
</data>
<data name="Text.NotSelected" xml:space="preserve">
<value>&lt;Not Selected&gt;</value>
</data>
</root>

View file

@ -0,0 +1,123 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblGroupMembers.Text" xml:space="preserve">
<value>Group E-Mails:</value>
</data>
</root>

View file

@ -0,0 +1,147 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ddlPostingModeItem.Announcements" xml:space="preserve">
<value>Announcements</value>
</data>
<data name="ddlPostingModeItem.MemberShip" xml:space="preserve">
<value>Membership</value>
</data>
<data name="ddlPostingModeItem.Password" xml:space="preserve">
<value>Password Protected Posting</value>
</data>
<data name="ddlPostingModeItem.Public" xml:space="preserve">
<value>Public</value>
</data>
<data name="lblEmail.Text" xml:space="preserve">
<value>Announcements E-mail:</value>
</data>
<data name="lblMembers.Text" xml:space="preserve">
<value>Mailing List Members:</value>
</data>
<data name="lblPostingMode.Text" xml:space="preserve">
<value>Posting Mode:</value>
</data>
<data name="lblSMTPAuthentication.Text" xml:space="preserve">
<value>Require SMTP Authentication</value>
</data>
<data name="Security.Text" xml:space="preserve">
<value>Security</value>
</data>
</root>

View file

@ -0,0 +1,132 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblAdminLogin.Text" xml:space="preserve">
<value>Admin Login:</value>
</data>
<data name="lblAdminPassword.Text" xml:space="preserve">
<value>Admin Password:</value>
</data>
<data name="lblCurrPassword.Text" xml:space="preserve">
<value>Current Admin Password:</value>
</data>
<data name="lblPublicIP.Text" xml:space="preserve">
<value>Public IP Address:</value>
</data>
</root>

View file

@ -1,45 +1,6 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer43_EditAccount.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer43_EditAccount" %>
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
<wsp:CollapsiblePanel id="secStatusInfo" runat="server" IsCollapsed="True"
TargetControlID="StatusInfoPanel" meta:resourcekey="secStatusInfo" Text="Account Information" >
</wsp:CollapsiblePanel>
<asp:Panel ID="StatusInfoPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblEnabled" runat="server" meta:resourcekey="lblEnabled" Text="Mailbox Enabled:"></asp:Label></td>
<td class="normal">
<asp:CheckBox ID="chkEnabled" Runat="server" meta:resourcekey="chkEnabled" Text="Yes" Checked="true"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<asp:Label ID="lblSize" runat="server" meta:resourcekey="lblSize" Text="Size:"></asp:Label>
</td>
<td class="normal">
<asp:Label ID="lblSizeInfo" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<asp:Label ID="lblQuotaUsed" runat="server" meta:resourcekey="lblQuotaUsed" Text="Quota Used:"></asp:Label>
</td>
<td class="normal">
<asp:Label ID="lblQuotaUsedInfo" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<asp:Label ID="lblLastLoginDate" runat="server" meta:resourcekey="lblLastLoginDate" Text="Last Login Date:"></asp:Label>
</td>
<td class="normal">
<asp:Label ID="lblLastLoginDateInfo" runat="server"></asp:Label>
</td>
</tr>
</table>
</asp:Panel>
<wsp:CollapsiblePanel id="secPersonalInfo" runat="server"
TargetControlID="PersonalInfoPanel" meta:resourcekey="secPersonalInfo" Text="Personal Information">
</wsp:CollapsiblePanel>
@ -47,15 +8,15 @@
<asp:Panel ID="PersonalInfoPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<td class="SubHead" width="200" nowrap>
<asp:Label ID="lblFirstName" runat="server" meta:resourcekey="lblFirstName" Text="First Name:"></asp:Label>
</td>
<td class="normal">
<td class="normal" width="100%">
<asp:TextBox ID="txtFirstName" runat="server" Width="200px" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;">
<td class="SubHead">
<asp:Label ID="lblLastName" runat="server" meta:resourcekey="lblLastName" Text="Last Name:"></asp:Label>
</td>
<td class="normal" valign="top">
@ -72,35 +33,23 @@
<asp:Panel ID="AutoresponderPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblResponderEnabled" runat="server" meta:resourcekey="lblResponderEnabled" Text="Autoresponder Enabled:"></asp:Label></td>
<td class="normal">
<td class="SubHead" width="200" nowrap><asp:Label ID="lblResponderEnabled" runat="server" meta:resourcekey="lblResponderEnabled" Text="Autoresponder Enabled:"></asp:Label></td>
<td class="normal" width="100%">
<asp:CheckBox ID="chkResponderEnabled" Runat="server" meta:resourcekey="chkResponderEnabled" Text="Yes"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;"><asp:Label ID="lblSubject" runat="server" meta:resourcekey="lblSubject" Text="Subject:"></asp:Label></td>
<td class="SubHead"><asp:Label ID="lblSubject" runat="server" meta:resourcekey="lblSubject" Text="Subject:"></asp:Label></td>
<td class="normal" vAlign="top">
<asp:TextBox id="txtSubject" runat="server" Width="400px" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" vAlign="top"><asp:Label ID="lblMessage" runat="server" meta:resourcekey="lblMessage" Text="Message:"></asp:Label></td>
<td class="SubHead" vAlign="top"><asp:Label ID="lblMessage" runat="server" meta:resourcekey="lblMessage" Text="Message:"></asp:Label></td>
<td class="normal">
<asp:TextBox id="txtMessage" runat="server" Width="400px" TextMode="MultiLine" Rows="5" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblResponderExpires" runat="server" meta:resourcekey="lblResponderExpires" Text="Autoresponder Expires:"></asp:Label></td>
<td class="normal">
<asp:CheckBox ID="chkResponderExpires" Runat="server" meta:resourcekey="chkResponderExpires" Text="Yes"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblResponderExpireDate" runat="server" meta:resourcekey="lblResponderExpireDate" Text="Autoresponder Expire Date:"></asp:Label></td>
<td class="normal">
<asp:TextBox ID="txtResponderExireDate" Runat="server" Text="" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
</table>
</asp:Panel>
@ -110,19 +59,13 @@
<asp:Panel ID="ForwardingPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblForwardingEnabled" runat="server" meta:resourcekey="lblForwardingEnabled" Text="Forwarding Enabled:"></asp:Label></td>
<td class="normal">
<asp:CheckBox ID="chkForwardingEnabled" Runat="server" meta:resourcekey="chkForwardingEnabled" Text="Yes"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblForwardTo" runat="server" meta:resourcekey="lblForwardTo" Text="Forward mail to address:"></asp:Label></td>
<td class="normal" valign="top">
<td class="SubHead" width="200" nowrap><asp:Label ID="lblForwardTo" runat="server" meta:resourcekey="lblForwardTo" Text="Forward mail to address:"></asp:Label></td>
<td class="normal" width="100%" valign="top">
<asp:TextBox id="txtForward" runat="server" Width="200px" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;">
<td class="SubHead">
</td>
<td class="Normal">
<asp:CheckBox ID="chkOriginalMessage" runat="server" meta:resourcekey="chkOriginalMessage"

View file

@ -50,16 +50,9 @@ namespace WebsitePanel.Portal.ProviderControls
public void BindItem(MailAccount item)
{
chkEnabled.Checked = item.Enabled;
lblSizeInfo.Text = item.Size.ToString() + " MB";
lblQuotaUsedInfo.Text = item.QuotaUsed.ToString() + " %";
lblLastLoginDateInfo.Text = item.LastLogonTime;
chkResponderEnabled.Checked = item.ResponderEnabled;
chkResponderExpires.Checked = item.ResponderExpires;
txtResponderExireDate.Text = item.ResponderExpirationDate;
chkResponderEnabled.Checked = item.ResponderEnabled;
txtSubject.Text = item.ResponderSubject;
txtMessage.Text = item.ResponderMessage;
chkForwardingEnabled.Checked = item.ForwardingEnabled;
txtForward.Text = item.ForwardingAddresses[0];
chkOriginalMessage.Checked = item.RetainLocalCopy;
txtFirstName.Text = item.FirstName;
@ -67,21 +60,17 @@ namespace WebsitePanel.Portal.ProviderControls
cbSignatureEnabled.Checked = item.SignatureEnabled;
txtPlainSignature.Text = item.Signature;
txtHtmlSignature.Text = item.SignatureHTML;
secStatusInfo.IsCollapsed = false;
}
public void SaveItem(MailAccount item)
{
item.Enabled = chkEnabled.Checked;
item.ResponderEnabled = chkResponderEnabled.Checked;
item.ResponderSubject = txtSubject.Text;
item.ResponderMessage = txtMessage.Text;
item.ResponderExpires = chkResponderExpires.Checked;
if (txtResponderExireDate.Text.Trim().Length >= 10) {
item.ResponderExpirationDate = txtResponderExireDate.Text.Trim().Substring(0, 10);}
item.ForwardingEnabled = chkForwardingEnabled.Checked;
if (txtForward.Text.Trim().Length > 0) {
item.ForwardingAddresses = new string[] { txtForward.Text.Trim() };}
if (txtForward.Text.Length > 0)
{
item.ForwardingAddresses = new string[] { txtForward.Text };
}
item.RetainLocalCopy = chkOriginalMessage.Checked;
item.FirstName = txtFirstName.Text;
item.LastName = txtLastName.Text;

View file

@ -3,7 +3,7 @@
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@ -12,96 +12,6 @@ namespace WebsitePanel.Portal.ProviderControls {
public partial class hMailServer43_EditAccount {
/// <summary>
/// secStatusInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secStatusInfo;
/// <summary>
/// StatusInfoPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel StatusInfoPanel;
/// <summary>
/// lblEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblEnabled;
/// <summary>
/// chkEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkEnabled;
/// <summary>
/// lblSize control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblSize;
/// <summary>
/// lblSizeInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblSizeInfo;
/// <summary>
/// lblQuotaUsed control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblQuotaUsed;
/// <summary>
/// lblQuotaUsedInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblQuotaUsedInfo;
/// <summary>
/// lblLastLoginDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastLoginDate;
/// <summary>
/// lblLastLoginDateInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastLoginDateInfo;
/// <summary>
/// secPersonalInfo control.
/// </summary>
@ -228,42 +138,6 @@ namespace WebsitePanel.Portal.ProviderControls {
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtMessage;
/// <summary>
/// lblResponderExpires control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblResponderExpires;
/// <summary>
/// chkResponderExpires control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkResponderExpires;
/// <summary>
/// lblResponderExpireDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblResponderExpireDate;
/// <summary>
/// txtResponderExireDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtResponderExireDate;
/// <summary>
/// secForwarding control.
/// </summary>
@ -282,24 +156,6 @@ namespace WebsitePanel.Portal.ProviderControls {
/// </remarks>
protected global::System.Web.UI.WebControls.Panel ForwardingPanel;
/// <summary>
/// lblForwardingEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblForwardingEnabled;
/// <summary>
/// chkForwardingEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkForwardingEnabled;
/// <summary>
/// lblForwardTo control.
/// </summary>

View file

@ -0,0 +1,177 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditAccount.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditAccount" %>
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
<wsp:CollapsiblePanel id="secStatusInfo" runat="server" IsCollapsed="True"
TargetControlID="StatusInfoPanel" meta:resourcekey="secStatusInfo" Text="Account Information" >
</wsp:CollapsiblePanel>
<asp:Panel ID="StatusInfoPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblEnabled" runat="server" meta:resourcekey="lblEnabled" Text="Mailbox Enabled:"></asp:Label></td>
<td class="normal">
<asp:CheckBox ID="chkEnabled" Runat="server" meta:resourcekey="chkEnabled" Text="Yes" Checked="true"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<asp:Label ID="lblSize" runat="server" meta:resourcekey="lblSize" Text="Size:"></asp:Label>
</td>
<td class="normal">
<asp:Label ID="lblSizeInfo" runat="server">0</asp:Label>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<asp:Label ID="lblQuotaUsed" runat="server" meta:resourcekey="lblQuotaUsed" Text="Quota Used:"></asp:Label>
</td>
<td class="normal">
<asp:Label ID="lblQuotaUsedInfo" runat="server">0</asp:Label>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<asp:Label ID="lblLastLoginDate" runat="server" meta:resourcekey="lblLastLoginDate" Text="Last Login Date:"></asp:Label>
</td>
<td class="normal">
<asp:Label ID="lblLastLoginDateInfo" runat="server">n/a</asp:Label>
</td>
</tr>
</table>
</asp:Panel>
<wsp:CollapsiblePanel id="secPersonalInfo" runat="server"
TargetControlID="PersonalInfoPanel" meta:resourcekey="secPersonalInfo" Text="Personal Information">
</wsp:CollapsiblePanel>
<asp:Panel ID="PersonalInfoPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap>
<asp:Label ID="lblFirstName" runat="server" meta:resourcekey="lblFirstName" Text="First Name:"></asp:Label>
</td>
<td class="normal">
<asp:TextBox ID="txtFirstName" runat="server" Width="200px" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;">
<asp:Label ID="lblLastName" runat="server" meta:resourcekey="lblLastName" Text="Last Name:"></asp:Label>
</td>
<td class="normal" valign="top">
<asp:TextBox ID="txtLastName" runat="server" Width="200px" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
</table>
</asp:Panel>
<wsp:CollapsiblePanel id="secAutoresponder" runat="server"
TargetControlID="AutoresponderPanel" meta:resourcekey="secAutoresponder" Text="Autoresponder">
</wsp:CollapsiblePanel>
<asp:Panel ID="AutoresponderPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblResponderEnabled" runat="server" meta:resourcekey="lblResponderEnabled" Text="Autoresponder Enabled:"></asp:Label></td>
<td class="normal">
<asp:CheckBox ID="chkResponderEnabled" Runat="server" meta:resourcekey="chkResponderEnabled" Text="Yes"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;"><asp:Label ID="lblSubject" runat="server" meta:resourcekey="lblSubject" Text="Subject:"></asp:Label></td>
<td class="normal" vAlign="top">
<asp:TextBox id="txtSubject" runat="server" Width="400px" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" vAlign="top"><asp:Label ID="lblMessage" runat="server" meta:resourcekey="lblMessage" Text="Message:"></asp:Label></td>
<td class="normal">
<asp:TextBox id="txtMessage" runat="server" Width="400px" TextMode="MultiLine" Rows="5" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblResponderExpires" runat="server" meta:resourcekey="lblResponderExpires" Text="Autoresponder Expires:"></asp:Label></td>
<td class="normal">
<asp:CheckBox ID="chkResponderExpires" Runat="server" meta:resourcekey="chkResponderExpires" Text="Yes"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblResponderExpireDate" runat="server" meta:resourcekey="lblResponderExpireDate" Text="Autoresponder Expire Date:"></asp:Label></td>
<td class="normal">
<asp:TextBox ID="txtResponderExireDate" Runat="server" Text="" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
</table>
</asp:Panel>
<wsp:CollapsiblePanel id="secForwarding" runat="server"
TargetControlID="ForwardingPanel" meta:resourcekey="secForwarding" Text="Mail Forwarding">
</wsp:CollapsiblePanel>
<asp:Panel ID="ForwardingPanel" runat="server" Height="0" style="overflow:hidden;">
<table width="100%">
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblForwardingEnabled" runat="server" meta:resourcekey="lblForwardingEnabled" Text="Forwarding Enabled:"></asp:Label></td>
<td class="normal">
<asp:CheckBox ID="chkForwardingEnabled" Runat="server" meta:resourcekey="chkForwardingEnabled" Text="Yes"></asp:CheckBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;" nowrap><asp:Label ID="lblForwardTo" runat="server" meta:resourcekey="lblForwardTo" Text="Forward mail to address:"></asp:Label></td>
<td class="normal" valign="top">
<asp:TextBox id="txtForward" runat="server" Width="200px" CssClass="NormalTextBox"></asp:TextBox>
</td>
</tr>
<tr>
<td class="SubHead" style="width:150px;">
</td>
<td class="Normal">
<asp:CheckBox ID="chkOriginalMessage" runat="server" meta:resourcekey="chkOriginalMessage"
Text="Keep original Message"></asp:CheckBox>
</td>
</tr>
</table>
</asp:Panel>
<wsp:Collapsiblepanel id="Signature" runat="server" targetcontrolid="SignaturePanel"
meta:resourcekey="Signature" ></wsp:collapsiblepanel>
<asp:Panel runat="server" ID="SignaturePanel">
<table width="100%">
<tr>
<td style="width:150px;">
<asp:Label ID="lblSignatureEnabled" runat="server" meta:resourcekey="lblSignatureEnabled" Text="Signature Enabled:"></asp:Label>
</td>
<td class="normal">
<asp:CheckBox ID="cbSignatureEnabled" Runat="server" meta:resourcekey="cbHeader" Text="Yes"></asp:CheckBox>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td class="SubHead">
<asp:Label ID="lblPlainSignature" runat="server" meta:resourcekey="lblPlainSignature" Text="Plain Text Signature"></asp:Label>
</td>
</tr>
<tr>
<td>
</td>
<td class="normal">
<asp:TextBox ID="txtPlainSignature" runat="server" TextMode="MultiLine" Rows="7" Width="300px"></asp:TextBox>
</td>
</tr>
<tr>
<td></td>
<td class="SubHead">
<asp:Label ID="lblHtmlSignature" runat="server" meta:resourcekey="lblHtmlSignature" Text="HTML Signature"></asp:Label>
</td>
</tr>
<tr>
<td>
</td>
<td class="normal">
<asp:TextBox ID="txtHtmlSignature" runat="server" TextMode="MultiLine" Rows="7" Width="300px"></asp:TextBox>
</td>
</tr>
</table>
</asp:Panel>

View file

@ -0,0 +1,93 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Providers.Mail;
namespace WebsitePanel.Portal.ProviderControls
{
public partial class hMailServer5_EditAccount : WebsitePanelControlBase, IMailEditAccountControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void BindItem(MailAccount item)
{
chkEnabled.Checked = item.Enabled;
lblSizeInfo.Text = item.Size.ToString() + " MB";
lblQuotaUsedInfo.Text = item.QuotaUsed.ToString() + " %";
lblLastLoginDateInfo.Text = item.LastLogonTime;
chkResponderEnabled.Checked = item.ResponderEnabled;
chkResponderExpires.Checked = item.ResponderExpires;
txtResponderExireDate.Text = item.ResponderExpirationDate;
txtSubject.Text = item.ResponderSubject;
txtMessage.Text = item.ResponderMessage;
chkForwardingEnabled.Checked = item.ForwardingEnabled;
txtForward.Text = item.ForwardingAddresses[0];
chkOriginalMessage.Checked = item.RetainLocalCopy;
txtFirstName.Text = item.FirstName;
txtLastName.Text = item.LastName;
cbSignatureEnabled.Checked = item.SignatureEnabled;
txtPlainSignature.Text = item.Signature;
txtHtmlSignature.Text = item.SignatureHTML;
secStatusInfo.IsCollapsed = false;
}
public void SaveItem(MailAccount item)
{
item.Enabled = chkEnabled.Checked;
item.ResponderEnabled = chkResponderEnabled.Checked;
item.ResponderSubject = txtSubject.Text;
item.ResponderMessage = txtMessage.Text;
item.ResponderExpires = chkResponderExpires.Checked;
if (txtResponderExireDate.Text.Trim().Length >= 10) {
item.ResponderExpirationDate = txtResponderExireDate.Text.Trim().Substring(0, 10);}
item.ForwardingEnabled = chkForwardingEnabled.Checked;
if (txtForward.Text.Trim().Length > 0) {
item.ForwardingAddresses = new string[] { txtForward.Text.Trim() };}
item.RetainLocalCopy = chkOriginalMessage.Checked;
item.FirstName = txtFirstName.Text;
item.LastName = txtLastName.Text;
item.SignatureEnabled = cbSignatureEnabled.Checked;
item.Signature = txtPlainSignature.Text;
item.SignatureHTML = txtHtmlSignature.Text;
}
}
}

View file

@ -0,0 +1,402 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ProviderControls {
public partial class hMailServer5_EditAccount {
/// <summary>
/// secStatusInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secStatusInfo;
/// <summary>
/// StatusInfoPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel StatusInfoPanel;
/// <summary>
/// lblEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblEnabled;
/// <summary>
/// chkEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkEnabled;
/// <summary>
/// lblSize control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblSize;
/// <summary>
/// lblSizeInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblSizeInfo;
/// <summary>
/// lblQuotaUsed control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblQuotaUsed;
/// <summary>
/// lblQuotaUsedInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblQuotaUsedInfo;
/// <summary>
/// lblLastLoginDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastLoginDate;
/// <summary>
/// lblLastLoginDateInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastLoginDateInfo;
/// <summary>
/// secPersonalInfo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secPersonalInfo;
/// <summary>
/// PersonalInfoPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel PersonalInfoPanel;
/// <summary>
/// lblFirstName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblFirstName;
/// <summary>
/// txtFirstName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtFirstName;
/// <summary>
/// lblLastName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastName;
/// <summary>
/// txtLastName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtLastName;
/// <summary>
/// secAutoresponder control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secAutoresponder;
/// <summary>
/// AutoresponderPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel AutoresponderPanel;
/// <summary>
/// lblResponderEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblResponderEnabled;
/// <summary>
/// chkResponderEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkResponderEnabled;
/// <summary>
/// lblSubject control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblSubject;
/// <summary>
/// txtSubject control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtSubject;
/// <summary>
/// lblMessage control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// txtMessage control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtMessage;
/// <summary>
/// lblResponderExpires control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblResponderExpires;
/// <summary>
/// chkResponderExpires control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkResponderExpires;
/// <summary>
/// lblResponderExpireDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblResponderExpireDate;
/// <summary>
/// txtResponderExireDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtResponderExireDate;
/// <summary>
/// secForwarding control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secForwarding;
/// <summary>
/// ForwardingPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel ForwardingPanel;
/// <summary>
/// lblForwardingEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblForwardingEnabled;
/// <summary>
/// chkForwardingEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkForwardingEnabled;
/// <summary>
/// lblForwardTo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblForwardTo;
/// <summary>
/// txtForward control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtForward;
/// <summary>
/// chkOriginalMessage control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkOriginalMessage;
/// <summary>
/// Signature control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel Signature;
/// <summary>
/// SignaturePanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel SignaturePanel;
/// <summary>
/// lblSignatureEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblSignatureEnabled;
/// <summary>
/// cbSignatureEnabled control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox cbSignatureEnabled;
/// <summary>
/// lblPlainSignature control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPlainSignature;
/// <summary>
/// txtPlainSignature control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtPlainSignature;
/// <summary>
/// lblHtmlSignature control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblHtmlSignature;
/// <summary>
/// txtHtmlSignature control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtHtmlSignature;
}
}

View file

@ -0,0 +1,9 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditDomain.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditDomain" %>
<table width="100%">
<tr>
<td class="SubHead" width="200" nowrap><asp:Label ID="lblCatchAll" runat="server" meta:resourcekey="lblCatchAll" Text="Catch-All Account:"></asp:Label></td>
<td class="Normal" width="100%">
<asp:DropDownList ID="ddlCatchAllAccount" runat="server" CssClass="NormalTextBox">
</asp:DropDownList></td>
</tr>
</table>

View file

@ -0,0 +1,87 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Providers.Mail;
namespace WebsitePanel.Portal.ProviderControls
{
public partial class hMailServer5_EditDomain : WebsitePanelControlBase, IMailEditDomainControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void BindItem(MailDomain item)
{
BindMailboxes(item);
}
public void SaveItem(MailDomain item)
{
item.CatchAllAccount = ddlCatchAllAccount.SelectedValue;
}
private void BindMailboxes(MailDomain item)
{
MailAccount[] accounts = ES.Services.MailServers.GetMailAccounts(item.PackageId, false);
MailAlias[] forwardings = ES.Services.MailServers.GetMailForwardings(item.PackageId, false);
BindAccounts(item, ddlCatchAllAccount, accounts);
BindAccounts(item, ddlCatchAllAccount, forwardings);
Utils.SelectListItem(ddlCatchAllAccount, item.CatchAllAccount);
}
private void BindAccounts(MailDomain item, DropDownList ddl, MailAccount[] accounts)
{
if (ddl.Items.Count == 0)
ddl.Items.Add(new ListItem(GetLocalizedString("Text.NotSelected"), ""));
foreach (MailAccount account in accounts)
{
int idx = account.Name.IndexOf("@");
string accountName = account.Name.Substring(0, idx);
string accountDomain = account.Name.Substring(idx + 1);
if (String.Compare(accountDomain, item.Name, true) == 0)
ddl.Items.Add(new ListItem(account.Name, accountName));
}
}
}
}

View file

@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ProviderControls {
public partial class hMailServer5_EditDomain {
/// <summary>
/// lblCatchAll control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblCatchAll;
/// <summary>
/// ddlCatchAllAccount control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlCatchAllAccount;
}
}

View file

@ -0,0 +1 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditForwarding.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditForwarding" %>

View file

@ -0,0 +1,60 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Providers.Mail;
namespace WebsitePanel.Portal.ProviderControls
{
public partial class hMailServer5_EditForwarding : WebsitePanelControlBase, IMailEditForwardingControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void BindItem(MailAlias item)
{
}
public void SaveItem(MailAlias item)
{
}
}
}

View file

@ -0,0 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ProviderControls {
public partial class hMailServer5_EditForwarding {
}
}

View file

@ -0,0 +1,12 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditGroup.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditGroup" %>
<%@ Register TagPrefix="dnc" TagName="EditItemsList" Src="../MailEditItems.ascx" %>
<table cellSpacing="0" cellPadding="3" width="100%">
<tr>
<td class="SubHead" width="200" nowrap valign="top">
<asp:Label ID="lblGroupMembers" runat="server" meta:resourcekey="lblGroupMembers" Text="Group e-mails:"></asp:Label>
</td>
<td class="normal" width="100%" valign="top">
<dnc:EditItemsList id="mailEditItems" runat="server"></dnc:EditItemsList>
</td>
</tr>
</table>

View file

@ -0,0 +1,60 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Providers.Mail;
namespace WebsitePanel.Portal.ProviderControls
{
public partial class hMailServer5_EditGroup : WebsitePanelControlBase, IMailEditGroupControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void BindItem(MailGroup item)
{
mailEditItems.Items = item.Members;
}
public void SaveItem(MailGroup item)
{
item.Members = mailEditItems.Items;
}
}
}

View file

@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ProviderControls {
public partial class hMailServer5_EditGroup {
/// <summary>
/// lblGroupMembers control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblGroupMembers;
/// <summary>
/// mailEditItems control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.MailEditItems mailEditItems;
}
}

View file

@ -0,0 +1,48 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditList.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditList" %>
<%@ Register TagPrefix="dnc" TagName="EditItemsList" Src="../MailEditItems.ascx" %>
<%@ Register Src="../UserControls/EmailControl.ascx" TagName="EmailControl" TagPrefix="uc2" %>
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
<table cellSpacing="0" cellPadding="3" width="100%">
<tr>
<td>&nbsp;&nbsp;</td>
</tr>
<tr>
<td class="SubHead">
<asp:Label ID="lblPostingMode" runat="server" meta:resourcekey="lblPostingMode" Text="Posting mode:"></asp:Label>
</td>
<td class="normal">
<asp:DropDownList id="ddlPostingMode" runat="server" resourcekey="ddlPostingMode" CssClass="NormalTextBox" Width="150px" AutoPostBack="True" OnSelectedIndexChanged="ddlPostingMode_SelectedIndexChanged">
<asp:ListItem Value="MembersCanPost">MemberShip</asp:ListItem>
<asp:ListItem Value="AnyoneCanPost">Public</asp:ListItem>
<asp:ListItem Value="ModeratorCanPost">Announcements</asp:ListItem>
</asp:DropDownList>
</td>
<tr>
<td class="SubHead">
<asp:Label ID="lblEmail" runat="server" meta:resourcekey="lblEmail" Text="Announcements E-mail:" Visible = "false"></asp:Label>
</td>
<td class="NormalBold">
<uc2:EmailControl id="txtEmailAnnouncements" runat="server" Visible = "false">
</uc2:EmailControl>
</td>
</tr>
</tr>
<td>&nbsp;</td>
</tr>
<tr>
<td class="SubHead" vAlign="top">
<asp:Label ID="lblMembers" runat="server" meta:resourcekey="lblMembers" Text="Mailing list members:"></asp:Label>
</td>
<td vAlign="top">
<dnc:EditItemsList id="mailEditItems" runat="server"></dnc:EditItemsList>
</td>
</tr>
</table>
<wsp:collapsiblepanel id="Security" runat="server" targetcontrolid="pSecurity"
meta:resourcekey="Security" Text="Security"></wsp:collapsiblepanel>
<asp:Panel runat="server" ID="pSecurity">
<asp:CheckBox runat="server" ID="cbSMTPAuthentication"/>
<asp:Label ID="Label1" runat="server" meta:resourcekey="lblSMTPAuthentication" Text="Require SMTP Authentication"/>
</asp:Panel>

View file

@ -0,0 +1,77 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Providers.Mail;
namespace WebsitePanel.Portal.ProviderControls
{
public partial class hMailServer5_EditList : WebsitePanelControlBase, IMailEditListControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void BindItem(MailList item)
{
Utils.SelectListItem(ddlPostingMode, item.PostingMode);
mailEditItems.Items = item.Members;
txtEmailAnnouncements.Text = item.ModeratorAddress;
cbSMTPAuthentication.Checked = item.RequireSmtpAuthentication;
ToggleFormControls();
}
public void SaveItem(MailList item)
{
item.PostingMode = (PostingMode)Enum.Parse(typeof(PostingMode), ddlPostingMode.SelectedValue, true);
item.ModeratorAddress = txtEmailAnnouncements.Text;
item.Members = mailEditItems.Items;
item.RequireSmtpAuthentication = cbSMTPAuthentication.Checked;
}
protected void ddlPostingMode_SelectedIndexChanged(object sender, EventArgs e)
{
ToggleFormControls();
}
private void ToggleFormControls()
{
lblEmail.Visible = txtEmailAnnouncements.Visible = (ddlPostingMode.SelectedValue == "ModeratorCanPost");
}
}
}

View file

@ -0,0 +1,105 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ProviderControls {
public partial class hMailServer5_EditList {
/// <summary>
/// lblPostingMode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPostingMode;
/// <summary>
/// ddlPostingMode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlPostingMode;
/// <summary>
/// lblEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblEmail;
/// <summary>
/// txtEmailAnnouncements control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.EmailControl txtEmailAnnouncements;
/// <summary>
/// lblMembers control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMembers;
/// <summary>
/// mailEditItems control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.MailEditItems mailEditItems;
/// <summary>
/// Security control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel Security;
/// <summary>
/// pSecurity control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pSecurity;
/// <summary>
/// cbSMTPAuthentication control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox cbSMTPAuthentication;
/// <summary>
/// Label1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
}
}

View file

@ -0,0 +1,35 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_Settings" %>
<%@ Register Src="../UserControls/SelectIPAddress.ascx" TagName="SelectIPAddress" TagPrefix="uc1" %>
<table cellpadding="7" cellspacing="0" width="100%">
<tr>
<td class="SubHead" width="200" nowrap>
<asp:Label ID="lblPublicIP" runat="server" meta:resourcekey="lblPublicIP" Text="Public IP Address:"></asp:Label>
</td>
<td width="100%">
<uc1:SelectIPAddress ID="ipAddress" runat="server" ServerIdParam="ServerID" />
</td>
</tr>
<tr>
<td class="SubHead">
<asp:Label ID="lblAdminLogin" runat="server" meta:resourcekey="lblAdminLogin" Text="Admin Login:"></asp:Label>
</td>
<td>
<asp:TextBox Runat="server" ID="txtUsername" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
</td>
</tr>
<tr id="rowPassword" runat="server">
<td class="SubHead">
<asp:Label ID="lblCurrPassword" runat="server" meta:resourcekey="lblCurrPassword" Text="Current Admin Password:"></asp:Label>
</td>
<td class="Normal">*******
</td>
</tr>
<tr>
<td class="SubHead">
<asp:Label ID="lblAdminPassword" runat="server" meta:resourcekey="lblAdminPassword" Text="Admin Password:"></asp:Label>
</td>
<td>
<asp:TextBox Runat="server" ID="txtPassword" CssClass="NormalTextBox" Width="200px" TextMode="Password"></asp:TextBox>
</td>
</tr>
</table>

View file

@ -0,0 +1,64 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebsitePanel.Portal.ProviderControls
{
public partial class hMailServer5_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void BindSettings(StringDictionary settings)
{
ipAddress.AddressId = (settings["ServerIpAddress"] != null) ? Utils.ParseInt(settings["ServerIpAddress"], 0) : 0;
txtUsername.Text = settings["AdminUsername"];
ViewState["PWD"] = settings["AdminPassword"];
rowPassword.Visible = ((string)ViewState["PWD"]) != "";
}
public void SaveSettings(StringDictionary settings)
{
settings["ServerIpAddress"] = ipAddress.AddressId.ToString();
settings["AdminUsername"] = txtUsername.Text.Trim();
settings["AdminPassword"] = (txtPassword.Text.Length > 0) ? txtPassword.Text : (string)ViewState["PWD"];
}
}
}

View file

@ -0,0 +1,87 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ProviderControls {
public partial class hMailServer5_Settings {
/// <summary>
/// lblPublicIP control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPublicIP;
/// <summary>
/// ipAddress control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.SelectIPAddress ipAddress;
/// <summary>
/// lblAdminLogin control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblAdminLogin;
/// <summary>
/// txtUsername control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtUsername;
/// <summary>
/// rowPassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowPassword;
/// <summary>
/// lblCurrPassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblCurrPassword;
/// <summary>
/// lblAdminPassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblAdminPassword;
/// <summary>
/// txtPassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtPassword;
}
}

View file

@ -199,6 +199,48 @@
<Compile Include="Code\ReportingServices\FileSystemReportLocalizer.cs" />
<Compile Include="Code\ReportingServices\IResourceStorage.cs" />
<Compile Include="Code\ReportingServices\ReportingServicesUtils.cs" />
<Compile Include="ProviderControls\hMailServer5_EditAccount.ascx.cs">
<DependentUpon>hMailServer5_EditAccount.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditAccount.ascx.designer.cs">
<DependentUpon>hMailServer5_EditAccount.ascx</DependentUpon>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditDomain.ascx.cs">
<DependentUpon>hMailServer5_EditDomain.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditDomain.ascx.designer.cs">
<DependentUpon>hMailServer5_EditDomain.ascx</DependentUpon>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditForwarding.ascx.cs">
<DependentUpon>hMailServer5_EditForwarding.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditForwarding.ascx.designer.cs">
<DependentUpon>hMailServer5_EditForwarding.ascx</DependentUpon>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditGroup.ascx.cs">
<DependentUpon>hMailServer5_EditGroup.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditGroup.ascx.designer.cs">
<DependentUpon>hMailServer5_EditGroup.ascx</DependentUpon>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditList.ascx.cs">
<DependentUpon>hMailServer5_EditList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProviderControls\hMailServer5_EditList.ascx.designer.cs">
<DependentUpon>hMailServer5_EditList.ascx</DependentUpon>
</Compile>
<Compile Include="ProviderControls\hMailServer5_Settings.ascx.cs">
<DependentUpon>hMailServer5_Settings.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ProviderControls\hMailServer5_Settings.ascx.designer.cs">
<DependentUpon>hMailServer5_Settings.ascx</DependentUpon>
</Compile>
<Compile Include="ScheduleTaskControls\NotifyOverusedDatabases.ascx.cs">
<DependentUpon>NotifyOverusedDatabases.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -3707,6 +3749,12 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="ProviderControls\hMailServer5_EditAccount.ascx" />
<Content Include="ProviderControls\hMailServer5_EditDomain.ascx" />
<Content Include="ProviderControls\hMailServer5_EditForwarding.ascx" />
<Content Include="ProviderControls\hMailServer5_EditGroup.ascx" />
<Content Include="ProviderControls\hMailServer5_EditList.ascx" />
<Content Include="ProviderControls\hMailServer5_Settings.ascx" />
<Content Include="ScheduleTaskControls\NotifyOverusedDatabases.ascx" />
<Content Include="VPSForPC\MonitoringPage.aspx" />
<Content Include="VPSForPC\VdcAccountVLanAdd.ascx" />
@ -4842,6 +4890,21 @@
<Content Include="VPSForPC\UserControls\App_LocalResources\ServerTabs.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ProviderControls\App_LocalResources\hMailServer5_EditAccount.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ProviderControls\App_LocalResources\hMailServer5_Settings.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ProviderControls\App_LocalResources\hMailServer5_EditDomain.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ProviderControls\App_LocalResources\hMailServer5_EditGroup.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ProviderControls\App_LocalResources\hMailServer5_EditList.ascx.resx">
<SubType>Designer</SubType>
</Content>
<EmbeddedResource Include="UserControls\App_LocalResources\EditDomainsList.ascx.resx">
<SubType>Designer</SubType>
</EmbeddedResource>