mirror of
https://github.com/znc/znc.git
synced 2026-08-06 17:03:14 +02:00
PutModule should try sending the line to all clients connected to the same network before the user clients
This commit is contained in:
@@ -460,6 +460,20 @@ bool CIRCNetwork::PutStatus(const CString& sLine, CClient* pClient, CClient* pSk
|
||||
return (pClient == NULL);
|
||||
}
|
||||
|
||||
bool CIRCNetwork::PutModule(const CString& sModule, const CString& sLine, CClient* pClient, CClient* pSkipClient) {
|
||||
for (unsigned int a = 0; a < m_vClients.size(); a++) {
|
||||
if ((!pClient || pClient == m_vClients[a]) && pSkipClient != m_vClients[a]) {
|
||||
m_vClients[a]->PutModule(sModule, sLine);
|
||||
|
||||
if (pClient) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (pClient == NULL);
|
||||
}
|
||||
|
||||
// Channels
|
||||
|
||||
const vector<CChan*>& CIRCNetwork::GetChans() const { return m_vChans; }
|
||||
|
||||
@@ -61,6 +61,7 @@ public:
|
||||
|
||||
bool PutUser(const CString& sLine, CClient* pClient = NULL, CClient* pSkipClient = NULL);
|
||||
bool PutStatus(const CString& sLine, CClient* pClient = NULL, CClient* pSkipClient = NULL);
|
||||
bool PutModule(const CString& sModule, const CString& sLine, CClient* pClient = NULL, CClient* pSkipClient = NULL);
|
||||
|
||||
const vector<CChan*>& GetChans() const;
|
||||
CChan* FindChan(const CString& sName) const;
|
||||
|
||||
+9
-4
@@ -567,15 +567,20 @@ unsigned int CModule::PutModule(const CTable& table) {
|
||||
return idx - 1;
|
||||
}
|
||||
bool CModule::PutModule(const CString& sLine) {
|
||||
if (!m_pUser)
|
||||
return false;
|
||||
|
||||
if (m_pClient) {
|
||||
m_pClient->PutModule(GetModName(), sLine);
|
||||
return true;
|
||||
}
|
||||
|
||||
return m_pUser->PutModule(GetModName(), sLine);
|
||||
if (m_pNetwork) {
|
||||
return m_pNetwork->PutModule(GetModName(), sLine);
|
||||
}
|
||||
|
||||
if (m_pUser) {
|
||||
return m_pUser->PutModule(GetModName(), sLine);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
bool CModule::PutModNotice(const CString& sLine) {
|
||||
if (!m_pUser)
|
||||
|
||||
Reference in New Issue
Block a user