Print an error page when templates can not be opened

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@645 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
prozacx
2006-02-11 23:06:00 +00:00
parent 1845b6f52c
commit c92e9055fb

View File

@@ -164,21 +164,24 @@ void CWebAdminSock::PrintPage(CString& sPageRet, const CString& sTmplName) {
sPageRet.clear();
// @todo possibly standardize the location of meta files such as these skins
// @todo give an option for changing the current skin from 'default'
CString sTmpl;
if (IsAdmin()) {
sTmpl = GetSkinDir();
}
sTmpl += sTmplName;
if (!m_Template.SetFile(GetSkinDir() + sTmplName)) {
CString sTmpl;
if (IsAdmin()) {
sTmpl = GetSkinDir();
}
sTmpl += sTmplName;
sPageRet = CHTTPSock::GetErrorPage(404, "Not Found", "The template for this page [" + sTmpl + "] was not found.");
return;
}
stringstream oStr;
m_Template.Print(oStr);
if (!m_Template.Print(oStr)) {
sPageRet = CHTTPSock::GetErrorPage(403, "Forbidden", "The template for this page [" + sTmpl + "] can not be opened.");
return;
}
sPageRet = oStr.str();
}