17 #ifndef ZNC_WEBMODULES_H 18 #define ZNC_WEBMODULES_H 20 #include <znc/zncconfig.h> 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;
142 bool bBasic)
override;
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 ValidateCSRFCheck(const CString &sURI)
CUser * GetUser() const
Definition: WebModules.h:57
bool HandleTag(CTemplate &Tmpl, const CString &sName, const CString &sArgs, CString &sOutput) override
virtual ~CZNCTagHandler()
Definition: WebModules.h:38
VCString GetDirs(CModule *pModule, bool bIsTemplate)
static CString GetSkinPath(const CString &sSkinName)
Definition: WebModules.h:97
CWebSubPage(const CString &sName, const CString &sTitle="", unsigned int uFlags=0)
Definition: WebModules.h:84
CString FindTmpl(CModule *pModule, const CString &sName)
Definition: WebModules.h:47
size_t AddSuccess(const CString &sMessage)
Definition: WebModules.h:132
EPageReqResult
Definition: WebModules.h:129
bool SendCookie(const CString &sKey, const CString &sValue)
void OnPageRequest(const CString &sURI) override
void SetTitle(const COptionalTranslation &s)
Definition: WebModules.h:100
virtual ~CWebSubPage()
Definition: WebModules.h:95
void SetName(const CString &s)
Definition: WebModules.h:99
Definition: Translation.h:85
bool PrintErrorPage(unsigned int uStatusId, const CString &sStatusMsg, const CString &sMessage)
CString Resolve() const
Definition: Translation.h:90
std::vector< TWebSubPage > VWebSubPages
Definition: WebModules.h:33
bool AddModLoop(const CString &sLoopName, CModule &Module, CTemplate *pTemplate=nullptr)
time_t GetLastActive() const
Definition: WebModules.h:58
Definition: WebModules.h:134
void SetPaths(CModule *pModule, bool bIsTemplate=false)
Definition: Template.h:28
EPageReqResult PrintStaticFile(const CString &sPath, CString &sPageRet, CModule *pModule=nullptr)
Basic socket class.
Definition: Csocket.h:563
std::shared_ptr< CWebSubPage > TWebSubPage
Definition: WebModules.h:30
Definition: Template.h:129
Definition: WebModules.h:82
std::vector< CString > VCString
Definition: ZNCString.h:38
String class that is used inside ZNC.
Definition: ZNCString.h:68
bool ForceLogin() override
const CString & GetName() const
Definition: WebModules.h:109
size_t AddError(const CString &sMessage)
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:421
CWebSession(const CString &sId, const CString &sIP)
void PrintErrorPage(const CString &sMessage)
const CString & GetIP() const
Definition: WebModules.h:56
const CString & GetId() const
Definition: WebModules.h:55
static void FinishUserSessions(const CUser &User)
Definition: WebModules.h:127
EPageReqResult PrintTemplate(const CString &sPageName, CString &sPageRet, CModule *pModule=nullptr)
bool RequiresAdmin() const
Definition: WebModules.h:107
void AddParam(const CString &sName, const CString &sValue)
Definition: WebModules.h:103
CWebSession & operator=(const CWebSession &)=delete
Insert an object with a time-to-live and check later if it still exists.
Definition: Utils.h:291
bool OnLogin(const CString &sUser, const CString &sPass, bool bBasic) override
void FinishUserSessions(const CUser &User)
void FillMessageLoops(CTemplate &Tmpl)
std::vector< std::pair< CString, CString > > VPair
Definition: ZNCString.h:39
Definition: WebModules.h:35
Definition: WebModules.h:130
void GetAvailSkins(VCString &vRet) const
CWebSock(const CString &sURIPrefix)
CString GetTitle() const
Definition: WebModules.h:110
CString GetRequestCookie(const CString &sKey)
const VPair & GetParams() const
Definition: WebModules.h:111
CZNCTagHandler(CWebSock &pWebSock)
Definition: WebModules.h:120
bool IsLoggedIn() const
Definition: WebModules.h:59
Csock * GetSockObj(const CString &sHost, unsigned short uPort) override
std::shared_ptr< CWebSession > GetSession()
Definition: WebModules.h:131
Definition: HTTPSock.h:26
CWebSessionMap(unsigned int uTTL=5000)
Definition: WebModules.h:122