version 0.3.29
[fms.git] / src / http / fmshttprequesthandlerfactory.cpp
index 84952d2..146d8f4 100644 (file)
 #include "../../include/http/pages/forumthreadspage.h"\r
 #include "../../include/http/pages/forumviewthreadpage.h"\r
 #include "../../include/http/pages/forumcreatepostpage.h"\r
+//ROBERT CHANGE\r
+#include "../../include/http/pages/showpendingmessagepage.h"\r
 \r
-FMSHTTPRequestHandlerFactory::FMSHTTPRequestHandlerFactory()\r
+#include <cstdio>\r
+\r
+FMSHTTPRequestHandlerFactory::FMSHTTPRequestHandlerFactory(SQLite3DB::DB *db):IDatabase(db)\r
 {\r
+       Option option(m_db);\r
+\r
        // set template\r
        std::string templatestr="<html><head></head><body><a href=\"home.htm\">Home</a><br><h1>Could not open template.htm!  Place in program directory and restart!</h1><br>[CONTENT]</body></html>";\r
        FILE *infile=fopen("template.htm","rb");\r
@@ -63,34 +69,36 @@ FMSHTTPRequestHandlerFactory::FMSHTTPRequestHandlerFactory()
        }\r
 \r
        // push back page handlers\r
-       m_pagehandlers.push_back(new OptionsPage(templatestr));\r
-       m_pagehandlers.push_back(new CreateIdentityPage(templatestr));\r
-       m_pagehandlers.push_back(new LocalIdentitiesPage(templatestr));\r
-       m_pagehandlers.push_back(new ConfirmPage(templatestr));\r
-       m_pagehandlers.push_back(new ShowCaptchaPage());\r
-       m_pagehandlers.push_back(new AnnounceIdentityPage(templatestr));\r
-       m_pagehandlers.push_back(new ExecQueryPage(templatestr));\r
-       m_pagehandlers.push_back(new BoardsPage(templatestr));\r
-       m_pagehandlers.push_back(new InsertedFilesPage(templatestr));\r
-       m_pagehandlers.push_back(new AddPeerPage(templatestr));\r
-       m_pagehandlers.push_back(new PeerDetailsPage(templatestr));\r
-       m_pagehandlers.push_back(new ControlBoardPage(templatestr));\r
-       m_pagehandlers.push_back(new PeerMaintenancePage(templatestr));\r
-       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 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
+       m_pagehandlers.push_back(new OptionsPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new CreateIdentityPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new LocalIdentitiesPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new ConfirmPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new ShowCaptchaPage(m_db));\r
+       m_pagehandlers.push_back(new AnnounceIdentityPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new ExecQueryPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new BoardsPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new InsertedFilesPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new AddPeerPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new PeerDetailsPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new ControlBoardPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new PeerMaintenancePage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new PeerTrustPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new VersionInfoPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new RecentlyAddedPage(m_db,templatestr));\r
+       m_pagehandlers.push_back(new ShowImagePage(m_db));\r
+       m_pagehandlers.push_back(new ForumMainPage(m_db,forumtemplate));\r
+       m_pagehandlers.push_back(new ForumThreadsPage(m_db,forumtemplate));\r
+       m_pagehandlers.push_back(new ForumViewThreadPage(m_db,forumtemplate));\r
+       m_pagehandlers.push_back(new ForumCreatePostPage(m_db,forumtemplate));\r
+       //ROBERT CHANGE\r
+       m_pagehandlers.push_back(new ShowPendingMessagePage(m_db,templatestr));\r
        // homepage must be last - catch all page handler\r
-       m_pagehandlers.push_back(new HomePage(templatestr));\r
+       m_pagehandlers.push_back(new HomePage(m_db,templatestr));\r
 \r
        // initialize the access control list\r
        std::string aclstr;\r
        std::vector<std::string> aclparts;\r
-       Option::Instance()->Get("HTTPAccessControl",aclstr);\r
+       option.Get("HTTPAccessControl",aclstr);\r
        StringFunctions::Split(aclstr,",",aclparts);\r
        for(std::vector<std::string>::iterator i=aclparts.begin(); i!=aclparts.end(); i++)\r
        {\r