X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fboardlistrequester.cpp;h=9fbc6b216c819352d0e7485361a037db034081c7;hb=107bd97018964d48425306026d06afd038e84db0;hp=099242dfc96008814010b17bd52adfd6800a9f6a;hpb=5c0453c8697cfaa843dd7f799e5404733ee56e13;p=fms.git diff --git a/src/freenet/boardlistrequester.cpp b/src/freenet/boardlistrequester.cpp index 099242d..9fbc6b2 100644 --- a/src/freenet/boardlistrequester.cpp +++ b/src/freenet/boardlistrequester.cpp @@ -15,6 +15,36 @@ BoardListRequester::BoardListRequester(FCPv2 *fcp):IIndexRequester(fcp) Initialize(); } +std::string BoardListRequester::GetIdentityName(const long identityid) +{ + SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey FROM tblIdentity WHERE IdentityID=?;"); + st.Bind(0,identityid); + st.Step(); + if(st.RowReturned()) + { + std::vector keyparts; + std::string key; + std::string name; + st.ResultText(0,name); + st.ResultText(1,key); + + StringFunctions::SplitMultiple(key,"@,",keyparts); + + if(keyparts.size()>1) + { + return name+"@"+keyparts[1]; + } + else + { + return name+"@invalidpublickey"; + } + } + else + { + return ""; + } +} + const bool BoardListRequester::HandleAllData(FCPMessage &message) { DateTime now; @@ -25,6 +55,7 @@ const bool BoardListRequester::HandleAllData(FCPMessage &message) BoardListXML xml; long identityid; long index; + std::string identityname=""; now.SetToGMTime(); StringFunctions::Split(message["Identifier"],"|",idparts); @@ -32,6 +63,8 @@ const bool BoardListRequester::HandleAllData(FCPMessage &message) StringFunctions::Convert(idparts[1],identityid); StringFunctions::Convert(idparts[2],index); + identityname=GetIdentityName(identityid); + // wait for all data to be received from connection while(m_fcp->Connected() && m_fcp->ReceiveBufferSize()Prepare("SELECT BoardID,BoardName,BoardDescription FROM tblBoard WHERE BoardName=?;"); - SQLite3DB::Statement ins=m_db->Prepare("INSERT INTO tblBoard(BoardName,BoardDescription,DateAdded,SaveReceivedMessages) VALUES(?,?,?,?);"); + SQLite3DB::Statement ins=m_db->Prepare("INSERT INTO tblBoard(BoardName,BoardDescription,DateAdded,SaveReceivedMessages,AddedMethod) VALUES(?,?,?,?,?);"); SQLite3DB::Statement upd=m_db->Prepare("UPDATE tblBoard SET BoardDescription=? WHERE BoardID=?;"); for(long i=0; i