version 0.1.13
[fms.git] / src / message.cpp
index 41add10..d8adc87 100644 (file)
@@ -140,8 +140,22 @@ void Message::HandleAdministrationMessage()
                                {\r
                                        origmess.ResultInt(0,identityid);\r
                                        origmess.ResultText(1,identityname);\r
-                                       origmess.ResultInt(2,origmessagetrust);\r
-                                       origmess.ResultInt(3,origtrustlisttrust);\r
+                                       if(origmess.ResultNull(2)==false)\r
+                                       {\r
+                                               origmess.ResultInt(2,origmessagetrust);\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               origmessagetrust=50;\r
+                                       }\r
+                                       if(origmess.ResultNull(3)==false)\r
+                                       {\r
+                                               origmess.ResultInt(3,origtrustlisttrust);\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               origtrustlisttrust=50;\r
+                                       }\r
 \r
                                        origmessagetrust+=changemessagetrust;\r
                                        origtrustlisttrust+=changetrustlisttrust;\r
@@ -222,7 +236,14 @@ void Message::HandleChangeTrust()
                        int localmessagetrust=0;\r
 \r
                        st.ResultInt(0,identityid);\r
-                       st.ResultInt(1,localmessagetrust);\r
+                       if(st.ResultNull(1)==false)\r
+                       {\r
+                               st.ResultInt(1,localmessagetrust);\r
+                       }\r
+                       else\r
+                       {\r
+                               localmessagetrust=50;\r
+                       }\r
 \r
                        localmessagetrust+=m_changemessagetrustonreply;\r
                        if(localmessagetrust<0)\r
@@ -258,6 +279,15 @@ void Message::Initialize()
        m_changemessagetrustonreply=0;\r
        Option::Instance()->Get("ChangeMessageTrustOnReply",tempval);\r
        StringFunctions::Convert(tempval,m_changemessagetrustonreply);\r
+       Option::Instance()->Get("AddNewPostFromIdentities",tempval);\r
+       if(tempval=="true")\r
+       {\r
+               m_addnewpostfromidentities=true;\r
+       }\r
+       else\r
+       {\r
+               m_addnewpostfromidentities=false;\r
+       }\r
 }\r
 \r
 const bool Message::Load(const long messageid, const long boardid)\r
@@ -587,7 +617,7 @@ const bool Message::ParseNNTPMessage(const std::string &nntpmessage)
        return true;\r
 }\r
 \r
-void Message::StartFreenetInsert()\r
+const bool Message::StartFreenetInsert()\r
 {\r
 \r
        MessageXML xml;\r
@@ -618,12 +648,19 @@ void Message::StartFreenetInsert()
        // couldn't find identity with this name - insert a new identity\r
        if(!st.RowReturned())\r
        {\r
-               DateTime now;\r
-               now.SetToGMTime();\r
-               st=m_db->Prepare("INSERT INTO tblLocalIdentity(Name) VALUES(?);");\r
-               st.Bind(0,m_fromname);\r
-               st.Step(true);\r
-               localidentityid=st.GetLastInsertRowID();\r
+               if(m_addnewpostfromidentities==true)\r
+               {\r
+                       DateTime now;\r
+                       now.SetToGMTime();\r
+                       st=m_db->Prepare("INSERT INTO tblLocalIdentity(Name) VALUES(?);");\r
+                       st.Bind(0,m_fromname);\r
+                       st.Step(true);\r
+                       localidentityid=st.GetLastInsertRowID();\r
+               }\r
+               else\r
+               {\r
+                       return false;\r
+               }\r
        }\r
        else\r
        {\r
@@ -638,4 +675,6 @@ void Message::StartFreenetInsert()
 \r
        HandleChangeTrust();\r
 \r
+       return true;\r
+\r
 }\r