version 0.1.8
[fms.git] / src / freenet / messagerequester.cpp
index 7acb44d..c9908a5 100644 (file)
@@ -10,7 +10,7 @@ MessageRequester::MessageRequester()
        Initialize();\r
 }\r
 \r
-MessageRequester::MessageRequester(FCPv2 *fcp):IIndexRequester(fcp)\r
+MessageRequester::MessageRequester(FCPv2 *fcp):IIndexRequester<std::string>(fcp)\r
 {\r
        Initialize();\r
 }\r
@@ -209,7 +209,7 @@ void MessageRequester::Initialize()
 {\r
        m_fcpuniquename="MessageRequester";\r
        std::string tempval;\r
-       Option::instance()->Get("MaxMessageRequests",tempval);\r
+       Option::Instance()->Get("MaxMessageRequests",tempval);\r
        StringFunctions::Convert(tempval,m_maxrequests);\r
        if(m_maxrequests<1)\r
        {\r
@@ -220,7 +220,7 @@ void MessageRequester::Initialize()
        {\r
                m_log->WriteLog(LogFile::LOGLEVEL_WARNING,"Option MaxMessageRequests is currently set at "+tempval+".  This value might be incorrectly configured.");\r
        }\r
-       Option::instance()->Get("MessageDownloadMaxDaysBackward",tempval);\r
+       Option::Instance()->Get("MessageDownloadMaxDaysBackward",tempval);\r
        StringFunctions::Convert(tempval,m_maxdaysbackward);\r
        if(m_maxdaysbackward<0)\r
        {\r
@@ -239,13 +239,22 @@ void MessageRequester::PopulateIDList()
        std::string val1;\r
        std::string val2;\r
        std::string val3;\r
+       std::string sql;\r
 \r
        date.SetToGMTime();\r
        date.Add(0,0,0,-m_maxdaysbackward);\r
 \r
-       SQLite3DB::Statement st=m_db->Prepare("SELECT tblIdentity.IdentityID,Day,RequestIndex FROM tblMessageRequests INNER JOIN tblIdentity ON tblMessageRequests.IdentityID=tblIdentity.IdentityID WHERE tblIdentity.LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust') AND FromMessageList='true' AND Found='false' AND Day>='"+date.Format("%Y-%m-%d")+"';");\r
+       sql="SELECT tblIdentity.IdentityID,Day,RequestIndex ";\r
+       sql+="FROM tblMessageRequests INNER JOIN tblIdentity ON tblMessageRequests.IdentityID=tblIdentity.IdentityID ";\r
+       sql+="WHERE tblIdentity.LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust') AND FromMessageList='true' AND Found='false' AND Day>='"+date.Format("%Y-%m-%d")+"' ";\r
+       sql+="AND (tblIdentity.PeerMessageTrust IS NULL OR tblIdentity.PeerMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinPeerMessageTrust')) ";\r
+       sql+=";";\r
+\r
+       SQLite3DB::Statement st=m_db->Prepare(sql);\r
        st.Step();\r
 \r
+       m_ids.clear();\r
+\r
        while(st.RowReturned())\r
        {\r
                st.ResultText(0,val1);\r
@@ -296,4 +305,4 @@ void MessageRequester::StartRequest(const std::string &requestid)
        \r
        m_ids[requestid]=true;\r
 \r
-}
\ No newline at end of file
+}\r