version 0.2.0
[fms.git] / src / board.cpp
index aee9339..99350f5 100644 (file)
@@ -97,8 +97,9 @@ const bool Board::Load(const long boardid)
        }\r
 }\r
 \r
-const bool Board::Load(const std::string &boardname)\r
+const bool Board::Load(const std::string &boardname)           // same as loading form boardid - but using name\r
 {\r
+       /*\r
        SQLite3DB::Statement st=m_db->Prepare("SELECT BoardID FROM tblBoard WHERE BoardName=?;");\r
        st.Bind(0,boardname);\r
        st.Step();\r
@@ -112,6 +113,62 @@ const bool Board::Load(const std::string &boardname)
        {\r
                return false;\r
        }\r
+       */\r
+\r
+       // clear current values\r
+       m_boardid=-1;\r
+       m_boardname="";\r
+       m_boarddescription="";\r
+       m_datecreated.Set(1970,1,1);\r
+       m_lowmessageid=0;\r
+       m_highmessageid=0;\r
+       m_messagecount=0;\r
+       int tempint=-1;\r
+\r
+       SQLite3DB::Statement st=m_db->Prepare("SELECT BoardName, BoardDescription, DateAdded, HighMessageID, LowMessageID, MessageCount, SaveReceivedMessages, tblBoard.BoardID FROM tblBoard LEFT JOIN vwBoardStats ON tblBoard.BoardID=vwBoardStats.BoardID WHERE tblBoard.BoardName=?;");\r
+       st.Bind(0,boardname);\r
+       st.Step();\r
+\r
+       if(st.RowReturned())\r
+       {\r
+               int tempint;\r
+               std::string tempstr;\r
+               std::vector<std::string> dateparts;\r
+\r
+               st.ResultText(0,m_boardname);\r
+               st.ResultText(1,m_boarddescription);\r
+               st.ResultText(2,tempstr);\r
+               st.ResultInt(7,tempint);        // boardid\r
+               m_boardid=tempint;\r
+\r
+               SetDateFromString(tempstr);\r
+\r
+               tempint=0;\r
+               st.ResultInt(3,tempint);\r
+               m_highmessageid=tempint;\r
+               tempint=0;\r
+               st.ResultInt(4,tempint);\r
+               m_lowmessageid=tempint;\r
+               tempint=0;\r
+               st.ResultInt(5,tempint);\r
+               m_messagecount=tempint;\r
+               st.ResultText(6,tempstr);\r
+               if(tempstr=="true")\r
+               {\r
+                       m_savereceivedmessages=true;\r
+               }\r
+               else\r
+               {\r
+                       m_savereceivedmessages=false;\r
+               }\r
+\r
+               return true;\r
+       }\r
+       else\r
+       {\r
+               return false;\r
+       }\r
+\r
 }\r
 \r
 void Board::SetDateFromString(const std::string &datestring)\r