Initialize();\r
}\r
\r
+std::string BoardListRequester::GetIdentityName(const long identityid)\r
+{\r
+ SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey FROM tblIdentity WHERE IdentityID=?;");\r
+ st.Bind(0,identityid);\r
+ st.Step();\r
+ if(st.RowReturned())\r
+ {\r
+ std::vector<std::string> keyparts;\r
+ std::string key;\r
+ std::string name;\r
+ st.ResultText(0,name);\r
+ st.ResultText(1,key);\r
+ \r
+ StringFunctions::SplitMultiple(key,"@,",keyparts);\r
+ \r
+ if(keyparts.size()>1)\r
+ {\r
+ return name+"@"+keyparts[1];\r
+ }\r
+ else\r
+ {\r
+ return name+"@invalidpublickey";\r
+ }\r
+ }\r
+ else\r
+ {\r
+ return "";\r
+ }\r
+}\r
+\r
const bool BoardListRequester::HandleAllData(FCPMessage &message)\r
{ \r
DateTime now;\r
BoardListXML xml;\r
long identityid;\r
long index;\r
+ std::string identityname="";\r
\r
now.SetToGMTime();\r
StringFunctions::Split(message["Identifier"],"|",idparts);\r
StringFunctions::Convert(idparts[1],identityid);\r
StringFunctions::Convert(idparts[2],index);\r
\r
+ identityname=GetIdentityName(identityid);\r
+\r
// wait for all data to be received from connection\r
while(m_fcp->Connected() && m_fcp->ReceiveBufferSize()<datalength)\r
{\r
{\r
\r
SQLite3DB::Statement brd=m_db->Prepare("SELECT BoardID,BoardName,BoardDescription FROM tblBoard WHERE BoardName=?;");\r
- SQLite3DB::Statement ins=m_db->Prepare("INSERT INTO tblBoard(BoardName,BoardDescription,DateAdded) VALUES(?,?,?);");\r
+ SQLite3DB::Statement ins=m_db->Prepare("INSERT INTO tblBoard(BoardName,BoardDescription,DateAdded,SaveReceivedMessages,AddedMethod) VALUES(?,?,?,?,?);");\r
SQLite3DB::Statement upd=m_db->Prepare("UPDATE tblBoard SET BoardDescription=? WHERE BoardID=?;");\r
for(long i=0; i<xml.GetCount(); i++)\r
{\r
ins.Bind(0,xml.GetName(i));\r
ins.Bind(1,xml.GetDescription(i));\r
ins.Bind(2,now.Format("%Y-%m-%d %H:%M:%S"));\r
+ if(m_savemessagesfromnewboards)\r
+ {\r
+ ins.Bind(3,"true");\r
+ }\r
+ else\r
+ {\r
+ ins.Bind(3,"false");\r
+ }\r
+ ins.Bind(4,"Board List of "+identityname);\r
ins.Step();\r
ins.Reset();\r
}\r
{\r
m_log->WriteLog(LogFile::LOGLEVEL_WARNING,"Option MaxBoardListRequests is currently set at "+tempval+". This value might be incorrectly configured.");\r
}\r
+\r
+ Option::Instance()->Get("SaveMessagesFromNewBoards",tempval);\r
+ if(tempval=="true")\r
+ {\r
+ m_savemessagesfromnewboards=true;\r
+ }\r
+ else\r
+ {\r
+ m_savemessagesfromnewboards=false;\r
+ }\r
+\r
}\r
\r
void BoardListRequester::PopulateIDList()\r