version 0.3.29
[fms.git] / src / http / pages / insertedfilespage.cpp
1 #include "../../../include/http/pages/insertedfilespage.h"\r
2 #include "../../../include/stringfunctions.h"\r
3 #include "../../../include/option.h"\r
4 \r
5 #ifdef XMEM\r
6         #include <xmem.h>\r
7 #endif\r
8 \r
9 const std::string InsertedFilesPage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)\r
10 {\r
11         std::string content="<h2>Inserted Files</h2>";\r
12 \r
13         Option option(m_db);\r
14         std::string node="localhost";\r
15         option.Get("FCPHost",node);\r
16         std::string fproxyport="8888";\r
17         option.Get("FProxyPort",fproxyport);\r
18 \r
19         if(queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="removefile" && queryvars.find("fileid")!=queryvars.end() && ValidateFormPassword(queryvars))\r
20         {\r
21                 SQLite3DB::Statement del=m_db->Prepare("DELETE FROM tblFileInserts WHERE FileInsertID=?;");\r
22                 del.Bind(0,(*queryvars.find("fileid")).second);\r
23                 del.Step();\r
24         }\r
25 \r
26         SQLite3DB::Statement st=m_db->Prepare("SELECT Key,FileName,Size,FileInsertID FROM tblFileInserts WHERE Key IS NOT NULL ORDER BY FileName");\r
27         st.Step();\r
28 \r
29         while(st.RowReturned())\r
30         {\r
31                 std::string key="";\r
32                 std::string filename="";\r
33                 std::string sizestr="";\r
34                 std::string insertidstr="";\r
35 \r
36                 st.ResultText(0,key);\r
37                 st.ResultText(1,filename);\r
38                 st.ResultText(2,sizestr);\r
39                 st.ResultText(3,insertidstr);\r
40 \r
41                 content+="<a href=\"http://"+node+":"+fproxyport+"/"+StringFunctions::UriEncode(key)+"\">"+SanitizeOutput(filename)+"</a> - "+sizestr+" bytes";\r
42                 content+="<form name=\"frmRemove"+insertidstr+"\" method=\"POST\">";\r
43                 content+=CreateFormPassword();\r
44                 content+="<input type=\"hidden\" name=\"formaction\" value=\"removefile\">";\r
45                 content+="<input type=\"hidden\" name=\"fileid\" value=\""+insertidstr+"\">";\r
46                 content+="<input type=\"submit\" value=\"Remove\">";\r
47                 content+="</form>";\r
48                 content+="<br>";\r
49 \r
50                 st.Step();\r
51         }\r
52 \r
53         return StringFunctions::Replace(m_template,"[CONTENT]",content);\r
54 }\r
55 \r
56 const bool InsertedFilesPage::WillHandleURI(const std::string &uri)\r
57 {\r
58         if(uri.find("insertedfiles.")!=std::string::npos)\r
59         {\r
60                 return true;\r
61         }\r
62         else\r
63         {\r
64                 return false;\r
65         }\r
66 }\r