version 0.1.14
[fms.git] / src / boardlist.cpp
1 #include "../include/boardlist.h"\r
2 \r
3 #ifdef XMEM\r
4         #include <xmem.h>\r
5 #endif\r
6 \r
7 void BoardList::Load()\r
8 {\r
9         clear();\r
10         \r
11         int boardid=0;\r
12         std::string boardname="";\r
13         std::string boarddescription="";\r
14         std::string dateadded="";\r
15         std::string savereceivedstr="";\r
16         bool savereceived=false;\r
17         int highmessageid=0;\r
18         int lowmessageid=0;\r
19         int messagecount=0;\r
20 \r
21         SQLite3DB::Statement st=m_db->Prepare("SELECT tblBoard.BoardID, BoardName, BoardDescription, DateAdded, HighMessageID, LowMessageID, MessageCount, SaveReceivedMessages FROM tblBoard LEFT JOIN vwBoardStats ON tblBoard.BoardID=vwBoardStats.BoardID ORDER BY BoardName COLLATE NOCASE;");\r
22         st.Step();\r
23         \r
24         while(st.RowReturned())\r
25         {\r
26                 st.ResultInt(0,boardid);\r
27                 st.ResultText(1,boardname);\r
28                 st.ResultText(2,boarddescription);\r
29                 st.ResultText(3,dateadded);\r
30                 st.ResultInt(4,highmessageid);\r
31                 st.ResultInt(5,lowmessageid);\r
32                 st.ResultInt(6,messagecount);\r
33                 st.ResultText(7,savereceivedstr);\r
34 \r
35                 if(savereceivedstr=="true")\r
36                 {\r
37                         savereceived=true;\r
38                 }               \r
39                 else\r
40                 {\r
41                         savereceived=false;\r
42                 }\r
43 \r
44                 push_back(Board(boardid,boardname,boarddescription,dateadded,lowmessageid,highmessageid,messagecount,savereceived));\r
45                 st.Step();\r
46         }\r
47 }\r
48 \r
49 void BoardList::LoadNew(const std::string &date)\r
50 {\r
51         clear();\r
52 \r
53         int tempint;\r
54         SQLite3DB::Statement st=m_db->Prepare("SELECT BoardID FROM tblBoard WHERE DateAdded>? ORDER BY BoardName;");\r
55         st.Bind(0,date);\r
56         st.Step();\r
57 \r
58         while(st.RowReturned())\r
59         {\r
60                 st.ResultInt(0,tempint);\r
61                 push_back(Board(tempint));\r
62                 st.Step();\r
63         }\r
64 }\r