summaryrefslogtreecommitdiff
path: root/modules/nickserv/ns_set.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nickserv/ns_set.cpp')
-rw-r--r--modules/nickserv/ns_set.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/modules/nickserv/ns_set.cpp b/modules/nickserv/ns_set.cpp
index 39da08053..b8f6c257b 100644
--- a/modules/nickserv/ns_set.cpp
+++ b/modules/nickserv/ns_set.cpp
@@ -528,20 +528,16 @@ class CommandNSSetEmail
n->first = new_email;
n->second = code;
- Anope::string subject = Config->GetBlock("mail").Get<const Anope::string>("emailchange_subject"),
- message = Config->GetBlock("mail").Get<const Anope::string>("emailchange_message");
-
- subject = subject.replace_all_cs("%e", nc->email);
- subject = subject.replace_all_cs("%E", new_email);
- subject = subject.replace_all_cs("%n", nc->display);
- subject = subject.replace_all_cs("%N", Config->GetBlock("networkinfo").Get<const Anope::string>("networkname"));
- subject = subject.replace_all_cs("%c", code);
-
- message = message.replace_all_cs("%e", nc->email);
- message = message.replace_all_cs("%E", new_email);
- message = message.replace_all_cs("%n", nc->display);
- message = message.replace_all_cs("%N", Config->GetBlock("networkinfo").Get<const Anope::string>("networkname"));
- message = message.replace_all_cs("%c", code);
+ Anope::map<Anope::string> vars = {
+ { "old_email", nc->email },
+ { "new_email", new_email },
+ { "account", nc->display },
+ { "network", Config->GetBlock("networkinfo").Get<const Anope::string>("networkname") },
+ { "code", code },
+ };
+
+ auto subject = Anope::Template(Config->GetBlock("mail").Get<const Anope::string>("emailchange_subject"), vars);
+ auto message = Anope::Template(Config->GetBlock("mail").Get<const Anope::string>("emailchange_message"), vars);
Anope::string old = nc->email;
nc->email = new_email;