mirror of
https://github.com/znc/znc.git
synced 2026-05-03 12:02:30 +02:00
Include less headers in WebModules.h
From Client.h, only CAuthBase is needed. This is solved by moving the whole CWebAuth class to WebModules.cpp. The include of FileUtils.h is avoided by changing the API. GetAvailSkins() now returns the skin names instead of a CFile for the skin's path. Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
@@ -34,6 +34,20 @@ typedef std::multimap<CString, CWebSession*>::iterator mIPSessionsIterator;
|
||||
|
||||
static CSessionManager Sessions;
|
||||
|
||||
class CWebAuth : public CAuthBase {
|
||||
public:
|
||||
CWebAuth(CWebSock* pWebSock, const CString& sUsername, const CString& sPassword);
|
||||
virtual ~CWebAuth() {}
|
||||
|
||||
void SetWebSock(CWebSock* pWebSock) { m_pWebSock = pWebSock; }
|
||||
void AcceptedLogin(CUser& User);
|
||||
void RefusedLogin(const CString& sReason);
|
||||
void Invalidate();
|
||||
private:
|
||||
protected:
|
||||
CWebSock* m_pWebSock;
|
||||
};
|
||||
|
||||
void CWebSock::FinishUserSessions(const CUser& User) {
|
||||
Sessions.m_mspSessions.FinishUserSessions(User);
|
||||
}
|
||||
@@ -198,7 +212,7 @@ void CWebSock::ParsePath() {
|
||||
DEBUG("Path [" + m_sPath + "], Module [" + m_sModName + "], Page [" + m_sPage + "]");
|
||||
}
|
||||
|
||||
size_t CWebSock::GetAvailSkins(vector<CFile>& vRet) const {
|
||||
void CWebSock::GetAvailSkins(VCString& vRet) const {
|
||||
vRet.clear();
|
||||
|
||||
CString sRoot(GetSkinPath("_default_"));
|
||||
@@ -218,7 +232,8 @@ size_t CWebSock::GetAvailSkins(vector<CFile>& vRet) const {
|
||||
const CFile& SubDir = *Dir[d];
|
||||
|
||||
if (SubDir.IsDir() && SubDir.GetShortName() == "_default_") {
|
||||
vRet.push_back(SubDir);
|
||||
vRet.push_back(SubDir.GetShortName());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,12 +241,10 @@ size_t CWebSock::GetAvailSkins(vector<CFile>& vRet) const {
|
||||
const CFile& SubDir = *Dir[e];
|
||||
|
||||
if (SubDir.IsDir() && SubDir.GetShortName() != "_default_" && SubDir.GetShortName() != ".svn") {
|
||||
vRet.push_back(SubDir);
|
||||
vRet.push_back(SubDir.GetShortName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return vRet.size();
|
||||
}
|
||||
|
||||
VCString CWebSock::GetDirs(CModule* pModule, bool bIsTemplate) {
|
||||
|
||||
20
WebModules.h
20
WebModules.h
@@ -10,11 +10,11 @@
|
||||
#define _WEBMODULES_H
|
||||
|
||||
#include "zncconfig.h"
|
||||
#include "Client.h"
|
||||
#include "Template.h"
|
||||
#include "HTTPSock.h"
|
||||
#include "FileUtils.h"
|
||||
|
||||
class CAuthBase;
|
||||
class CUser;
|
||||
class CWebSock;
|
||||
class CModule;
|
||||
class CWebSubPage;
|
||||
@@ -91,20 +91,6 @@ private:
|
||||
VPair m_vParams;
|
||||
};
|
||||
|
||||
class CWebAuth : public CAuthBase {
|
||||
public:
|
||||
CWebAuth(CWebSock* pWebSock, const CString& sUsername, const CString& sPassword);
|
||||
virtual ~CWebAuth() {}
|
||||
|
||||
void SetWebSock(CWebSock* pWebSock) { m_pWebSock = pWebSock; }
|
||||
void AcceptedLogin(CUser& User);
|
||||
void RefusedLogin(const CString& sReason);
|
||||
void Invalidate();
|
||||
private:
|
||||
protected:
|
||||
CWebSock* m_pWebSock;
|
||||
};
|
||||
|
||||
class CWebSessionMap : public TCacheMap<CString, CSmartPtr<CWebSession> > {
|
||||
public:
|
||||
CWebSessionMap(unsigned int uTTL = 5000) : TCacheMap<CString, CSmartPtr<CWebSession> >(uTTL) {}
|
||||
@@ -141,7 +127,7 @@ public:
|
||||
virtual Csock* GetSockObj(const CString& sHost, unsigned short uPort);
|
||||
static CString GetSkinPath(const CString& sSkinName);
|
||||
CModule* GetModule() const { return (CModule*) m_pModule; }
|
||||
size_t GetAvailSkins(vector<CFile>& vRet) const;
|
||||
void GetAvailSkins(VCString& vRet) const;
|
||||
CString GetSkinName();
|
||||
|
||||
CString GetRequestCookie(const CString& sKey);
|
||||
|
||||
@@ -724,15 +724,15 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
vector<CFile> vDirs;
|
||||
vector<CString> vDirs;
|
||||
WebSock.GetAvailSkins(vDirs);
|
||||
|
||||
for (unsigned int d = 0; d < vDirs.size(); d++) {
|
||||
const CFile& SubDir = vDirs[d];
|
||||
const CString& SubDir = vDirs[d];
|
||||
CTemplate& l = Tmpl.AddRow("SkinLoop");
|
||||
l["Name"] = SubDir.GetShortName();
|
||||
l["Name"] = SubDir;
|
||||
|
||||
if (pUser && SubDir.GetShortName() == pUser->GetSkinName()) {
|
||||
if (pUser && SubDir == pUser->GetSkinName()) {
|
||||
l["Checked"] = "true";
|
||||
}
|
||||
}
|
||||
@@ -1019,15 +1019,15 @@ public:
|
||||
#endif
|
||||
}
|
||||
|
||||
vector<CFile> vDirs;
|
||||
vector<CString> vDirs;
|
||||
WebSock.GetAvailSkins(vDirs);
|
||||
|
||||
for (unsigned int d = 0; d < vDirs.size(); d++) {
|
||||
const CFile& SubDir = vDirs[d];
|
||||
const CString& SubDir = vDirs[d];
|
||||
CTemplate& l = Tmpl.AddRow("SkinLoop");
|
||||
l["Name"] = SubDir.GetShortName();
|
||||
l["Name"] = SubDir;
|
||||
|
||||
if (SubDir.GetShortName() == CZNC::Get().GetSkinName()) {
|
||||
if (SubDir == CZNC::Get().GetSkinName()) {
|
||||
l["Checked"] = "true";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user