1 #include "../../../include/http/pages/controlboardpage.h"
\r
2 #include "../../../include/stringfunctions.h"
\r
4 #include <Poco/DateTime.h>
\r
5 #include <Poco/DateTimeFormatter.h>
\r
11 const std::string ControlBoardPage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)
\r
13 std::string content="";
\r
15 std::string boardidstr;
\r
16 std::string boardname;
\r
17 int changemessagetrust=0;
\r
18 int changetrustlisttrust=0;
\r
19 std::string changemessagetruststr;
\r
20 std::string changetrustlisttruststr;
\r
22 SQLite3DB::Statement st;
\r
24 if(queryvars.find("formaction")!=queryvars.end())
\r
26 if((*queryvars.find("formaction")).second=="remove" && queryvars.find("boardid")!=queryvars.end() && ValidateFormPassword(queryvars))
\r
29 StringFunctions::Convert((*queryvars.find("boardid")).second,boardid);
\r
31 st=m_db->Prepare("DELETE FROM tblAdministrationBoard WHERE BoardID=?;");
\r
35 st=m_db->Prepare("DELETE FROM tblBoard WHERE BoardID=?;");
\r
39 st=m_db->Prepare("DELETE FROM tblMessage WHERE MessageUUID IN (SELECT MessageUUID FROM tblMessage INNER JOIN tblMessageBoard ON tblMessage.MessageID=tblMessageBoard.MessageID WHERE BoardID=? AND MessageUUID IS NOT NULL);");
\r
43 st=m_db->Prepare("DELETE FROm tblMessageBoard WHERE BoardID=?;");
\r
48 if((*queryvars.find("formaction")).second=="addboard" && queryvars.find("boardname")!=queryvars.end() && (*queryvars.find("boardname")).second!="" && ValidateFormPassword(queryvars))
\r
50 Poco::DateTime date;
\r
51 st=m_db->Prepare("INSERT INTO tblBoard(BoardName,DateAdded) VALUES(?,?);");
\r
52 st.Bind(0,(*queryvars.find("boardname")).second);
\r
53 st.Bind(1,Poco::DateTimeFormatter::format(date,"%Y-%m-%d %H:%M:%S"));
\r
56 boardid=st.GetLastInsertRowID();
\r
57 StringFunctions::Convert((*queryvars.find("changemessagetrust")).second,changemessagetrust);
\r
58 StringFunctions::Convert((*queryvars.find("changetrustlisttrust")).second,changetrustlisttrust);
\r
60 st=m_db->Prepare("INSERT INTO tblAdministrationBoard(BoardID,ModifyLocalMessageTrust,ModifyLocalTrustListTrust) VALUES(?,?,?);");
\r
62 st.Bind(1,changemessagetrust);
\r
63 st.Bind(2,changetrustlisttrust);
\r
70 content+="<h2>Control Boards</h2>";
\r
71 content+="<p class=\"paragraph\">";
\r
72 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
75 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
79 content+="<tr><th>Board Name</th><th>Change Message Trust</th><th>Change Trust List Trust</th></tr>\r\n";
\r
80 while(st.RowReturned())
\r
82 st.ResultText(0,boardidstr);
\r
83 st.ResultText(1,boardname);
\r
84 st.ResultText(2,changemessagetruststr);
\r
85 st.ResultText(3,changetrustlisttruststr);
\r
88 content+="<td>"+boardname+"</td>\r\n";
\r
89 content+="<td>"+changemessagetruststr+"</td>\r\n";
\r
90 content+="<td>"+changetrustlisttruststr+"</td>\r\n";
\r
92 content+="<form name=\"frmremove\" method=\"POST\">";
\r
93 content+=CreateFormPassword();
\r
94 content+="<input type=\"hidden\" name=\"formaction\" value=\"remove\">";
\r
95 content+="<input type=\"hidden\" name=\"boardid\" value=\""+boardidstr+"\">";
\r
96 content+="<input type=\"submit\" value=\"Remove\">";
\r
99 content+="</tr>\r\n";
\r
105 content+="<form name=\"frmaddboard\" method=\"POST\">";
\r
106 content+=CreateFormPassword();
\r
107 content+="<input type=\"hidden\" name=\"formaction\" value=\"addboard\">";
\r
108 content+="<input type=\"text\" name=\"boardname\">";
\r
109 content+="</td>\r\n<td>";
\r
110 content+="<input type=\"text\" name=\"changemessagetrust\" size=\"2\" maxlength=\"4\">";
\r
111 content+="</td>\r\n<td>";
\r
112 content+="<input type=\"text\" name=\"changetrustlisttrust\" size=\"2\" maxlength=\"4\">";
\r
113 content+="</td>\r\n<td>";
\r
114 content+="<input type=\"submit\" value=\"Add\">";
\r
115 content+="</form>";
\r
116 content+="</td>\r\n";
\r
118 content+="</table>";
\r
120 return StringFunctions::Replace(m_template,"[CONTENT]",content);
\r
123 const bool ControlBoardPage::WillHandleURI(const std::string &uri)
\r
125 if(uri.find("controlboard.")!=std::string::npos)
\r