1 #include "../../../include/http/pages/execquerypage.h"
\r
2 #include "../../../include/stringfunctions.h"
\r
8 const std::string ExecQueryPage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)
\r
10 std::string content="";
\r
11 std::string query="";
\r
13 if(queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="execute" && queryvars.find("query")!=queryvars.end() && (*queryvars.find("query")).second!="" && ValidateFormPassword(queryvars))
\r
15 query=(*queryvars.find("query")).second;
\r
16 SQLite3DB::Recordset rs=m_db->Query(query);
\r
22 for(int i=0; i<rs.Cols(); i++)
\r
25 if(rs.GetColumnName(i))
\r
27 content+=rs.GetColumnName(i);
\r
33 else if(m_db->GetLastResult()!=SQLITE_OK)
\r
35 std::string error="";
\r
36 m_db->GetLastError(error);
\r
37 content+="<tr><td>"+error+"</td></tr>";
\r
42 for(int i=0; i<rs.Cols(); i++)
\r
47 content+=SanitizeOutput(std::string(rs.GetField(i)));
\r
54 content+="</table>";
\r
57 content+="<h2>Execute Query</h2>";
\r
58 content+="<form name=\"frmquery\" method=\"POST\">";
\r
59 content+=CreateFormPassword();
\r
60 content+="<input type=\"hidden\" name=\"formaction\" value=\"execute\">";
\r
61 content+="<textarea name=\"query\" rows=\"10\" cols=\"80\">"+StringFunctions::Replace(query,"<","<")+"</textarea>";
\r
62 content+="<input type=\"submit\" value=\"Execute Query\">";
\r
65 return StringFunctions::Replace(m_template,"[CONTENT]",content);
\r
68 const bool ExecQueryPage::WillHandleURI(const std::string &uri)
\r
70 if(uri.find("execquery.")!=std::string::npos)
\r