version 0.2.0
[fms.git] / src / message.cpp
index d8adc87..0004bf1 100644 (file)
@@ -146,7 +146,7 @@ void Message::HandleAdministrationMessage()
                                        }\r
                                        else\r
                                        {\r
-                                               origmessagetrust=50;\r
+                                               origmessagetrust=m_minlocalmessagetrust;\r
                                        }\r
                                        if(origmess.ResultNull(3)==false)\r
                                        {\r
@@ -154,7 +154,7 @@ void Message::HandleAdministrationMessage()
                                        }\r
                                        else\r
                                        {\r
-                                               origtrustlisttrust=50;\r
+                                               origtrustlisttrust=m_minlocaltrustlisttrust;\r
                                        }\r
 \r
                                        origmessagetrust+=changemessagetrust;\r
@@ -242,7 +242,7 @@ void Message::HandleChangeTrust()
                        }\r
                        else\r
                        {\r
-                               localmessagetrust=50;\r
+                               localmessagetrust=m_minlocalmessagetrust;\r
                        }\r
 \r
                        localmessagetrust+=m_changemessagetrustonreply;\r
@@ -288,6 +288,12 @@ void Message::Initialize()
        {\r
                m_addnewpostfromidentities=false;\r
        }\r
+       tempval="50";\r
+       Option::Instance()->Get("MinLocalMessageTrust",tempval);\r
+       StringFunctions::Convert(tempval,m_minlocalmessagetrust);\r
+       tempval="51";\r
+       Option::Instance()->Get("MinLocalTrustListTrust",tempval);\r
+       StringFunctions::Convert(tempval,m_minlocaltrustlisttrust);\r
 }\r
 \r
 const bool Message::Load(const long messageid, const long boardid)\r
@@ -630,6 +636,7 @@ const bool Message::StartFreenetInsert()
        xml.SetDate(m_datetime.Format("%Y-%m-%d"));\r
        xml.SetTime(m_datetime.Format("%H:%M:%S"));\r
        \r
+       StripAdministrationBoards();\r
        for(std::vector<std::string>::iterator i=m_boards.begin(); i!=m_boards.end(); i++)\r
        {\r
                xml.AddBoard((*i));\r
@@ -678,3 +685,22 @@ const bool Message::StartFreenetInsert()
        return true;\r
 \r
 }\r
+\r
+void Message::StripAdministrationBoards()\r
+{\r
+       SQLite3DB::Statement st=m_db->Prepare("SELECT tblBoard.BoardID FROM tblBoard INNER JOIN tblAdministrationBoard ON tblBoard.BoardID=tblAdministrationBoard.BoardID WHERE BoardName=?;");\r
+       for(std::vector<std::string>::iterator i=m_boards.begin(); i!=m_boards.end(); )\r
+       {\r
+               st.Bind(0,(*i));\r
+               st.Step();\r
+               if(st.RowReturned())\r
+               {\r
+                       i=m_boards.erase(i);\r
+               }\r
+               else\r
+               {\r
+                       i++;\r
+               }\r
+               st.Reset();\r
+       }\r
+}\r