diff --git a/modules/lastseen.cpp b/modules/lastseen.cpp index 2638f93b..500f93a3 100644 --- a/modules/lastseen.cpp +++ b/modules/lastseen.cpp @@ -37,42 +37,37 @@ private: typedef multimap MTimeMulti; typedef map MUsers; -public: - GLOBALMODCONSTRUCTOR(CLastSeenMod) { - } - - virtual ~CLastSeenMod() {} - - // IRC stuff: - - virtual void OnModCommand(const CString& sLine) { - const CString sCommand = sLine.Token(0).AsLower(); + void ShowCommand(const CString &sLine) { if (!GetUser()->IsAdmin()) { PutModule("Access denied"); return; } - if (sCommand == "show") { - const MUsers& mUsers = CZNC::Get().GetUserMap(); - MUsers::const_iterator it; - CTable Table; + const MUsers& mUsers = CZNC::Get().GetUserMap(); + MUsers::const_iterator it; + CTable Table; - Table.AddColumn("User"); - Table.AddColumn("Last Seen"); + Table.AddColumn("User"); + Table.AddColumn("Last Seen"); - for (it = mUsers.begin(); it != mUsers.end(); ++it) { - Table.AddRow(); - Table.SetCell("User", it->first); - Table.SetCell("Last Seen", FormatLastSeen(it->second, "never")); - } - - PutModule(Table); - } else { - PutModule("This module only supports 'show'"); + for (it = mUsers.begin(); it != mUsers.end(); ++it) { + Table.AddRow(); + Table.SetCell("User", it->first); + Table.SetCell("Last Seen", FormatLastSeen(it->second, "never")); } + + PutModule(Table); } +public: + GLOBALMODCONSTRUCTOR(CLastSeenMod) { + AddHelpCommand(); + AddCommand("Show", static_cast(&CLastSeenMod::ShowCommand)); + } + + virtual ~CLastSeenMod() {} + // Event stuff: virtual void OnClientLogin() {