- dest->WriteNumeric(900, "%s %s %s :You are now logged in as %s",
- dest->nick.c_str(), dest->GetFullHost().c_str(), account->c_str(), account->c_str());
-
- AccountData ac;
- ac.user = dest;
- ac.account = *account;
- Event n((char*)&ac, this, "account_login");
- n.Send(ServerInstance);
+ {
+ const std::string* host = &dest->dhost;
+ if (dest->registered != REG_ALL)
+ {
+ if (!ReadCGIIRCExt("cgiirc_webirc_hostname", dest, host))
+ {
+ ReadCGIIRCExt("cgiirc_webirc_ip", dest, host);
+ }
+ }
+
+ dest->WriteNumeric(900, "%s %s!%s@%s %s :You are now logged in as %s",
+ dest->nick.c_str(), dest->nick.c_str(), dest->ident.c_str(), host->c_str(), account->c_str(), account->c_str());
+ }
+
+ AccountEvent(this, dest, *account).Send();
+ }
+ else
+ {
+ AccountEvent(this, dest, "").Send();