version 0.1.7
[fms.git] / src / http / pages / addpeerpage.cpp
1 #include "../../../include/http/pages/addpeerpage.h"\r
2 #include "../../../include/stringfunctions.h"\r
3 #include "../../../include/datetime.h"\r
4 \r
5 #ifdef XMEM\r
6         #include <xmem.h>\r
7 #endif\r
8 \r
9 const std::string AddPeerPage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)\r
10 {\r
11         std::string content="";\r
12 \r
13         if(queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="add")\r
14         {\r
15                 DateTime date;\r
16                 std::string publickey="";\r
17                 if(queryvars.find("publickey")!=queryvars.end())\r
18                 {\r
19                         publickey=(*queryvars.find("publickey")).second;\r
20                 }\r
21                 if(publickey!="" && publickey.find("SSK@")==0 && publickey[publickey.size()-1]=='/')\r
22                 {\r
23                         date.SetToGMTime();\r
24                         SQLite3DB::Statement st=m_db->Prepare("INSERT INTO tblIdentity(PublicKey,DateAdded) VALUES(?,?);");\r
25                         st.Bind(0,publickey);\r
26                         st.Bind(1,date.Format("%Y-%m-%d %H:%M:%S"));\r
27                         st.Step();\r
28                         st.Reset();\r
29                 }\r
30         }\r
31 \r
32         content+="<h2>Add Peer</h2>";\r
33         content+="<form name=\"frmaddpeer\" method=\"POST\">";\r
34         content+="<input type=\"hidden\" name=\"formaction\" value=\"add\">";\r
35         content+="Public Key : ";\r
36         content+="<input type=\"text\" name=\"publickey\" size=\"100\">";\r
37         content+="<br>";\r
38         content+="The public key must be a valid SSK public key and include the / at the end";\r
39         content+="<br>";\r
40         content+="<input type=\"submit\" value=\"Add\">";\r
41         content+="</form>";\r
42 \r
43         return "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"+StringFunctions::Replace(m_template,"[CONTENT]",content);\r
44 }\r
45 \r
46 const bool AddPeerPage::WillHandleURI(const std::string &uri)\r
47 {\r
48         if(uri.find("addpeer.")!=std::string::npos)\r
49         {\r
50                 return true;\r
51         }\r
52         else\r
53         {\r
54                 return false;\r
55         }\r
56 }\r