From d31aaa6d2d7ae1d976b56016d80fbd23192a1bc4 Mon Sep 17 00:00:00 2001 From: cflakes Date: Sun, 7 Feb 2010 18:21:48 +0000 Subject: [PATCH] AppendTimestamp, PreprendTimestamp, DCCVHost and DenySetVHost (also affects DCCVHost) are now also changable via the admin module. Basic patch by psychon! git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1747 726aef4b-f618-498e-8847-2d620e286838 --- modules/admin.cpp | 49 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/modules/admin.cpp b/modules/admin.cpp index 9dde1334..e30f84fb 100644 --- a/modules/admin.cpp +++ b/modules/admin.cpp @@ -71,6 +71,7 @@ class CAdminMod : public CModule { {"BounceDCCs", boolean}, {"UseClientIP", boolean}, {"DenyLoadMod", boolean}, + {"DenySetVHost", boolean}, {"DefaultChanModes", string}, {"QuitMsg", string}, {"BufferCount", integer}, @@ -78,7 +79,10 @@ class CAdminMod : public CModule { {"Password", string}, {"JoinTries", integer}, {"MaxJoins", integer}, - {"Admin", boolean} + {"Admin", boolean}, + {"AppendTimestamp", boolean}, + {"PrependTimestamp", boolean}, + {"DCCVHost", boolean} }; for (unsigned int i = 0; i != ARRAY_SIZE(vars); ++i) { VarTable.AddRow(); @@ -93,10 +97,11 @@ class CAdminMod : public CModule { CVarTable.AddColumn("Type"); static const char* cvars[][2] = { {"DefModes", string}, + {"Key", string}, {"Buffer", integer}, {"InConfig", boolean}, {"KeepBuffer", boolean}, - {"Detached", boolean}, + {"Detached", boolean} }; for (unsigned int i = 0; i != ARRAY_SIZE(cvars); ++i) { CVarTable.AddRow(); @@ -157,6 +162,8 @@ class CAdminMod : public CModule { PutModule("UseClientIP = " + CString(user->UseClientIP())); else if (var == "denyloadmod") PutModule("DenyLoadMod = " + CString(user->DenyLoadMod())); + else if (var == "denysetvhost") + PutModule("DenySetVHost = " + CString(user->DenySetVHost())); else if (var == "defaultchanmodes") PutModule("DefaultChanModes = " + user->GetDefaultChanModes()); else if (var == "quitmsg") @@ -169,6 +176,12 @@ class CAdminMod : public CModule { PutModule("MaxJoins = " + CString(user->MaxJoins())); else if (var == "jointries") PutModule("JoinTries = " + CString(user->JoinTries())); + else if (var == "appendtimestamp") + PutModule("AppendTimestamp = " + CString(user->GetTimestampAppend())); + else if (var == "preprendtimestamp") + PutModule("PreprendTimestamp = " + CString(user->GetTimestampPrepend())); + else if (var == "dccvhost") + PutModule("DCCVHost = " + CString(user->GetDCCVHost())); else if (var == "admin") PutModule("Admin = " + CString(user->IsAdmin())); else @@ -237,6 +250,15 @@ class CAdminMod : public CModule { PutModule("Access denied!"); } } + else if (var == "denysetvhost") { + if(m_pUser->IsAdmin()) { + bool b = value.ToBool(); + user->SetDenySetVHost(b); + PutModule("DenySetVHost = " + CString(b)); + } else { + PutModule("Access denied!"); + } + } else if (var == "defaultchanmodes") { user->SetDefaultChanModes(value); PutModule("DefaultChanModes = " + value); @@ -280,6 +302,24 @@ class CAdminMod : public CModule { PutModule("Access denied!"); } } + else if (var == "prependtimestamp") { + bool b = value.ToBool(); + user->SetTimestampPrepend(b); + PutModule("PrependTimestamp = " + CString(b)); + } + else if (var == "appendtimestamp") { + bool b = value.ToBool(); + user->SetTimestampAppend(b); + PutModule("AppendTimestamp = " + CString(b)); + } + else if (var == "dccvhost") { + if(!user->DenySetVHost() || m_pUser->IsAdmin()) { + user->SetDCCVHost(value); + PutModule("DCCVHost = " + value); + } else { + PutModule("Access denied!"); + } + } else PutModule("Error: Unknown variable"); } @@ -321,6 +361,8 @@ class CAdminMod : public CModule { PutModule("KeepBuffer = " + pChan->KeepBuffer()); else if (var == "detached") PutModule("Detached = " + pChan->IsDetached()); + else if (var == "key") + PutModule("Key = " + pChan->GetKey()); else PutModule("Error: Unknown variable"); } @@ -370,6 +412,9 @@ class CAdminMod : public CModule { pChan->AttachUser(); } PutModule("Detached = " + CString(b)); + } else if (var == "key") { + pChan->SetKey(value); + PutModule("Key = " + value); } else PutModule("Error: Unknown variable"); }