mirror of
https://github.com/znc/znc.git
synced 2026-08-02 15:03:16 +02:00
Changed OnNick() and OnQuit() to take a vector<CChan*> of common channels
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@164 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
+22
-6
@@ -342,10 +342,18 @@ void CIRCSock::ReadLine(const string& sData) {
|
||||
CUtils::LeftChomp(sNewNick);
|
||||
}
|
||||
|
||||
vector<CChan*> vFoundChans;
|
||||
const vector<CChan*>& vChans = m_pUser->GetChans();
|
||||
|
||||
for (unsigned int a = 0; a < vChans.size(); a++) {
|
||||
if ((vChans[a]->ChangeNick(sNick, sNewNick)) && (!vChans[a]->IsDetached())) {
|
||||
bIsVisible = true;
|
||||
CChan* pChan = vChans[a];
|
||||
|
||||
if (pChan->ChangeNick(sNick, sNewNick)) {
|
||||
vFoundChans.push_back(pChan);
|
||||
|
||||
if (!pChan->IsDetached()) {
|
||||
bIsVisible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -359,7 +367,7 @@ void CIRCSock::ReadLine(const string& sData) {
|
||||
KeepNick();
|
||||
}
|
||||
#ifdef _MODULES
|
||||
m_pUser->GetModules().OnNick(sNickMask, sNewNick);
|
||||
m_pUser->GetModules().OnNick(sNickMask, sNewNick, vFoundChans);
|
||||
#endif
|
||||
|
||||
if (!bIsVisible) {
|
||||
@@ -376,10 +384,18 @@ void CIRCSock::ReadLine(const string& sData) {
|
||||
// :nick!ident@host.com QUIT :message
|
||||
CNick Nick(sNickMask);
|
||||
|
||||
vector<CChan*> vFoundChans;
|
||||
const vector<CChan*>& vChans = m_pUser->GetChans();
|
||||
|
||||
for (unsigned int a = 0; a < vChans.size(); a++) {
|
||||
if ((vChans[a]->RemNick(sNick)) && (!vChans[a]->IsDetached())) {
|
||||
bIsVisible = true;
|
||||
CChan* pChan = vChans[a];
|
||||
|
||||
if (pChan->RemNick(sNick)) {
|
||||
vFoundChans.push_back(pChan);
|
||||
|
||||
if (!pChan->IsDetached()) {
|
||||
bIsVisible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -388,7 +404,7 @@ void CIRCSock::ReadLine(const string& sData) {
|
||||
}
|
||||
|
||||
#ifdef _MODULES
|
||||
m_pUser->GetModules().OnQuit(Nick, sMessage);
|
||||
m_pUser->GetModules().OnQuit(Nick, sMessage, vFoundChans);
|
||||
#endif
|
||||
|
||||
if (!bIsVisible) {
|
||||
|
||||
+6
-6
@@ -149,8 +149,8 @@ void CModule::OnModCommand(const string& sCommand) {}
|
||||
void CModule::OnModNotice(const string& sMessage) {}
|
||||
void CModule::OnModCTCP(const string& sMessage) {}
|
||||
|
||||
void CModule::OnQuit(const CNick& Nick, const string& sMessage) {}
|
||||
void CModule::OnNick(const CNick& Nick, const string& sNewNick) {}
|
||||
void CModule::OnQuit(const CNick& Nick, const string& sMessage, const vector<CChan*> vChans) {}
|
||||
void CModule::OnNick(const CNick& Nick, const string& sNewNick, const vector<CChan*> vChans) {}
|
||||
void CModule::OnKick(const CNick& Nick, const string& sKickedNick, const CChan& Channel, const string& sMessage) {}
|
||||
void CModule::OnJoin(const CNick& Nick, const CChan& Channel) {}
|
||||
void CModule::OnPart(const CNick& Nick, const CChan& Channel) {}
|
||||
@@ -299,15 +299,15 @@ bool CModules::OnUserRaw(string& sLine) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void CModules::OnQuit(const CNick& Nick, const string& sMessage) {
|
||||
void CModules::OnQuit(const CNick& Nick, const string& sMessage, const vector<CChan*> vChans) {
|
||||
for (unsigned int a = 0; a < size(); a++) {
|
||||
(*this)[a]->OnQuit(Nick, sMessage);
|
||||
(*this)[a]->OnQuit(Nick, sMessage, vChans);
|
||||
}
|
||||
}
|
||||
|
||||
void CModules::OnNick(const CNick& Nick, const string& sNewNick) {
|
||||
void CModules::OnNick(const CNick& Nick, const string& sNewNick, const vector<CChan*> vChans) {
|
||||
for (unsigned int a = 0; a < size(); a++) {
|
||||
(*this)[a]->OnNick(Nick, sNewNick);
|
||||
(*this)[a]->OnNick(Nick, sNewNick, vChans);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
using std::vector;
|
||||
using std::string;
|
||||
|
||||
#define VERSION 0.030
|
||||
#define VERSION 0.031
|
||||
#define MODULEDEFS(CLASS) extern "C" { CModule* Load(void* p, CUser* pUser, const string& sModName); void Unload(CModule* pMod); double GetVersion(); } double GetVersion() { return VERSION; } CModule* Load(void* p, CUser* pUser, const string& sModName) { return new CLASS(p, pUser, sModName); } void Unload(CModule* pMod) { if (pMod) { delete pMod; } }
|
||||
#define MODCONSTRUCTOR(CLASS) CLASS(void *pDLL, CUser* pUser, const string& sModName) : CModule(pDLL, pUser, sModName)
|
||||
|
||||
@@ -72,8 +72,8 @@ public:
|
||||
virtual void OnModNotice(const string& sMessage);
|
||||
virtual void OnModCTCP(const string& sMessage);
|
||||
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage);
|
||||
virtual void OnNick(const CNick& Nick, const string& sNewNick);
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage, const vector<CChan*> vChans);
|
||||
virtual void OnNick(const CNick& Nick, const string& sNewNick, const vector<CChan*> vChans);
|
||||
virtual void OnKick(const CNick& Nick, const string& sOpNick, const CChan& Channel, const string& sMessage);
|
||||
virtual void OnJoin(const CNick& Nick, const CChan& Channel);
|
||||
virtual void OnPart(const CNick& Nick, const CChan& Channel);
|
||||
@@ -148,8 +148,8 @@ public:
|
||||
virtual void OnModNotice(const string& sMessage);
|
||||
virtual void OnModCTCP(const string& sMessage);
|
||||
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage);
|
||||
virtual void OnNick(const CNick& Nick, const string& sNewNick);
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage, const vector<CChan*> vChans);
|
||||
virtual void OnNick(const CNick& Nick, const string& sNewNick, const vector<CChan*> vChans);
|
||||
virtual void OnKick(const CNick& Nick, const string& sOpNick, const CChan& Channel, const string& sMessage);
|
||||
virtual void OnJoin(const CNick& Nick, const CChan& Channel);
|
||||
virtual void OnPart(const CNick& Nick, const CChan& Channel);
|
||||
|
||||
+2
-2
@@ -84,7 +84,7 @@ public:
|
||||
PutModule("[" + OpNick.GetNick() + "] kicked [" + sKickedNick + "] from [" + Channel.GetName() + "] with the msg [" + sMessage + "]");
|
||||
}
|
||||
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage) {
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage, const vector<CChan*> vChans) {
|
||||
PutModule("* Quits: " + Nick.GetNick() + " (" + Nick.GetIdent() + "!" + Nick.GetHost() + ") (" + sMessage + ")");
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ public:
|
||||
PutModule("* Parts: " + Nick.GetNick() + " (" + Nick.GetIdent() + "!" + Nick.GetHost() + ")");
|
||||
}
|
||||
|
||||
virtual void OnNick(const CNick& OldNick, const string& sNewNick) {
|
||||
virtual void OnNick(const CNick& OldNick, const string& sNewNick, const vector<CChan*> vChans) {
|
||||
PutModule("* " + OldNick.GetNick() + " is now known as " + sNewNick);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
* better solution then plain text.
|
||||
*
|
||||
* $Log$
|
||||
* Revision 1.15 2005/04/23 07:24:58 prozacx
|
||||
* Changed OnNick() and OnQuit() to take a vector<CChan*> of common channels
|
||||
*
|
||||
* Revision 1.14 2005/04/23 06:44:19 prozacx
|
||||
* Changed buffer playback messages to mirror engine behavior
|
||||
*
|
||||
@@ -289,18 +292,14 @@ public:
|
||||
{
|
||||
((CChan &)cChannel).AddBuffer( SpoofChanMsg( cChannel.GetName(), cOpNick.GetNickMask() + " MODE " + sModes + " " + sArgs ) );
|
||||
}
|
||||
virtual void OnQuit(const CNick& cNick, const string& sMessage)
|
||||
virtual void OnQuit(const CNick& cNick, const string& sMessage, const vector<CChan*> vChans)
|
||||
{
|
||||
vector<CChan*> vChans;
|
||||
cNick.GetCommonChans( vChans, m_pUser );
|
||||
for( u_int a = 0; a < vChans.size(); a++ )
|
||||
vChans[a]->AddBuffer( SpoofChanMsg( vChans[a]->GetName(), cNick.GetNickMask() + " QUIT " + sMessage ) );
|
||||
}
|
||||
|
||||
virtual void OnNick(const CNick& cNick, const string& sNewNick)
|
||||
virtual void OnNick(const CNick& cNick, const string& sNewNick, const vector<CChan*> vChans)
|
||||
{
|
||||
vector<CChan*> vChans;
|
||||
cNick.GetCommonChans( vChans, m_pUser );
|
||||
for( u_int a = 0; a < vChans.size(); a++ )
|
||||
vChans[a]->AddBuffer( SpoofChanMsg( vChans[a]->GetName(), cNick.GetNickMask() + " NICK " + sNewNick ) );
|
||||
}
|
||||
|
||||
+2
-2
@@ -190,7 +190,7 @@ public:
|
||||
Process(OpNick, "* " + OpNick.GetNick() + " kicked " + sKickedNick + " from " + Channel.GetName() + " because [" + sMessage + "]", Channel.GetName());
|
||||
}
|
||||
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage) {
|
||||
virtual void OnQuit(const CNick& Nick, const string& sMessage, const vector<CChan*> vChans) {
|
||||
Process(Nick, "* Quits: " + Nick.GetNick() + " (" + Nick.GetIdent() + "@" + Nick.GetHost() + ") (" + sMessage + ")", "");
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ public:
|
||||
Process(Nick, "* " + Nick.GetNick() + " (" + Nick.GetIdent() + "@" + Nick.GetHost() + ") parts " + Channel.GetName(), Channel.GetName());
|
||||
}
|
||||
|
||||
virtual void OnNick(const CNick& OldNick, const string& sNewNick) {
|
||||
virtual void OnNick(const CNick& OldNick, const string& sNewNick, const vector<CChan*> vChans) {
|
||||
Process(OldNick, "* " + OldNick.GetNick() + " is now known as " + sNewNick, "");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user