version 0.1.14
[fms.git] / src / freenet / messagelistinserter.cpp
index b608145..6fda244 100644 (file)
@@ -165,6 +165,40 @@ void MessageListInserter::StartInsert(const long &localidentityid)
        }\r
        st.Finalize();\r
 \r
+\r
+       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;");\r
+       SQLite3DB::Statement st2=m_db->Prepare("SELECT BoardName FROM tblBoard INNER JOIN tblMessageBoard ON tblBoard.BoardID=tblMessageBoard.BoardID WHERE tblMessageBoard.MessageID=?;");\r
+       st.Step();\r
+       while(st.RowReturned())\r
+       {\r
+               std::string day;\r
+               int index;\r
+               std::string publickey;\r
+               std::vector<std::string> boardlist;\r
+               int messageid;\r
+               \r
+               st.ResultText(0,day);\r
+               st.ResultInt(1,index);\r
+               st.ResultText(2,publickey);\r
+               st.ResultInt(3,messageid);\r
+\r
+               st2.Bind(0,messageid);\r
+               st2.Step();\r
+               while(st2.RowReturned())\r
+               {\r
+                       std::string boardname="";\r
+                       st2.ResultText(0,boardname);\r
+                       StringFunctions::LowerCase(boardname,boardname);\r
+                       boardlist.push_back(boardname);\r
+                       st2.Step();\r
+               }\r
+               st2.Reset();\r
+\r
+               mlxml.AddExternalMessage(publickey,day,index,boardlist);\r
+\r
+               st.Step();\r
+       }\r
+\r
        // get last inserted messagelist index for this day\r
        index=0;\r
        st=m_db->Prepare("SELECT MAX(InsertIndex) FROM tblMessageListInserts WHERE LocalIdentityID=? AND Day=?;");\r