X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fboardspage.cpp;h=43870cec605c50e6b56af4b06fd6c6d423e40a05;hb=dec33c63afafabf83c3039e916725cac6faef9b3;hp=f143d324eb4788f10169c51b85032bdc10f646ec;hpb=4430e7762844c66428b6f822288beb71b7f82b95;p=fms.git diff --git a/src/http/pages/boardspage.cpp b/src/http/pages/boardspage.cpp index f143d32..43870ce 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,8 +43,7 @@ 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()) { @@ -52,14 +53,20 @@ const std::string BoardsPage::GeneratePage(const std::string &method, const std: 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=="remove0messages") + { + 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") { int boardid; @@ -147,7 +154,7 @@ const std::string BoardsPage::GeneratePage(const std::string &method, const std: st.Finalize(); - sql="SELECT BoardID,BoardName,BoardDescription,SaveReceivedMessages FROM tblBoard WHERE BoardID NOT IN (SELECT BoardID FROM tblAdministrationBoard)"; + sql="SELECT BoardID,BoardName,BoardDescription,SaveReceivedMessages,AddedMethod FROM tblBoard WHERE BoardID NOT IN (SELECT BoardID FROM tblAdministrationBoard)"; if(boardsearch!="") { sql+=" AND (BoardName LIKE '%' || ? || '%' OR BoardDescription LIKE '%' || ? || '%')"; @@ -172,12 +179,18 @@ const std::string BoardsPage::GeneratePage(const std::string &method, const std: content+=""; content+=""; - content+="
"; + content+="
"; + content+="
Remove boards with 0 messages
"; + content+="
"; + content+=""; + + content+=""; + content+="
"; content+=""; - content+="
"; + content+="
"; content+=""; - content+="NameDescriptionSave Received Messages *"; + content+="NameDescriptionSave Received Messages *Added Method"; content+=""; while(st.RowReturned() && rownum"; content+=""; content+=""; - content+=""; + content+=""; content+=""; content+=""; content+=""+SanitizeOutput(addedmethod)+""; content+="\r\n"; st.Step(); rownum++; @@ -227,7 +243,7 @@ const std::string BoardsPage::GeneratePage(const std::string &method, const std: } if(startrow+rowsperpage
"; + content+="
"; content+=""; content+=""; content+="

"; content+="* If you uncheck this box, any new messages you download that are posted to this board will be discarded."; 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)