X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fbrowseboardspage.cpp;fp=src%2Fhttp%2Fpages%2Fbrowseboardspage.cpp;h=0000000000000000000000000000000000000000;hp=e759cd66254e6fedfb28380e4abeac4eeabd9c80;hb=f2545574af789b63fc655decfe31a3d9f1b30504;hpb=221236a4d3aac4144529d418ce368db5c98facb0 diff --git a/src/http/pages/browseboardspage.cpp b/src/http/pages/browseboardspage.cpp deleted file mode 100644 index e759cd6..0000000 --- a/src/http/pages/browseboardspage.cpp +++ /dev/null @@ -1,212 +0,0 @@ -#include "../../../include/http/pages/browseboardspage.h" -#include "../../../include/stringfunctions.h" - -#ifdef XMEM - #include -#endif - -const std::string BrowseBoardsPage::BuildQueryString(const long startrow, const std::string &boardsearch, const std::string &sortby, const std::string &sortorder) -{ - std::string returnval=""; - std::string tempval=""; - - if(startrow>=0) - { - StringFunctions::Convert(startrow,tempval); - returnval+="startrow="+tempval; - } - - if(boardsearch!="") - { - if(returnval!="") - { - returnval+="&"; - } - returnval+="boardsearch="+boardsearch; - } - - if(sortby!="") - { - if(returnval!="") - { - returnval+="&"; - } - returnval+="sortby="+sortby; - if(sortorder=="ASC" || sortorder=="DESC") - { - if(returnval!="") - { - returnval+="&"; - } - returnval+="sortorder="+sortorder; - } - else - { - if(returnval!="") - { - returnval+="&"; - } - returnval+="sortorder=ASC"; - } - } - - return returnval; - -} - -const std::string BrowseBoardsPage::GeneratePage(const std::string &method, const std::map &queryvars) -{ - std::string content=""; - std::string sql=""; - std::string boardname=""; - int rowsperpage=25; - std::string rowsperpagestr="26"; // 1 more than rowsperpage so we know if there are more boards - long startrow=0; - std::string startrowstr="0"; - int messagecount=0; - std::string messagecountstr="0"; - std::string lastdate=""; - int count=0; - std::string boardsearch=""; - std::string sortby=""; - std::string sortorder=""; - - // if startrow is specified - if(queryvars.find("startrow")!=queryvars.end()) - { - startrowstr=(*queryvars.find("startrow")).second; - // convert back and forth, just in case a number wasn't passed in startrow - StringFunctions::Convert(startrowstr,startrow); - if(startrow<0) - { - startrow=0; - } - StringFunctions::Convert(startrow,startrowstr); - } - if(queryvars.find("boardsearch")!=queryvars.end()) - { - boardsearch=(*queryvars.find("boardsearch")).second; - } - if(queryvars.find("sortby")!=queryvars.end() && queryvars.find("sortorder")!=queryvars.end()) - { - sortby=(*queryvars.find("sortby")).second; - sortorder=(*queryvars.find("sortorder")).second; - if(sortby!="BoardName" && sortby!="MessageCount" && sortby!="LastMessage") - { - sortby="BoardName"; - } - if(sortorder!="ASC" && sortorder!="DESC") - { - sortorder="ASC"; - } - } - else - { - sortby="BoardName"; - sortorder="ASC"; - } - - content="

Browse Messages

"; - content+="
"; - content+=""; - content+=""; - content+="
"; - - content+=""; - content+=""; - content+=""; - content+=""; - content+=""; - content+=""; - - sql="SELECT tblBoard.BoardID, tblBoard.BoardName, COUNT(tblMessageBoard.MessageID) AS 'MessageCount', MAX(tblMessage.MessageDate || ' ' || tblMessage.MessageTime) AS 'LastMessage'"; - sql+="FROM tblBoard LEFT JOIN tblMessageBoard ON tblBoard.BoardID=tblMessageBoard.BoardID "; - sql+="LEFT JOIN tblMessage ON tblMessageBoard.MessageID=tblMessage.MessageID "; - sql+="WHERE (tblMessageBoard.MessageID>=0 OR tblMessageBoard.MessageID IS NULL) "; - if(boardsearch!="") - { - sql+="AND tblBoard.BoardName LIKE '%' || ? || '%' "; - } - sql+="GROUP BY tblBoard.BoardID "; - sql+="ORDER BY "+sortby+" COLLATE NOCASE "+sortorder+" "; - sql+="LIMIT "+startrowstr+","+rowsperpagestr+";"; - - SQLite3DB::Statement st=m_db->Prepare(sql); - if(boardsearch!="") - { - st.Bind(0,boardsearch); - } - - st.Step(); - while(st.RowReturned() && count++"+SanitizeOutput(boardname)+""; - content+=""; - content+=""; - content+="\r\n"; - st.Step(); - } - - if(startrow>0 || st.RowReturned()) - { - content+=""; - - if(startrow>0) - { - int thisstartrow=startrow-rowsperpage; - if(thisstartrow<0) - { - thisstartrow=0; - } - content+=""; - } - else - { - content+=""; - } - - content+=""; - - if(st.RowReturned()) - { - int thisstartrow=startrow+rowsperpage; - content+=""; - } - - content+=""; - } - content+="
BoardMessage CountLast Message
"+SanitizeOutput(messagecountstr)+""+SanitizeOutput(lastdate)+"
<---->
"; - - return StringFunctions::Replace(m_template,"[CONTENT]",content); -} - -const std::string BrowseBoardsPage::ReverseSort(const std::string &sortname, const std::string ¤tsortby, const std::string ¤tsortorder) -{ - if(sortname==currentsortby) - { - if(currentsortorder=="ASC") - { - return "DESC"; - } - else - { - return "ASC"; - } - } - else - { - return currentsortorder; - } -}