1 #include "../../../include/http/pages/controlboardpage.h"
\r
2 #include "../../../include/stringfunctions.h"
\r
3 #include "../../../include/datetime.h"
\r
9 const std::string ControlBoardPage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)
\r
11 std::string content="";
\r
13 std::string boardidstr;
\r
14 std::string boardname;
\r
15 int changemessagetrust=0;
\r
16 int changetrustlisttrust=0;
\r
17 std::string changemessagetruststr;
\r
18 std::string changetrustlisttruststr;
\r
20 SQLite3DB::Statement st;
\r
22 if(queryvars.find("formaction")!=queryvars.end())
\r
24 if((*queryvars.find("formaction")).second=="remove" && queryvars.find("boardid")!=queryvars.end())
\r
27 StringFunctions::Convert((*queryvars.find("boardid")).second,boardid);
\r
29 st=m_db->Prepare("DELETE FROM tblAdministrationBoard WHERE BoardID=?;");
\r
33 st=m_db->Prepare("DELETE FROM tblBoard WHERE BoardID=?;");
\r
37 st=m_db->Prepare("DELETE FROM tblMessage WHERE MessageUUID IN (SELECT MessageUUID FROM tblMessage INNER JOIN tblMessageBoard ON tblMessage.MessageID=tblMessageBoard.MessageID WHERE BoardID=?);");
\r
41 st=m_db->Prepare("DELETE FROm tblMessageBoard WHERE BoardID=?;");
\r
46 if((*queryvars.find("formaction")).second=="addboard" && queryvars.find("boardname")!=queryvars.end() && (*queryvars.find("boardname")).second!="")
\r
50 st=m_db->Prepare("INSERT INTO tblBoard(BoardName,DateAdded) VALUES(?,?);");
\r
51 st.Bind(0,(*queryvars.find("boardname")).second);
\r
52 st.Bind(1,date.Format("%Y-%m-%d %H:%M:%S"));
\r
55 boardid=st.GetLastInsertRowID();
\r
56 StringFunctions::Convert((*queryvars.find("changemessagetrust")).second,changemessagetrust);
\r
57 StringFunctions::Convert((*queryvars.find("changetrustlisttrust")).second,changetrustlisttrust);
\r
59 st=m_db->Prepare("INSERT INTO tblAdministrationBoard(BoardID,ModifyLocalMessageTrust,ModifyLocalTrustListTrust) VALUES(?,?,?);");
\r
61 st.Bind(1,changemessagetrust);
\r
62 st.Bind(2,changetrustlisttrust);
\r
69 content+="<h2>Control Boards</h2>";
\r
70 content+="<p class=\"paragraph\">";
\r
71 content+="These boards are special administration boards where sent messages will change the trust levels of the parent poster by ADDING these numbers to their current trust level. These boards can not be used as regular boards, so make the name unique. The change in trust levels can be negative or positive, but keep in mind that the minimum trust level is 0 and the maximum trust level is 100. After the boards are created here, you may use your newreader to reply to a message to one or more of these boards, and the previous poster will have his trust levels changed as per the settings for that board.";
\r
74 st=m_db->Prepare("SELECT tblBoard.BoardID,BoardName,ModifyLocalMessageTrust,ModifyLocalTrustListTrust FROM tblBoard INNER JOIN tblAdministrationBoard ON tblBoard.BoardID=tblAdministrationBoard.BoardID ORDER BY BoardName COLLATE NOCASE;");
\r
78 content+="<tr><th>Board Name</th><th>Change Message Trust</th><th>Change Trust List Trust</th></tr>\r\n";
\r
79 while(st.RowReturned())
\r
81 st.ResultText(0,boardidstr);
\r
82 st.ResultText(1,boardname);
\r
83 st.ResultText(2,changemessagetruststr);
\r
84 st.ResultText(3,changetrustlisttruststr);
\r
87 content+="<td>"+boardname+"</td>\r\n";
\r
88 content+="<td>"+changemessagetruststr+"</td>\r\n";
\r
89 content+="<td>"+changetrustlisttruststr+"</td>\r\n";
\r
91 content+="<form name=\"frmremove\" method=\"POST\">";
\r
92 content+="<input type=\"hidden\" name=\"formaction\" value=\"remove\">";
\r
93 content+="<input type=\"hidden\" name=\"boardid\" value=\""+boardidstr+"\">";
\r
94 content+="<input type=\"submit\" value=\"Remove\">";
\r
97 content+="</tr>\r\n";
\r
103 content+="<form name=\"frmaddboard\" method=\"POST\">";
\r
104 content+="<input type=\"hidden\" name=\"formaction\" value=\"addboard\">";
\r
105 content+="<input type=\"text\" name=\"boardname\">";
\r
106 content+="</td>\r\n<td>";
\r
107 content+="<input type=\"text\" name=\"changemessagetrust\" size=\"2\" maxlength=\"4\">";
\r
108 content+="</td>\r\n<td>";
\r
109 content+="<input type=\"text\" name=\"changetrustlisttrust\" size=\"2\" maxlength=\"4\">";
\r
110 content+="</td>\r\n<td>";
\r
111 content+="<input type=\"submit\" value=\"Add\">";
\r
112 content+="</form>";
\r
113 content+="</td>\r\n";
\r
115 content+="</table>";
\r
117 return "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"+StringFunctions::Replace(m_template,"[CONTENT]",content);
\r
120 const bool ControlBoardPage::WillHandleURI(const std::string &uri)
\r
122 if(uri.find("controlboard.")!=std::string::npos)
\r