#include "../../include/option.h"\r
#include "../../include/stringfunctions.h"\r
#include "../../include/http/pages/homepage.h"\r
+#include "../../include/http/pages/optionspage.h"\r
+#include "../../include/http/pages/showcaptchapage.h"\r
+#include "../../include/http/pages/createidentitypage.h"\r
+#include "../../include/http/pages/localidentitiespage.h"\r
+#include "../../include/http/pages/announceidentitypage.h"\r
+#include "../../include/http/pages/addpeerpage.h"\r
+#include "../../include/http/pages/peertrustpage.h"\r
\r
#include <iostream>\r
\r
\r
HTTPThread::HTTPThread()\r
{\r
-\r
+ std::string templatestr;\r
int port;\r
std::string portstr;\r
Option::Instance()->Get("HTTPListenPort",portstr);\r
StringFunctions::Convert(portstr,port);\r
\r
- m_pagehandlers.push_back(new HomePage());\r
+ // set template\r
+ templatestr="<html><head></head><body><a href=\"home.htm\">Home</a><br>[CONTENT]</body></html>";\r
+ FILE *infile=fopen("template.htm","r+b");\r
+ if(infile)\r
+ {\r
+ fseek(infile,0,SEEK_END);\r
+ long len=ftell(infile);\r
+ std::vector<char> data(len,0);\r
+ fseek(infile,0,SEEK_SET);\r
+ fread(&data[0],1,len,infile);\r
+ fclose(infile);\r
+ templatestr.assign(data.begin(),data.end());\r
+ }\r
+ else\r
+ {\r
+ m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"HTTPThread::HTTPThread could not open template.htm");\r
+ }\r
+\r
+ // push back page handlers\r
+ m_pagehandlers.push_back(new ShowCaptchaPage());\r
+ m_pagehandlers.push_back(new OptionsPage(templatestr));\r
+ m_pagehandlers.push_back(new LocalIdentitiesPage(templatestr));\r
+ m_pagehandlers.push_back(new CreateIdentityPage(templatestr));\r
+ m_pagehandlers.push_back(new AnnounceIdentityPage(templatestr));\r
+ m_pagehandlers.push_back(new AddPeerPage(templatestr));\r
+ m_pagehandlers.push_back(new PeerTrustPage(templatestr));\r
+ // homepage must be last - catch all page handler\r
+ m_pagehandlers.push_back(new HomePage(templatestr));\r
\r
m_ctx=0;\r
m_ctx=shttpd_init(NULL,"listen_ports",portstr.c_str(),NULL);\r