X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fidentityrequester.cpp;h=c0f6c8a74cddfafea36b4ecb73e46ba1ffc0afb3;hb=e773b0ecb8a35c67cde5b2e82bbebb05224f34d0;hp=93d65a8ef35c619f9142eb86d80c8438e845f8dc;hpb=befd91205eff729a182f66de15374a577a8718f7;p=fms.git diff --git a/src/freenet/identityrequester.cpp b/src/freenet/identityrequester.cpp index 93d65a8..c0f6c8a 100644 --- a/src/freenet/identityrequester.cpp +++ b/src/freenet/identityrequester.cpp @@ -28,6 +28,7 @@ const bool IdentityRequester::HandleAllData(FCPMessage &message) IdentityXML xml; long identityid; long index; + std::string name=""; now.SetToGMTime(); StringFunctions::Split(message["Identifier"],"|",idparts); @@ -55,8 +56,13 @@ const bool IdentityRequester::HandleAllData(FCPMessage &message) if(xml.ParseXML(std::string(data.begin(),data.end()))==true) { - st=m_db->Prepare("UPDATE tblIdentity SET Name=?, SingleUse=?, LastSeen=?, PublishTrustList=?, PublishBoardList=? WHERE IdentityID=?"); - st.Bind(0,xml.GetName()); + st=m_db->Prepare("UPDATE tblIdentity SET Name=?, SingleUse=?, LastSeen=?, PublishTrustList=?, PublishBoardList=?, FreesiteEdition=? WHERE IdentityID=?"); + name=xml.GetName(); + if(name.size()>40) + { + name.erase(40); + } + st.Bind(0,name); if(xml.GetSingleUse()==true) { st.Bind(1,"true"); @@ -82,7 +88,15 @@ const bool IdentityRequester::HandleAllData(FCPMessage &message) { st.Bind(4,"false"); } - st.Bind(5,identityid); + if(xml.GetFreesiteEdition()>=0) + { + st.Bind(5,xml.GetFreesiteEdition()); + } + else + { + st.Bind(5); + } + st.Bind(6,identityid); st.Step(); st.Finalize(); @@ -171,10 +185,12 @@ void IdentityRequester::PopulateIDList() int id; date.SetToGMTime(); - date.Add(0,0,-1); + date.SetHour(0); + date.SetMinute(0); + date.SetSecond(0); - // select identities we want to query (haven't seen in last hour) - sort by their trust level (descending) with secondary sort on how long ago we saw them (ascending) - SQLite3DB::Statement st=m_db->Prepare("SELECT IdentityID FROM tblIdentity WHERE PublicKey IS NOT NULL AND PublicKey <> '' AND (LastSeen IS NULL OR LastSeen<='"+date.Format("%Y-%m-%d %H:%M:%S")+"') ORDER BY LocalMessageTrust+LocalTrustListTrust DESC, LastSeen;"); + // select identities we want to query (haven't seen yet today) - sort by their trust level (descending) with secondary sort on how long ago we saw them (ascending) + SQLite3DB::Statement st=m_db->Prepare("SELECT IdentityID FROM tblIdentity WHERE PublicKey IS NOT NULL AND PublicKey <> '' AND (LastSeen IS NULL OR LastSeen<'"+date.Format("%Y-%m-%d %H:%M:%S")+"') ORDER BY LocalMessageTrust+LocalTrustListTrust DESC, LastSeen;"); st.Step(); m_ids.clear();