From a440da25c6ea7376f06d54dabe3ec9ccdb6801cf Mon Sep 17 00:00:00 2001 From: darthgandalf Date: Sat, 11 Sep 2010 18:53:57 +0000 Subject: [PATCH] Stickychan module adds a checkbox to channel page of webadmin. git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2132 726aef4b-f618-498e-8847-2d620e286838 --- modules/stickychan.cpp | 21 +++++++++++++++++++++ modules/stickychan/tmpl/WebadminChan.tmpl | 12 ++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 modules/stickychan/tmpl/WebadminChan.tmpl diff --git a/modules/stickychan.cpp b/modules/stickychan.cpp index b8d8c62e..aa4976b1 100644 --- a/modules/stickychan.cpp +++ b/modules/stickychan.cpp @@ -139,6 +139,27 @@ public: return false; } + virtual bool OnEmbeddedWebRequest(CWebSock& WebSock, const CString& sPageName, CTemplate& Tmpl) { + if (sPageName == "webadmin/channel") { + CString sChan = Tmpl["ChanName"]; + bool bStick = FindNV(sChan) != EndNV(); + if (Tmpl["WebadminAction"].Equals("display")) { + Tmpl["Sticky"] = CString(bStick); + } else if (WebSock.GetParam("embed_stickychan_presented").ToBool()) { + bool bNewStick = WebSock.GetParam("embed_stickychan_sticky").ToBool(); + if(bNewStick && !bStick) { + SetNV(sChan, ""); // no password support for now unless chansaver is active too + WebSock.GetSession()->AddSuccess("Channel become sticky!"); + } else if(!bNewStick && bStick) { + DelNV(sChan); + WebSock.GetSession()->AddSuccess("Channel stopped being sticky!"); + } + } + return true; + } + return false; + } + }; diff --git a/modules/stickychan/tmpl/WebadminChan.tmpl b/modules/stickychan/tmpl/WebadminChan.tmpl new file mode 100644 index 00000000..4613dc70 --- /dev/null +++ b/modules/stickychan/tmpl/WebadminChan.tmpl @@ -0,0 +1,12 @@ +
+
+
+ +
+ checked="checked" /> + +
+
+
+
+