\r
const std::string Message::GetNNTPArticleID() const\r
{\r
- return "<"+m_messageuuid+">";\r
+ return "<"+m_messageuuid+"@freenetproject.org>";\r
}\r
\r
const std::string Message::GetNNTPBody() const\r
{\r
rval+=" ";\r
}\r
- rval+="<"+(*j).second+">";\r
+ rval+="<"+(*j).second+"@freenetproject.org>";\r
}\r
rval+="\r\n";\r
}\r
\r
const bool Message::LoadNext(const long messageid, const long boardid)\r
{\r
- std::string sql="SELECT MessageID FROM tblMessage WHERE MessageID>?";\r
+ std::string sql="SELECT tblMessage.MessageID FROM tblMessage INNER JOIN tblMessageBoard ON tblMessage.MessageID=tblMessageBoard.MessageID WHERE tblMessage.MessageID>?";\r
if(boardid!=-1)\r
{\r
- sql+=" AND BoardID=?";\r
+ sql+=" AND tblMessageBoard.BoardID=?";\r
}\r
sql+=";";\r
\r
\r
const bool Message::LoadPrevious(const long messageid, const long boardid)\r
{\r
- std::string sql="SELECT MessageID FROM tblMessage WHERE MessageID<?";\r
+ std::string sql="SELECT tblMessage.MessageID FROM tblMessage INNER JOIN tblMessageBoard ON tblMessage.MessageID=tblMessageBoard.MessageID WHERE tblMessage.MessageID<?";\r
if(boardid!=-1)\r
{\r
- sql+=" AND BoardID=?";\r
+ sql+=" AND tblMessageBoard.BoardID=?";\r
}\r
- sql+=";";\r
+ sql+=" ORDER BY tblMessage.MessageID DESC;";\r
\r
SQLite3DB::Statement st=m_db->Prepare(sql);\r
\r
}\r
}\r
m_fromname=StringFunctions::TrimWhitespace(m_fromname);\r
+\r
+ // trim off " from beginning and end\r
+ if(m_fromname.size()>0 && m_fromname[0]=='\"')\r
+ {\r
+ m_fromname.erase(0,1);\r
+ }\r
+ if(m_fromname.size()>0 && m_fromname[m_fromname.size()-1]=='\"')\r
+ {\r
+ m_fromname.erase(m_fromname.size()-1,1);\r
+ }\r
+\r
+ m_fromname=StringFunctions::TrimWhitespace(m_fromname);\r
}\r
else\r
{\r
StringFunctions::SplitMultiple(temp,", \t",parts);\r
for(std::vector<std::string>::reverse_iterator i=parts.rbegin(); i!=parts.rend(); i++)\r
{\r
+ // get rid of < and > and any whitespace\r
(*i)=StringFunctions::Replace((*i),"<","");\r
(*i)=StringFunctions::Replace((*i),">","");\r
(*i)=StringFunctions::TrimWhitespace((*i));\r
+ // erase @ and everything after\r
+ if((*i).find("@")!=std::string::npos)\r
+ {\r
+ (*i).erase((*i).find("@"));\r
+ }\r
if((*i)!="")\r
{\r
m_inreplyto[count++]=(*i);\r