From dfd8fa12ec77d7a182de964d00f7b437b1c1726a Mon Sep 17 00:00:00 2001 From: prozacx Date: Wed, 6 Apr 2005 06:52:30 +0000 Subject: [PATCH] Added TOPICS status command git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@115 726aef4b-f618-498e-8847-2d620e286838 --- UserSock.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/UserSock.cpp b/UserSock.cpp index b1472f1a..ed33bfea 100644 --- a/UserSock.cpp +++ b/UserSock.cpp @@ -469,7 +469,6 @@ void CUserSock::UserCommand(const string& sLine) { Table.AddColumn("Users"); Table.AddColumn("+o"); Table.AddColumn("+v"); - Table.AddColumn("Topic"); for (unsigned int a = 0; a < vChans.size(); a++) { CChan* pChan = vChans[a]; @@ -489,6 +488,30 @@ void CUserSock::UserCommand(const string& sLine) { Table.SetCell("Users", CUtils::ToString(pChan->GetNickCount())); Table.SetCell("+o", CUtils::ToString(pChan->GetOpCount())); Table.SetCell("+v", CUtils::ToString(pChan->GetVoiceCount())); + } + + if (Table.size()) { + unsigned int uTableIdx = 0; + string sLine; + + while (Table.GetLine(uTableIdx++, sLine)) { + PutStatus(sLine); + } + } + } + } else if (strcasecmp(sCommand.c_str(), "TOPICS") == 0) { + if (m_pUser) { + const vector& vChans = m_pUser->GetChans(); + CTable Table; + Table.AddColumn("Name"); + Table.AddColumn("Set By"); + Table.AddColumn("Topic"); + + for (unsigned int a = 0; a < vChans.size(); a++) { + CChan* pChan = vChans[a]; + Table.AddRow(); + Table.SetCell("Name", pChan->GetName()); + Table.SetCell("Set By", pChan->GetTopicOwner()); Table.SetCell("Topic", pChan->GetTopic()); }