diff --git a/.idea/.idea.ProjectLighthouse/.idea/sqldialects.xml b/.idea/.idea.ProjectLighthouse/.idea/sqldialects.xml deleted file mode 100644 index 56782cab..00000000 --- a/.idea/.idea.ProjectLighthouse/.idea/sqldialects.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/ProjectLighthouse.Localization/StringLists/BaseLayoutStrings.cs b/ProjectLighthouse.Localization/StringLists/BaseLayoutStrings.cs index f46cb4e6..38e12333 100644 --- a/ProjectLighthouse.Localization/StringLists/BaseLayoutStrings.cs +++ b/ProjectLighthouse.Localization/StringLists/BaseLayoutStrings.cs @@ -26,5 +26,10 @@ public static class BaseLayoutStrings public static readonly TranslatableString ReadOnlyWarnTitle = create("read_only_warn_title"); public static readonly TranslatableString ReadOnlyWarn = create("read_only_warn"); + public static readonly TranslatableString EmailEnforcementWarnMain = create("email_enforcement_message_main"); + public static readonly TranslatableString EmailEnforcementWarnNoEmail = create("email_enforcement_message_no_email"); + public static readonly TranslatableString EmailEnforcementWarnVerifyEmail = create("email_enforcement_message_verify_email"); + + private static TranslatableString create(string key) => new(TranslationAreas.BaseLayout, key); } \ No newline at end of file diff --git a/ProjectLighthouse.Servers.GameServer/Controllers/MessageController.cs b/ProjectLighthouse.Servers.GameServer/Controllers/MessageController.cs index 7339de5c..99bc7929 100644 --- a/ProjectLighthouse.Servers.GameServer/Controllers/MessageController.cs +++ b/ProjectLighthouse.Servers.GameServer/Controllers/MessageController.cs @@ -60,32 +60,26 @@ along with this program. If not, see ."; StringBuilder announceText = new(ServerConfiguration.Instance.AnnounceText); announceText.Replace("%user", user.Username); - announceText.Replace("%id", user.UserId.ToString()); + announceText.Replace("%id", token.UserId.ToString()); if (ServerConfiguration.Instance.UserGeneratedContentLimits.ReadOnlyMode) { announceText.Insert(0, BaseLayoutStrings.ReadOnlyWarn.Translate(LocalizationManager.DefaultLang) + "\n\n"); } - if (EnforceEmailConfiguration.Instance.EnableEmailEnforcement && user.EmailAddress == null) + if (EnforceEmailConfiguration.Instance.EnableEmailEnforcement) { + announceText.Insert(0, EnforceEmailConfiguration.Instance.EmailEnforcementMessageMain); + if (user.EmailAddress == null) { // This will probably need translations - announceText.Insert(0, - "This server instance has email enforcement enabled, " + - "you will need to set and verify an email address to use most features.\n" + - "You can set an email by opening the text chat and typing " + - "\"/setemail [youremail@example.com]\" (do not include the brackets.\n\n"); + announceText.Insert(0, EnforceEmailConfiguration.Instance.EmailEnforcementMessageNoEmail); } - if (!user.EmailAddressVerified) + else if (!user.EmailAddressVerified) { // More stuff to translate later - announceText.Insert(0, - "You have set an email address on your account, but you have not verified " + - "it. Make sure to check your inbox for a verification email. " + - "If you have not received an email, please contact an instance " + - "administrator for further assistance.\n\n"); + announceText.Insert(0, EnforceEmailConfiguration.Instance.EmailEnforcementMessageVerify); } } diff --git a/ProjectLighthouse/Configuration/EnforceEmailConfiguration.cs b/ProjectLighthouse/Configuration/EnforceEmailConfiguration.cs index c3354fdb..b044df99 100644 --- a/ProjectLighthouse/Configuration/EnforceEmailConfiguration.cs +++ b/ProjectLighthouse/Configuration/EnforceEmailConfiguration.cs @@ -18,6 +18,23 @@ public class EnforceEmailConfiguration : ConfigurationBase/setemail " + + "[youremail@example.com]\" (do not include the brackets.)\n\n"; + + public string EmailEnforcementMessageVerify { get; set; } = + "You have set an email address on your account, but you have not " + + "verified it. Make sure to check your inbox for a verification email. " + + "If you have not received an email, please contact an instance " + + "administrator for further assistance.\n\n"; public override ConfigurationBase Deserialize (IDeserializer deserializer, string text) => diff --git a/ProjectLighthouse/Helpers/EmailHelper.cs b/ProjectLighthouse/Helpers/EmailHelper.cs index 25e74991..697c3bf5 100644 --- a/ProjectLighthouse/Helpers/EmailHelper.cs +++ b/ProjectLighthouse/Helpers/EmailHelper.cs @@ -90,8 +90,8 @@ public static class SMTPHelper // Get domain by splitting at '@' character string domain = email.Split('@')[1]; - // Return true if domain is found in blacklist - return blacklistedDomains.Contains(domain); + // Return false if domain is found in blacklist + return !blacklistedDomains.Contains(domain); } return true;