version 0.3.23
[fms.git] / src / http / fmshttprequesthandlerfactory.cpp
index 6adb09f..c4606c0 100644 (file)
 #include "../../include/http/pages/peertrustpage.h"\r
 #include "../../include/http/pages/versioninfopage.h"\r
 #include "../../include/http/pages/recentlyaddedpage.h"\r
+#include "../../include/http/pages/browseboardspage.h"\r
+#include "../../include/http/pages/browsemessagespage.h"\r
+#include "../../include/http/pages/forummainpage.h"\r
+#include "../../include/http/pages/showimagepage.h"\r
+#include "../../include/http/pages/forumthreadspage.h"\r
+#include "../../include/http/pages/forumviewthreadpage.h"\r
+#include "../../include/http/pages/forumcreatepostpage.h"\r
 \r
 FMSHTTPRequestHandlerFactory::FMSHTTPRequestHandlerFactory()\r
 {\r
@@ -39,6 +46,24 @@ FMSHTTPRequestHandlerFactory::FMSHTTPRequestHandlerFactory()
                m_log->error("HTTPThread::HTTPThread could not open template.htm");\r
        }\r
 \r
+       // load forum template\r
+       std::string forumtemplate="<html><head></head><body><a href=\"home.htm\">Home</a><br><h1>Could not open forum-template.htm!  Place in program directory and restart!</h1><br>[CONTENT]</body></html>";\r
+       infile=fopen("forum-template.htm","rb");\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
+               forumtemplate.assign(data.begin(),data.end());\r
+       }\r
+       else\r
+       {\r
+               m_log->error("HTTPThread::HTTPThread could not open forum-template.htm");\r
+       }\r
+\r
        // push back page handlers\r
        m_pagehandlers.push_back(new OptionsPage(templatestr));\r
        m_pagehandlers.push_back(new CreateIdentityPage(templatestr));\r
@@ -56,6 +81,13 @@ FMSHTTPRequestHandlerFactory::FMSHTTPRequestHandlerFactory()
        m_pagehandlers.push_back(new PeerTrustPage(templatestr));\r
        m_pagehandlers.push_back(new VersionInfoPage(templatestr));\r
        m_pagehandlers.push_back(new RecentlyAddedPage(templatestr));\r
+       m_pagehandlers.push_back(new BrowseBoardsPage(templatestr));\r
+       m_pagehandlers.push_back(new BrowseMessagesPage(templatestr));\r
+       m_pagehandlers.push_back(new ShowImagePage());\r
+       m_pagehandlers.push_back(new ForumMainPage(forumtemplate));\r
+       m_pagehandlers.push_back(new ForumThreadsPage(forumtemplate));\r
+       m_pagehandlers.push_back(new ForumViewThreadPage(forumtemplate));\r
+       m_pagehandlers.push_back(new ForumCreatePostPage(forumtemplate));\r
        // homepage must be last - catch all page handler\r
        m_pagehandlers.push_back(new HomePage(templatestr));\r
 \r