X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fpeermaintenancepage.cpp;h=33d1357a4c2416a7bd69dd09dc55cd64b1ebebb5;hb=0236076defe60bcd4b3a25c23efa53c21993a48e;hp=3ded4eb2426bc3be3c46f2fdd95efddab8b745fb;hpb=befd91205eff729a182f66de15374a577a8718f7;p=fms.git
diff --git a/src/http/pages/peermaintenancepage.cpp b/src/http/pages/peermaintenancepage.cpp
index 3ded4eb..33d1357 100644
--- a/src/http/pages/peermaintenancepage.cpp
+++ b/src/http/pages/peermaintenancepage.cpp
@@ -59,6 +59,22 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
st.Bind(0,date.Format("%Y-%m-%d %H:%M:%S"));
st.Step();
}
+ else if((*queryvars.find("formaction")).second=="removeposted30daysago")
+ {
+ date.SetToGMTime();
+ date.Add(0,0,0,-30);
+ st=m_db->Prepare("DELETE FROM tblIdentity WHERE IdentityID IN (SELECT tblIdentity.IdentityID FROM tblIdentity INNER JOIN tblMessage ON tblIdentity.IdentityID=tblMessage.IdentityID WHERE (SELECT MAX(MessageDate) FROM tblMessage WHERE tblMessage.IdentityID=tblIdentity.IdentityID)<=? GROUP BY tblIdentity.IdentityID);");
+ st.Bind(0,date.Format("%Y-%m-%d"));
+ st.Step();
+ }
+ else if((*queryvars.find("formaction")).second=="removeadded20daysneversent")
+ {
+ date.SetToGMTime();
+ date.Add(0,0,0,-20);
+ st=m_db->Prepare("DELETE FROM tblIdentity WHERE IdentityID IN (SELECT tblIdentity.IdentityID FROM tblIdentity LEFT JOIN tblMessage ON tblIdentity.IdentityID=tblMessage.IdentityID WHERE tblMessage.IdentityID IS NULL AND tblIdentity.DateAdded);");
+ st.Bind(0,date.Format("%Y-%m-%d"));
+ st.Step();
+ }
}
content+="
Peer Maintenance
";
@@ -105,6 +121,23 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
content+="";
content+="";
+ date.SetToGMTime();
+ date.Add(0,0,0,-30);
+ st=m_db->Prepare("SELECT COUNT(*) FROM (SELECT tblIdentity.IdentityID FROM tblIdentity INNER JOIN tblMessage ON tblIdentity.IdentityID=tblMessage.IdentityID WHERE (SELECT MAX(MessageDate) FROM tblMessage WHERE tblMessage.IdentityID=tblIdentity.IdentityID)<=? GROUP BY tblIdentity.IdentityID);");
+ st.Bind(0,date.Format("%Y-%m-%d"));
+ st.Step();
+ st.ResultText(0,tempval);
+ content+="";
+ content+=""+tempval+" | ";
+ content+="last sent a message more than 30 days ago | ";
+ content+="";
+ content+="";
+ content+=" | ";
+ content+="
";
+
st=m_db->Prepare("SELECT COUNT(*) FROM tblIdentity LEFT JOIN tblMessage ON tblIdentity.IdentityID=tblMessage.IdentityID WHERE tblMessage.IdentityID IS NULL;");
st.Step();
st.ResultText(0,tempval);
@@ -121,6 +154,23 @@ const std::string PeerMaintenancePage::GeneratePage(const std::string &method, c
date.SetToGMTime();
date.Add(0,0,0,-20);
+ st=m_db->Prepare("SELECT COUNT(*) FROM tblIdentity LEFT JOIN tblMessage ON tblIdentity.IdentityID=tblMessage.IdentityID WHERE tblMessage.IdentityID IS NULL AND tblIdentity.DateAdded;");
+ st.Bind(0,date.Format("%Y-%m-%d %H:%M:%S"));
+ st.Step();
+ st.ResultText(0,tempval);
+ content+="";
+ content+=""+tempval+" | ";
+ content+="added more than 20 days ago and never sent a message | ";
+ content+="";
+ content+="";
+ content+=" | ";
+ content+="
";
+
+ date.SetToGMTime();
+ date.Add(0,0,0,-20);
st=m_db->Prepare("SELECT COUNT(*) FROM tblIdentity LEFT JOIN tblMessage ON tblIdentity.IdentityID=tblMessage.IdentityID WHERE tblMessage.IdentityID IS NULL AND tblIdentity.LastSeen;");
st.Bind(0,date.Format("%Y-%m-%d %H:%M:%S"));
st.Step();