X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fhttp%2Fpages%2Fforumviewthreadpage.cpp;fp=src%2Fhttp%2Fpages%2Fforumviewthreadpage.cpp;h=d99768d62b3260fc53a961b209f4ec87b99ec10d;hb=f2545574af789b63fc655decfe31a3d9f1b30504;hp=0b69926bffc3baabe58a61f87fed81b72bd7a45d;hpb=221236a4d3aac4144529d418ce368db5c98facb0;p=fms.git diff --git a/src/http/pages/forumviewthreadpage.cpp b/src/http/pages/forumviewthreadpage.cpp index 0b69926..d99768d 100644 --- a/src/http/pages/forumviewthreadpage.cpp +++ b/src/http/pages/forumviewthreadpage.cpp @@ -10,6 +10,8 @@ const std::string ForumViewThreadPage::FixBody(const std::string &body) static std::string whitespace=" \t\r\n"; std::string output=body; + output=StringFunctions::Replace(output,"\r\n","\n"); + // put \n after 80 contiguous characters in the body std::string::size_type prevpos=0; std::string::size_type pos=output.find_first_of(whitespace); @@ -42,6 +44,7 @@ const std::string ForumViewThreadPage::GeneratePage(const std::string &method, c std::string boardidstr=""; std::string currentpagestr=""; std::string boardname=""; + std::string firstunreadidstr=""; if(queryvars.find("threadid")!=queryvars.end()) { @@ -58,6 +61,14 @@ const std::string ForumViewThreadPage::GeneratePage(const std::string &method, c content+=CreateForumHeader(); + SQLite3DB::Statement firstunreadst=m_db->Prepare("SELECT tblMessage.MessageID FROM tblThreadPost INNER JOIN tblMessage ON tblThreadPost.MessageID=tblMessage.MessageID WHERE ThreadID=? AND tblMessage.Read=0;"); + firstunreadst.Bind(0,threadidstr); + firstunreadst.Step(); + if(firstunreadst.RowReturned()) + { + firstunreadst.ResultText(0,firstunreadidstr); + } + SQLite3DB::Statement updateread=m_db->Prepare("UPDATE tblMessage SET Read=1 WHERE tblMessage.MessageID IN (SELECT MessageID FROM tblThreadPost WHERE ThreadID=?);"); updateread.Bind(0,threadidstr); updateread.Step(); @@ -76,6 +87,12 @@ const std::string ForumViewThreadPage::GeneratePage(const std::string &method, c content+=""; content+=""; content+=""; + if(firstunreadidstr!="") + { + content+=""; + } content+=""; content+="
Forum : "+SanitizeOutput(boardname)+""; + content+="First Unread Message"; + content+="
\r\n"; @@ -123,7 +140,7 @@ const std::string ForumViewThreadPage::GeneratePage(const std::string &method, c content+=""; content+=""; - content+=""; + content+=""; content+=""; content+=""; content+="";
TrustTrust
LocalPeer