X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_services_account.cpp;h=26a53b4d7038eaabf881dcb124ca20d456e5840e;hb=bdefe32944c2fa2d27dd00ba6eec8863d72d2dbd;hp=b778c16ed4a143502b927fd73bb258013d432861;hpb=4fc2f7199e964ba5112ecdb2613c6fd5c2eee638;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp index b778c16ed..26a53b4d7 100644 --- a/src/modules/m_services_account.cpp +++ b/src/modules/m_services_account.cpp @@ -104,17 +104,18 @@ class AChannel_M : public SimpleChannelModeHandler class AccountExtItemImpl : public AccountExtItem { + Events::ModuleEventProvider eventprov; + public: AccountExtItemImpl(Module* mod) : AccountExtItem("accountname", ExtensionItem::EXT_USER, mod) + , eventprov(mod, "event/account") { } void unserialize(SerializeFormat format, Extensible* container, const std::string& value) { - User* user = dynamic_cast(container); - if (!user) - return; + User* user = static_cast(container); StringExtItem::unserialize(format, container, value); if (!value.empty()) @@ -125,14 +126,10 @@ class AccountExtItemImpl : public AccountExtItem user->WriteNumeric(900, "%s %s :You are now logged in as %s", user->GetFullHost().c_str(), value.c_str(), value.c_str()); } - - AccountEvent(creator, user, value).Send(); - } - else - { - // Logged out - AccountEvent(creator, user, "").Send(); } + // If value is empty then logged out + + FOREACH_MOD_CUSTOM(eventprov, AccountEventListener, OnAccountChange, (user, value)); } };