version 0.2.10
[fms.git] / src / freenet / identityrequester.cpp
index 93d65a8..c0f6c8a 100644 (file)
@@ -28,6 +28,7 @@ const bool IdentityRequester::HandleAllData(FCPMessage &message)
        IdentityXML xml;\r
        long identityid;\r
        long index;\r
+       std::string name="";\r
 \r
        now.SetToGMTime();\r
        StringFunctions::Split(message["Identifier"],"|",idparts);\r
@@ -55,8 +56,13 @@ const bool IdentityRequester::HandleAllData(FCPMessage &message)
        if(xml.ParseXML(std::string(data.begin(),data.end()))==true)\r
        {\r
 \r
-               st=m_db->Prepare("UPDATE tblIdentity SET Name=?, SingleUse=?, LastSeen=?, PublishTrustList=?, PublishBoardList=? WHERE IdentityID=?");\r
-               st.Bind(0,xml.GetName());\r
+               st=m_db->Prepare("UPDATE tblIdentity SET Name=?, SingleUse=?, LastSeen=?, PublishTrustList=?, PublishBoardList=?, FreesiteEdition=? WHERE IdentityID=?");\r
+               name=xml.GetName();\r
+               if(name.size()>40)\r
+               {\r
+                       name.erase(40);\r
+               }\r
+               st.Bind(0,name);\r
                if(xml.GetSingleUse()==true)\r
                {\r
                        st.Bind(1,"true");\r
@@ -82,7 +88,15 @@ const bool IdentityRequester::HandleAllData(FCPMessage &message)
                {\r
                        st.Bind(4,"false");\r
                }\r
-               st.Bind(5,identityid);\r
+               if(xml.GetFreesiteEdition()>=0)\r
+               {\r
+                       st.Bind(5,xml.GetFreesiteEdition());\r
+               }\r
+               else\r
+               {\r
+                       st.Bind(5);\r
+               }\r
+               st.Bind(6,identityid);\r
                st.Step();\r
                st.Finalize();\r
 \r
@@ -171,10 +185,12 @@ void IdentityRequester::PopulateIDList()
        int id;\r
 \r
        date.SetToGMTime();\r
-       date.Add(0,0,-1);\r
+       date.SetHour(0);\r
+       date.SetMinute(0);\r
+       date.SetSecond(0);\r
 \r
-       // 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)\r
-       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;");\r
+       // 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)\r
+       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;");\r
        st.Step();\r
 \r
        m_ids.clear();\r