X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Ffreenet%2Fmessagelistinserter.cpp;h=6fda2443dbbc419a1982285ded48b7e32834d4a0;hp=b608145a7a597d232d4f487ab4b7c1d77b8c6247;hb=4430e7762844c66428b6f822288beb71b7f82b95;hpb=ee580d19b7920904587e18d72a3465d52eab6204 diff --git a/src/freenet/messagelistinserter.cpp b/src/freenet/messagelistinserter.cpp index b608145..6fda244 100644 --- a/src/freenet/messagelistinserter.cpp +++ b/src/freenet/messagelistinserter.cpp @@ -165,6 +165,40 @@ void MessageListInserter::StartInsert(const long &localidentityid) } st.Finalize(); + + st=m_db->Prepare("SELECT MessageDate, MessageIndex, PublicKey, MessageID FROM tblMessage INNER JOIN tblIdentity ON tblMessage.IdentityID=tblIdentity.IdentityID WHERE MessageIndex IS NOT NULL ORDER BY MessageDate DESC, MessageTime DESC LIMIT 100;"); + SQLite3DB::Statement st2=m_db->Prepare("SELECT BoardName FROM tblBoard INNER JOIN tblMessageBoard ON tblBoard.BoardID=tblMessageBoard.BoardID WHERE tblMessageBoard.MessageID=?;"); + st.Step(); + while(st.RowReturned()) + { + std::string day; + int index; + std::string publickey; + std::vector boardlist; + int messageid; + + st.ResultText(0,day); + st.ResultInt(1,index); + st.ResultText(2,publickey); + st.ResultInt(3,messageid); + + st2.Bind(0,messageid); + st2.Step(); + while(st2.RowReturned()) + { + std::string boardname=""; + st2.ResultText(0,boardname); + StringFunctions::LowerCase(boardname,boardname); + boardlist.push_back(boardname); + st2.Step(); + } + st2.Reset(); + + mlxml.AddExternalMessage(publickey,day,index,boardlist); + + st.Step(); + } + // get last inserted messagelist index for this day index=0; st=m_db->Prepare("SELECT MAX(InsertIndex) FROM tblMessageListInserts WHERE LocalIdentityID=? AND Day=?;");