#include <atheme.h>
static void
-ns_verify_activate_account(struct sourceinfo *si, struct myuser *mu)
+ns_verify_activate_account(struct sourceinfo *si, struct myuser *mu, bool force)
{
mowgli_node_t *n;
struct hook_user_req req;
+ const char *thanks = _("Thank you for verifying your e-mail address! You have taken steps in ensuring that your registrations are not exploited.");
+ const char *confirm = _("\2%s\2 has now been verified.");
+
mu->flags &= ~MU_WAITAUTH;
metadata_delete(mu, "private:verify:register:key");
metadata_delete(mu, "private:verify:register:timestamp");
- command_success_nodata(si, _("\2%s\2 has now been verified."), entity(mu)->name);
- command_success_nodata(si, _("Thank you for verifying your e-mail address! You have taken steps in ensuring that your registrations are not exploited."));
+ myuser_notice(nicksvs.nick, mu, confirm, entity(mu)->name);
+ if (!force)
+ myuser_notice(nicksvs.nick, mu, thanks);
+ if (si->smu != mu) {
+ command_success_nodata(si, confirm, entity(mu)->name);
+ if (!force)
+ command_success_nodata(si, thanks);
+ }
+
MOWGLI_ITER_FOREACH(n, mu->logins.head)
{
struct user *u = n->data;
if (!strcasecmp(key, md->value))
{
logcommand(si, CMDLOG_SET, "VERIFY:REGISTER: \2%s\2 (email: \2%s\2)", entity(mu)->name, mu->email);
- ns_verify_activate_account(si, mu);
+ ns_verify_activate_account(si, mu, false);
return;
}
if (metadata_find(mu, "private:verify:register:key"))
{
- ns_verify_activate_account(si, mu);
+ ns_verify_activate_account(si, mu, false);
}
return;
}
logcommand(si, CMDLOG_SET, "FVERIFY:REGISTER: \2%s\2 (email: \2%s\2)", entity(mu)->name, mu->email);
- ns_verify_activate_account(si, mu);
+ ns_verify_activate_account(si, mu, true);
return;
}
if (metadata_find(mu, "private:verify:register:key"))
{
- ns_verify_activate_account(si, mu);
+ ns_verify_activate_account(si, mu, true);
}
return;