diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 685b6b2d..065e83ae 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -6249,7 +6249,7 @@ Please, find below details of your domain expiration information. #Domain.DomainName# #Domain.Customer# - #Domain.ExpirationDate# + Expired @@ -6313,7 +6313,7 @@ Please, find below details of your domain expiration information. Domain: #Domain.DomainName# Customer: #Domain.Customer# - Expiration Date: #Domain.ExpirationDate# + Expiration Date: Expired diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs index 34468cbf..9fb16aad 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs @@ -60,11 +60,9 @@ namespace WebsitePanel.EnterpriseServer subDomains.AddRange(domains.Where(x => x.IsSubDomain)); - var topLevelDomains = domains = domains.Where(x => !x.IsSubDomain && !x.IsDomainPointer).ToList(); //Selecting top-level domains + domains = domains.Where(x => !x.IsSubDomain && !x.IsDomainPointer).ToList(); //Selecting top-level domains - allTopLevelDomains.AddRange(topLevelDomains); - - domains = topLevelDomains.Where(x => x.CreationDate == null || x.ExpirationDate == null ? true : CheckDomainExpiration(x.ExpirationDate, daysBeforeNotify)).ToList(); // selecting expired or with empty expire date domains + allTopLevelDomains.AddRange(domains); var domainUser = UserController.GetUser(package.UserId); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Servers/ServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Servers/ServerController.cs index 47444aeb..16e23b79 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Servers/ServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Servers/ServerController.cs @@ -42,6 +42,7 @@ using WebsitePanel.Providers.HostedSolution; using Whois.NET; using System.Text.RegularExpressions; using WebsitePanel.Providers.DomainLookup; +using System.Globalization; namespace WebsitePanel.EnterpriseServer { @@ -72,6 +73,9 @@ namespace WebsitePanel.EnterpriseServer @"expires:(.+)" //.fi }; + private static List _datePatterns = new List { @"ddd MMM dd HH:mm:ss G\MT yyyy" + }; + #region Servers public static List GetAllServers() { @@ -2723,7 +2727,7 @@ namespace WebsitePanel.EnterpriseServer { if (match.Success && match.Groups.Count == 2) { - return DateTime.Parse(match.Groups[1].ToString().Trim()); + return ParseDate(match.Groups[1].ToString().Trim()); } } } @@ -2731,6 +2735,21 @@ namespace WebsitePanel.EnterpriseServer return null; } + private static DateTime? ParseDate(string dateString) + { + var result = DateTime.MinValue; + + foreach (var datePattern in _datePatterns) + { + if (DateTime.TryParseExact(dateString, datePattern, CultureInfo.InvariantCulture, DateTimeStyles.None, out result)) + { + return result; + } + } + + return DateTime.Parse(dateString); + } + #endregion #region DNS Zones