1 #include "../include/board.h"
\r
2 #include "../include/stringfunctions.h"
\r
12 m_boarddescription="";
\r
13 m_datecreated.Set(1970,1,1);
\r
19 Board::Board(const long boardid)
\r
24 Board::Board(const std::string &boardname)
\r
29 const bool Board::Load(const long boardid)
\r
31 // clear current values
\r
34 m_boarddescription="";
\r
35 m_datecreated.Set(1970,1,1);
\r
40 SQLite3DB::Statement st=m_db->Prepare("SELECT BoardName, BoardDescription, DateAdded FROM tblBoard WHERE BoardID=?;");
\r
44 if(st.RowReturned())
\r
47 std::string tempstr;
\r
48 std::vector<std::string> dateparts;
\r
51 st.ResultText(0,m_boardname);
\r
52 st.ResultText(1,m_boarddescription);
\r
53 st.ResultText(2,tempstr);
\r
55 // break out date created - date should be in format yyyy-mm-dd HH:MM:SS, so we split on "-", " " (space), and ":"
\r
56 StringFunctions::SplitMultiple(tempstr,"- :",dateparts);
\r
57 if(dateparts.size()>0)
\r
59 StringFunctions::Convert(dateparts[0],tempint);
\r
60 m_datecreated.SetYear(tempint);
\r
62 if(dateparts.size()>1)
\r
64 StringFunctions::Convert(dateparts[1],tempint);
\r
65 m_datecreated.SetMonth(tempint);
\r
67 if(dateparts.size()>2)
\r
69 StringFunctions::Convert(dateparts[2],tempint);
\r
70 m_datecreated.SetDay(tempint);
\r
72 if(dateparts.size()>3)
\r
74 StringFunctions::Convert(dateparts[3],tempint);
\r
75 m_datecreated.SetHour(tempint);
\r
77 if(dateparts.size()>4)
\r
79 StringFunctions::Convert(dateparts[4],tempint);
\r
80 m_datecreated.SetMinute(tempint);
\r
82 if(dateparts.size()>5)
\r
84 StringFunctions::Convert(dateparts[5],tempint);
\r
85 m_datecreated.SetSecond(tempint);
\r
88 // get max and min ids and message count in this board
\r
89 SQLite3DB::Statement bounds=m_db->Prepare("SELECT HighMessageID, LowMessageID, MessageCount FROM vwBoardStats WHERE BoardID=?;");
\r
90 bounds.Bind(0,boardid);
\r
93 if(bounds.RowReturned())
\r
96 bounds.ResultInt(0,tempint);
\r
97 m_highmessageid=tempint;
\r
98 bounds.ResultInt(1,tempint);
\r
99 m_lowmessageid=tempint;
\r
100 bounds.ResultInt(2,tempint);
\r
101 m_messagecount=tempint;
\r
112 const bool Board::Load(const std::string &boardname)
\r
114 SQLite3DB::Statement st=m_db->Prepare("SELECT BoardID FROM tblBoard WHERE BoardName=?;");
\r
115 st.Bind(0,boardname);
\r
117 if(st.RowReturned())
\r
120 st.ResultInt(0,tempint);
\r
121 return Load(tempint);
\r