version 0.2.15
[fms.git] / src / freenet / messagerequester.cpp
index 836d402..70a5dba 100644 (file)
@@ -367,6 +367,7 @@ void MessageRequester::Initialize()
        {\r
                m_log->WriteLog(LogFile::LOGLEVEL_WARNING,"Option MaxBoardsPerMessage 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
@@ -376,6 +377,17 @@ void MessageRequester::Initialize()
        {\r
                m_savemessagesfromnewboards=false;\r
        }\r
+\r
+       Option::Instance()->Get("LocalTrustOverridesPeerTrust",tempval);\r
+       if(tempval=="true")\r
+       {\r
+               m_localtrustoverrides=true;\r
+       }\r
+       else\r
+       {\r
+               m_localtrustoverrides=false;\r
+       }\r
+\r
 }\r
 \r
 void MessageRequester::PopulateIDList()\r
@@ -392,9 +404,16 @@ void MessageRequester::PopulateIDList()
 \r
        sql="SELECT tblIdentity.IdentityID,Day,RequestIndex ";\r
        sql+="FROM tblMessageRequests INNER JOIN tblIdentity ON tblMessageRequests.IdentityID=tblIdentity.IdentityID ";\r
-       sql+="WHERE (tblIdentity.LocalMessageTrust IS NULL OR tblIdentity.LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust')) ";\r
-       sql+="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+="WHERE FromMessageList='true' AND Found='false' AND Day>='"+date.Format("%Y-%m-%d")+"' ";\r
+       if(m_localtrustoverrides==false)\r
+       {\r
+               sql+="AND (tblIdentity.LocalMessageTrust IS NULL OR tblIdentity.LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust')) ";\r
+               sql+="AND (tblIdentity.PeerMessageTrust IS NULL OR tblIdentity.PeerMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinPeerMessageTrust')) ";\r
+       }\r
+       else\r
+       {\r
+               sql+="AND (tblIdentity.LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust') OR (tblIdentity.LocalMessageTrust IS NULL AND (tblIdentity.PeerMessageTrust IS NULL OR tblIdentity.PeerMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinPeerMessageTrust')))) ";\r
+       }\r
        sql+="AND tblIdentity.Name <> '' ";\r
        sql+=";";\r
 \r