X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fboardspage.cpp;h=397aefac09470b2af4bd2598d9aec268e48e50fb;hb=221236a4d3aac4144529d418ce368db5c98facb0;hp=8d10aa64586b9887e71f96d62d1af6d9259e4973;hpb=ee580d19b7920904587e18d72a3465d52eab6204;p=fms.git diff --git a/src/http/pages/boardspage.cpp b/src/http/pages/boardspage.cpp index 8d10aa6..397aefa 100644 --- a/src/http/pages/boardspage.cpp +++ b/src/http/pages/boardspage.cpp @@ -1,6 +1,8 @@ #include "../../../include/http/pages/boardspage.h" #include "../../../include/stringfunctions.h" -#include "../../../include/datetime.h" + +#include +#include #ifdef XMEM #include @@ -41,26 +43,31 @@ const std::string BoardsPage::GeneratePage(const std::string &method, const std: std::string startrowstr="0"; std::string boardsearch=""; std::string sql=""; - DateTime now; - now.SetToGMTime(); + Poco::DateTime now; if(queryvars.find("formaction")!=queryvars.end()) { - if((*queryvars.find("formaction")).second=="addboard" && queryvars.find("boardname")!=queryvars.end() && queryvars.find("boarddescription")!=queryvars.end()) + if((*queryvars.find("formaction")).second=="addboard" && queryvars.find("boardname")!=queryvars.end() && queryvars.find("boarddescription")!=queryvars.end() && ValidateFormPassword(queryvars)) { std::string boardname=""; std::string boarddescription=""; boardname=(*queryvars.find("boardname")).second; + StringFunctions::LowerCase(boardname,boardname); boarddescription=(*queryvars.find("boarddescription")).second; - SQLite3DB::Statement addst=m_db->Prepare("INSERT INTO tblBoard(BoardName,BoardDescription,DateAdded) VALUES(?,?,?);"); + SQLite3DB::Statement addst=m_db->Prepare("INSERT INTO tblBoard(BoardName,BoardDescription,DateAdded,AddedMethod) VALUES(?,?,?,?);"); addst.Bind(0,boardname); addst.Bind(1,boarddescription); - addst.Bind(2,now.Format("%Y-%m-%d %H:%M:%S")); + addst.Bind(2,Poco::DateTimeFormatter::format(now,"%Y-%m-%d %H:%M:%S")); + addst.Bind(3,"Added manually"); addst.Step(); } - if((*queryvars.find("formaction")).second=="update") + if((*queryvars.find("formaction")).second=="remove0messages" && ValidateFormPassword(queryvars)) + { + m_db->Execute("DELETE FROM tblBoard WHERE BoardID IN (SELECT BoardID FROM vwBoardStats WHERE MessageCount=0 AND BoardID NOT IN (SELECT BoardID FROM tblAdministrationBoard));"); + } + if((*queryvars.find("formaction")).second=="update" && ValidateFormPassword(queryvars)) { int boardid; std::vector boardids; @@ -68,23 +75,29 @@ const std::string BoardsPage::GeneratePage(const std::string &method, const std: std::vector descriptions; std::vector oldsavemessages; std::vector savemessages; + std::vector oldforums; + std::vector forums; CreateArgArray(queryvars,"boardid",boardids); CreateArgArray(queryvars,"oldboarddescription",olddescriptions); CreateArgArray(queryvars,"boarddescription",descriptions); CreateArgArray(queryvars,"oldsavereceivedmessages",oldsavemessages); CreateArgArray(queryvars,"savereceivedmessages",savemessages); + CreateArgArray(queryvars,"oldforum",oldforums); + CreateArgArray(queryvars,"forum",forums); olddescriptions.resize(boardids.size(),""); descriptions.resize(boardids.size(),""); oldsavemessages.resize(boardids.size(),""); savemessages.resize(boardids.size(),""); + oldforums.resize(boardids.size(),""); + forums.resize(boardids.size(),""); - SQLite3DB::Statement updatest=m_db->Prepare("UPDATE tblBoard SET BoardDescription=?, SaveReceivedMessages=? WHERE BoardID=?;"); + SQLite3DB::Statement updatest=m_db->Prepare("UPDATE tblBoard SET BoardDescription=?, SaveReceivedMessages=?, Forum=? WHERE BoardID=?;"); for(int i=0; i"; content+=""; content+="
"; - content+="
"; + content+="
"+CreateFormPassword()+"
"; content+="
"; content+=""; content+=""; - content+="
"; + content+="
"; + content+="
"+CreateFormPassword()+"Remove boards with 0 messages
"; + content+="
"; content+=""; - content+="
"; content+=""; - content+="NameDescriptionSave Received Messages"; + content+=""+CreateFormPassword()+"
"; + content+=""; + + content+="
"+CreateFormPassword()+""; + content+=""; + content+="NameDescriptionSave Received Messages *ForumAdded Method"; content+=""; while(st.RowReturned() && rownum"; content+=""; content+=""; - content+=""; + content+=""; content+=""; content+=""; content+=""; + content+=""; content+="\r\n"; st.Step(); rownum++; @@ -222,27 +263,30 @@ const std::string BoardsPage::GeneratePage(const std::string &method, const std: if(startrow>0) { StringFunctions::Convert(startrow-rowsperpage,tempstr); - content+="<-- Previous Page"; - cols+=1; + content+="<-- Previous Page"; + cols+=2; } if(startrow+rowsperpageNext Page -->"; + content+="Next Page -->"; } content+=""; } content+=""; - content+="
"; + content+="
"; content+=""; content+=""; + content+="

"; + content+="* If you uncheck this box, any new messages you download that are posted to this board will be discarded. When multiple local identities are used, it is best not to discard messages from any boards, as identifying which identities are the same person is much easier when their message lists are missing messages from the same boards."; + content+="

"; - return "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"+StringFunctions::Replace(m_template,"[CONTENT]",content); + return StringFunctions::Replace(m_template,"[CONTENT]",content); } const bool BoardsPage::WillHandleURI(const std::string &uri)