\r
#include <algorithm>\r
\r
+#ifdef DO_CHARSET_CONVERSION\r
+ #include "../include/charsetconverter.h"\r
+#endif\r
+\r
#ifdef XMEM\r
#include <xmem.h>\r
#endif\r
}\r
else\r
{\r
- origmessagetrust=m_minlocalmessagetrust;\r
+ //origmessagetrust=m_minlocalmessagetrust;\r
+ origmessagetrust=50;\r
}\r
if(origmess.ResultNull(3)==false)\r
{\r
}\r
else\r
{\r
- origtrustlisttrust=m_minlocaltrustlisttrust;\r
+ //origtrustlisttrust=m_minlocaltrustlisttrust;\r
+ origtrustlisttrust=50;\r
}\r
\r
origmessagetrust+=changemessagetrust;\r
}\r
else\r
{\r
- localmessagetrust=m_minlocalmessagetrust;\r
+ //localmessagetrust=m_minlocalmessagetrust;\r
+ localmessagetrust=50;\r
}\r
\r
localmessagetrust+=m_changemessagetrustonreply;\r
m_subject=mime.GetFieldValue("Subject");\r
// remove any path folding\r
m_subject=StringFunctions::Replace(m_subject,"\r\n","");\r
+#if DO_CHARSET_CONVERSION\r
+ if(mime.GetFieldCharset("Subject"))\r
+ {\r
+ std::string charset=mime.GetFieldCharset("Subject");\r
+ CharsetConverter ccv;\r
+ if(charset!="" && charset!="UTF-8" && ccv.SetConversion(charset,"UTF-8"))\r
+ {\r
+ std::string output="";\r
+ ccv.Convert(m_subject,output);\r
+ m_subject=output;\r
+ }\r
+ }\r
+#endif\r
}\r
else\r
{\r
{\r
if((*i)->IsText() && (*i)->GetContent())\r
{\r
- m_body+=(char *)(*i)->GetContent();\r
+ std::string bodypart=(char *)(*i)->GetContent();\r
+#ifdef DO_CHARSET_CONVERSION\r
+ std::string charset=(*i)->GetCharset();\r
+ if(charset!="" && charset!="UTF-8")\r
+ {\r
+ CharsetConverter ccv;\r
+ if(ccv.SetConversion(charset,"UTF-8"))\r
+ {\r
+ std::string output="";\r
+ ccv.Convert(bodypart,output);\r
+ bodypart=output;\r
+ }\r
+ }\r
+#endif\r
+ m_body+=bodypart;\r
}\r
}\r
\r
xml.AddInReplyTo((*j).first,(*j).second);\r
}\r
\r
-\r
- // find identity to insert with\r
- /*\r
- SQLite3DB::Statement st=m_db->Prepare("SELECT LocalIdentityID FROM tblLocalIdentity WHERE Name=?;");\r
- st.Bind(0,m_fromname);\r
- st.Step();\r
-\r
- // couldn't find identity with this name - insert a new identity\r
- if(!st.RowReturned())\r
- {\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
- st.ResultInt(0,localidentityid);\r
- }\r
- */\r
localidentityid=FindLocalIdentityID(m_fromname);\r
if(localidentityid==-1)\r
{\r
st.Step();\r
if(st.RowReturned())\r
{\r
+ if(m_replyboardname==(*i))\r
+ {\r
+ m_replyboardname="";\r
+ }\r
i=m_boards.erase(i);\r
}\r
else\r
}\r
st.Reset();\r
}\r
+ if(m_replyboardname=="" && m_boards.begin()!=m_boards.end())\r
+ {\r
+ m_replyboardname=(*m_boards.begin());\r
+ }\r
}\r