17 #ifndef ZNC_WEBMODULES_H 18 #define ZNC_WEBMODULES_H 20 #include <znc/zncconfig.h> 61 void UpdateLastActive();
68 void ClearMessageLoops();
70 size_t AddError(
const CString& sMessage);
71 size_t AddSuccess(
const CString& sMessage);
79 time_t m_tmLastActive;
85 unsigned int uFlags = 0)
86 : m_uFlags(uFlags), m_sName(sName), m_Title(sTitle), m_vParams() {}
89 const VPair& vParams,
unsigned int uFlags = 0)
104 m_vParams.push_back(make_pair(sName, sValue));
114 unsigned int m_uFlags;
124 void FinishUserSessions(
const CUser& User);
140 bool ForceLogin()
override;
142 bool bBasic)
override;
143 void OnPageRequest(
const CString& sURI)
override;
152 void PrintErrorPage(
const CString& sMessage);
154 std::shared_ptr<CWebSession> GetSession();
156 Csock* GetSockObj(
const CString& sHost,
unsigned short uPort)
override;
158 void GetAvailSkins(
VCString& vRet)
const;
164 static void FinishUserSessions(
const CUser& User);
167 bool ValidateCSRFCheck(
const CString& sURI);
175 void SetPaths(
CModule* pModule,
bool bIsTemplate =
false);
184 std::shared_ptr<CAuthBase> m_spAuth;
188 std::shared_ptr<CWebSession> m_spSession;
190 static const unsigned int m_uiMaxSessions;
193 #endif // !ZNC_WEBMODULES_H
bool HandleTag(CTemplate &Tmpl, const CString &sName, const CString &sArgs, CString &sOutput) override
virtual ~CZNCTagHandler()
Definition: WebModules.h:38
const CString & GetIP() const
Definition: WebModules.h:56
CWebSubPage(const CString &sName, const CString &sTitle="", unsigned int uFlags=0)
Definition: WebModules.h:84
Definition: WebModules.h:47
Definition: WebModules.h:132
EPageReqResult
Definition: WebModules.h:129
void SetTitle(const COptionalTranslation &s)
Definition: WebModules.h:100
CString GetTitle() const
Definition: WebModules.h:110
const CString & GetId() const
Definition: WebModules.h:55
virtual ~CWebSubPage()
Definition: WebModules.h:95
void SetName(const CString &s)
Definition: WebModules.h:99
const CString & GetName() const
Definition: WebModules.h:109
Definition: Translation.h:77
bool PrintErrorPage(unsigned int uStatusId, const CString &sStatusMsg, const CString &sMessage)
std::vector< TWebSubPage > VWebSubPages
Definition: WebModules.h:33
Definition: Template.h:28
Basic socket class.
Definition: Csocket.h:548
std::shared_ptr< CWebSubPage > TWebSubPage
Definition: WebModules.h:30
Definition: Template.h:129
Definition: WebModules.h:82
bool IsLoggedIn() const
Definition: WebModules.h:59
std::vector< CString > VCString
Definition: ZNCString.h:38
String class that is used inside ZNC.
Definition: ZNCString.h:68
CWebSubPage(const CString &sName, const COptionalTranslation &Title, const VPair &vParams, unsigned int uFlags=0)
Definition: WebModules.h:88
CUser * SetUser(CUser *p)
Definition: WebModules.h:63
The base class for your own ZNC modules.
Definition: Modules.h:407
time_t GetLastActive() const
Definition: WebModules.h:58
Definition: WebModules.h:127
void AddParam(const CString &sName, const CString &sValue)
Definition: WebModules.h:103
const VPair & GetParams() const
Definition: WebModules.h:111
Insert an object with a time-to-live and check later if it still exists.
Definition: Utils.h:250
std::vector< std::pair< CString, CString > > VPair
Definition: ZNCString.h:39
Definition: WebModules.h:35
bool RequiresAdmin() const
Definition: WebModules.h:107
Definition: WebModules.h:130
CUser * GetUser() const
Definition: WebModules.h:57
CZNCTagHandler(CWebSock &pWebSock)
Definition: WebModules.h:120
Definition: WebModules.h:131
Definition: HTTPSock.h:26
CWebSessionMap(unsigned int uTTL=5000)
Definition: WebModules.h:122