X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Ffreenet%2Fmessagerequester.cpp;h=f1429ab44b21b689bf0907f49ab46f69f3c83bb4;hp=fbd767cdb827c0b717d2ac4f5ee139b385f2fe9e;hb=59a5414ec47a2932a7802fcd1d98c4d80166564f;hpb=4e96d123460d6363cf7274e36bd9357768eb86ad diff --git a/src/freenet/messagerequester.cpp b/src/freenet/messagerequester.cpp index fbd767c..f1429ab 100644 --- a/src/freenet/messagerequester.cpp +++ b/src/freenet/messagerequester.cpp @@ -11,12 +11,12 @@ #include #endif -MessageRequester::MessageRequester() +MessageRequester::MessageRequester(SQLite3DB::DB *db):IIndexRequester(db) { Initialize(); } -MessageRequester::MessageRequester(FCPv2::Connection *fcp):IIndexRequester(fcp) +MessageRequester::MessageRequester(SQLite3DB::DB *db, FCPv2::Connection *fcp):IIndexRequester(db,fcp) { Initialize(); } @@ -224,6 +224,8 @@ const bool MessageRequester::HandleAllData(FCPv2::Message &message) nntpbody+="\r\n"; } + m_db->Execute("BEGIN;"); + st=m_db->Prepare("INSERT INTO tblMessage(IdentityID,FromName,MessageDate,MessageTime,Subject,MessageUUID,ReplyBoardID,Body,MessageIndex) VALUES(?,?,?,?,?,?,?,?,?);"); st.Bind(0,identityid); st.Bind(1,GetIdentityName(identityid)); @@ -272,6 +274,8 @@ const bool MessageRequester::HandleAllData(FCPv2::Message &message) //m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"MessageRequester::HandleAddData could not insert message into database. "+message["Identifier"]); } + m_db->Execute("COMMIT;"); + } // if validmessage } else @@ -319,10 +323,11 @@ const bool MessageRequester::HandleGetFailed(FCPv2::Message &message) void MessageRequester::Initialize() { m_fcpuniquename="MessageRequester"; - std::string tempval; - + std::string tempval(""); m_maxrequests=0; - Option::Instance()->GetInt("MaxMessageRequests",m_maxrequests); + Option option(m_db); + + option.GetInt("MaxMessageRequests",m_maxrequests); if(m_maxrequests<1) { m_maxrequests=1; @@ -334,7 +339,7 @@ void MessageRequester::Initialize() } m_maxdaysbackward=0; - Option::Instance()->GetInt("MessageDownloadMaxDaysBackward",m_maxdaysbackward); + option.GetInt("MessageDownloadMaxDaysBackward",m_maxdaysbackward); if(m_maxdaysbackward<0) { m_maxdaysbackward=0; @@ -346,7 +351,7 @@ void MessageRequester::Initialize() } m_maxpeermessages=0; - Option::Instance()->GetInt("MaxPeerMessagesPerDay",m_maxpeermessages); + option.GetInt("MaxPeerMessagesPerDay",m_maxpeermessages); if(m_maxpeermessages<1) { m_maxpeermessages=1; @@ -358,7 +363,7 @@ void MessageRequester::Initialize() } m_maxboardspermessage=0; - Option::Instance()->GetInt("MaxBoardsPerMessage",m_maxboardspermessage); + option.GetInt("MaxBoardsPerMessage",m_maxboardspermessage); if(m_maxboardspermessage<1) { m_maxboardspermessage=1; @@ -369,7 +374,7 @@ void MessageRequester::Initialize() m_log->warning("Option MaxBoardsPerMessage is currently set at "+tempval+". This value might be incorrectly configured."); } - Option::Instance()->Get("SaveMessagesFromNewBoards",tempval); + option.Get("SaveMessagesFromNewBoards",tempval); if(tempval=="true") { m_savemessagesfromnewboards=true; @@ -379,7 +384,7 @@ void MessageRequester::Initialize() m_savemessagesfromnewboards=false; } - Option::Instance()->Get("LocalTrustOverridesPeerTrust",tempval); + option.Get("LocalTrustOverridesPeerTrust",tempval); if(tempval=="true") { m_localtrustoverrides=true;