version 0.3.17
[fms.git] / src / http / pages / peermaintenancepage.cpp
index 502cea6..240c12e 100644 (file)
@@ -17,7 +17,7 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        std::string tempval;\r
        Poco::DateTime date;\r
 \r
-       if(queryvars.find("formaction")!=queryvars.end())\r
+       if(queryvars.find("formaction")!=queryvars.end() && ValidateFormPassword(queryvars))\r
        {\r
                if((*queryvars.find("formaction")).second=="removenotseen")\r
                {\r
@@ -33,13 +33,13 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
                }\r
                else if((*queryvars.find("formaction")).second=="removeneversent")\r
                {\r
-                       m_db->Execute("DELETE FROM tblIdentity WHERE IdentityID NOT IN (SELECT IdentityID FROM tblMessage GROUP BY IdentityID);");\r
+                       m_db->Execute("DELETE FROM tblIdentity WHERE IdentityID NOT IN (SELECT IdentityID FROM tblMessage WHERE IdentityID IS NOT NULL GROUP BY IdentityID);");\r
                }\r
                else if((*queryvars.find("formaction")).second=="removelastseenneversent20")\r
                {\r
                        date=Poco::Timestamp();\r
                        date-=Poco::Timespan(20,0,0,0,0);\r
-                       st=m_db->Prepare("DELETE FROM tblIdentity WHERE IdentityID NOT IN (SELECT IdentityID FROM tblMessage GROUP BY IdentityID) AND LastSeen<?;");\r
+                       st=m_db->Prepare("DELETE FROM tblIdentity WHERE IdentityID NOT IN (SELECT IdentityID FROM tblMessage WHERE IdentityID IS NOT NULL GROUP BY IdentityID) AND LastSeen<?;");\r
                        st.Bind(0,Poco::DateTimeFormatter::format(date,"%Y-%m-%d %H:%M:%S"));\r
                        st.Step();\r
                }\r
@@ -83,6 +83,9 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
 \r
        content+="<h2>Peer Maintenance</h2>";\r
        content+="<p class=\"paragraph\">Removing a peer will not remove the messages they sent, but will remove everything else about that peer, including their trust levels.</p>";\r
+       content+="<p>";\r
+       content+="<a href=\"recentlyadded.htm\">Recently Added Peers</a>";\r
+       content+="</p>";\r
        content+="<table>";\r
        content+="<tr><th colspan=\"3\">Stats</th></tr>";\r
 \r
@@ -102,6 +105,7 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        content+="<td>never seen</td>";\r
        content+="<td>";\r
        content+="<form name=\"frmremove\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
        content+="<input type=\"hidden\" name=\"formaction\" value=\"removenotseen\">";\r
        content+="<input type=\"submit\" value=\"Remove\">";\r
        content+="</form>";\r
@@ -119,6 +123,7 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        content+="<td>last seen more than 20 days ago</td>";\r
        content+="<td>";\r
        content+="<form name=\"frmremove\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
        content+="<input type=\"hidden\" name=\"formaction\" value=\"removelastseen20\">";\r
        content+="<input type=\"submit\" value=\"Remove\">";\r
        content+="</form>";\r
@@ -136,6 +141,7 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        content+="<td>last sent a message more than 30 days ago</td>";\r
        content+="<td>";\r
        content+="<form name=\"frmremove\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
        content+="<input type=\"hidden\" name=\"formaction\" value=\"removeposted30daysago\">";\r
        content+="<input type=\"submit\" value=\"Remove\">";\r
        content+="</form>";\r
@@ -150,6 +156,7 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        content+="<td>never sent a message</td>";\r
        content+="<td>";\r
        content+="<form name=\"frmremove\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
        content+="<input type=\"hidden\" name=\"formaction\" value=\"removeneversent\">";\r
        content+="<input type=\"submit\" value=\"Remove\">";\r
        content+="</form>";\r
@@ -167,6 +174,7 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        content+="<td>added more than 20 days ago and never sent a message</td>";\r
        content+="<td>";\r
        content+="<form name=\"frmremove\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
        content+="<input type=\"hidden\" name=\"formaction\" value=\"removeadded20daysneversent\">";\r
        content+="<input type=\"submit\" value=\"Remove\">";\r
        content+="</form>";\r
@@ -184,6 +192,7 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        content+="<td>last seen more than 20 days ago and never sent a message</td>";\r
        content+="<td>";\r
        content+="<form name=\"frmremove\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
        content+="<input type=\"hidden\" name=\"formaction\" value=\"removelastseenneversent20\">";\r
        content+="<input type=\"submit\" value=\"Remove\">";\r
        content+="</form>";\r
@@ -191,13 +200,17 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
        content+="</tr>";\r
 \r
        content+="<tr>";\r
-       content+="<td><form name=\"frmdelete\" method=\"POST\"><input type=\"hidden\" name=\"formaction\" value=\"removedaysago\"></td>";\r
+       content+="<td><form name=\"frmdelete\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
+       content+="<input type=\"hidden\" name=\"formaction\" value=\"removedaysago\"></td>";\r
        content+="<td>last seen <input type=\"text\" name=\"daysago\" size=\"2\"> days ago</td>";\r
        content+="<td><input type=\"submit\" value=\"Remove\"></form></td>";\r
        content+="</tr>";\r
 \r
        content+="<tr>";\r
-       content+="<td><form name=\"frmdelete\" method=\"POST\"><input type=\"hidden\" name=\"formaction\" value=\"removenulldaysago\"></td>";\r
+       content+="<td><form name=\"frmdelete\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
+       content+="<input type=\"hidden\" name=\"formaction\" value=\"removenulldaysago\"></td>";\r
        content+="<td>last seen <input type=\"text\" name=\"daysago\" size=\"2\"> days ago, and have null local trust</td>";\r
        content+="<td><input type=\"submit\" value=\"Remove\"></form></td>";\r
        content+="</tr>";\r