X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fpeerdetailspage.cpp;h=5aa8006af0d6092262b6fe7ab460a0336f080b3f;hb=bae54a5dae027ad0a6b0126ec9eeecd3bd2739eb;hp=83b1b34200aa36972d3a73595d91ab2cb74b2952;hpb=f60495a029c54358f82956482fe203fe2b7b5b23;p=fms.git diff --git a/src/http/pages/peerdetailspage.cpp b/src/http/pages/peerdetailspage.cpp index 83b1b34..5aa8006 100644 --- a/src/http/pages/peerdetailspage.cpp +++ b/src/http/pages/peerdetailspage.cpp @@ -1,5 +1,7 @@ #include "../../../include/http/pages/peerdetailspage.h" #include "../../../include/stringfunctions.h" +#include "../../../include/option.h" +#include "../../../include/global.h" #ifdef XMEM #include @@ -9,95 +11,181 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const { std::string content=""; int identityid=0; + std::string identityidstr=""; std::string name; std::string publickey; std::string messagetrust; std::string trustlisttrust; - std::string keypart=""; std::string lastseen=""; + std::string dateadded=""; + std::string addedmethod=""; + std::string usk=""; + std::string fcphost=""; + std::string hidden=""; if(queryvars.find("identityid")!=queryvars.end() && (*queryvars.find("identityid")).second!="") { + identityidstr=(*queryvars.find("identityid")).second; StringFunctions::Convert((*queryvars.find("identityid")).second,identityid); } - SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey,LastSeen FROM tblIdentity WHERE IdentityID=?;"); + if(identityid!=0 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="deletemessages") + { + SQLite3DB::Statement del=m_db->Prepare("DELETE FROM tblMessage WHERE IdentityID=?;"); + del.Bind(0,identityid); + del.Step(); + } + + if(identityid!=0 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="hide") + { + SQLite3DB::Statement del=m_db->Prepare("UPDATE tblIdentity SET Hidden='true' WHERE IdentityID=?;"); + del.Bind(0,identityid); + del.Step(); + } + + if(identityid!=0 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="show") + { + SQLite3DB::Statement del=m_db->Prepare("UPDATE tblIdentity SET Hidden='false' WHERE IdentityID=?;"); + del.Bind(0,identityid); + del.Step(); + } + + Option::Instance()->Get("FCPHost",fcphost); + + SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey,DateAdded,LastSeen,AddedMethod,Hidden FROM tblIdentity WHERE IdentityID=?;"); st.Bind(0,identityid); st.Step(); + content+=""; if(st.RowReturned()) { st.ResultText(0,name); st.ResultText(1,publickey); - st.ResultText(2,lastseen); + st.ResultText(2,dateadded); + st.ResultText(3,lastseen); + st.ResultText(4,addedmethod); + st.ResultText(5,hidden); + + usk=publickey; + if(usk.find("SSK@")==0) + { + std::string messagebase=""; + Option::Instance()->Get("MessageBase",messagebase); + usk.erase(0,3); + usk="USK"+usk+messagebase+"/0/"; + } - content+="
"; content+=""; - content+=""; + content+=""; + content+=""; + content+=""; content+=""; - content+="
Name"+SanitizeOutput(name)+"
Public Key"+SanitizeOutput(publickey)+"
Public Key"+SanitizeOutput(publickey)+"
Freesite"+SanitizeOutput(usk)+"
Date Added"+dateadded+"
Last Seen"+lastseen+"
"; + content+="Added Method"+SanitizeOutput(addedmethod)+""; + content+="Hidden in Main Peer Trust Page"; + content+=""+hidden; + content+=" 
"; + content+=""; + if(hidden=="false") + { + content+=""; + content+=""; + } + else + { + content+=""; + content+=""; + } + content+="
"; + content+=""; } - st=m_db->Prepare("SELECT Name,PublicKey,MessageTrust,TrustListTrust,tblIdentity.IdentityID FROM tblPeerTrust INNER JOIN tblIdentity ON tblPeerTrust.TargetIdentityID=tblIdentity.IdentityID WHERE tblPeerTrust.IdentityID=? ORDER BY Name COLLATE NOCASE;"); + // get message count posted by this identity + st=m_db->Prepare("SELECT COUNT(MessageID) FROM tblMessage WHERE IdentityID=?;"); + st.Bind(0,identityid); + st.Step(); + + if(st.RowReturned()) + { + std::string messagecountstr="0"; + st.ResultText(0,messagecountstr); + content+=""; + content+="Message Count"; + content+=""+messagecountstr; + content+="  
"; + content+=""; + content+=""; + content+=""; + content+="
"; + content+=""; + content+=""; + } + + content+=""; + + + st=m_db->Prepare("SELECT Name,PublicKey,MessageTrust,TrustListTrust,tblIdentity.IdentityID,tblPeerTrust.MessageTrustComment,tblPeerTrust.TrustListTrustComment FROM tblPeerTrust INNER JOIN tblIdentity ON tblPeerTrust.TargetIdentityID=tblIdentity.IdentityID WHERE tblPeerTrust.IdentityID=? ORDER BY Name COLLATE NOCASE;"); st.Bind(0,identityid); st.Step(); content+=""; - content+=""; - content+=""; + content+=""; while(st.RowReturned()) { std::string thisid=""; + std::string messagetrustcomment=""; + std::string trustlisttrustcomment=""; st.ResultText(0,name); st.ResultText(1,publickey); st.ResultText(2,messagetrust); st.ResultText(3,trustlisttrust); st.ResultText(4,thisid); - - if(publickey.size()>8) - { - keypart=publickey.substr(3,5); - } + st.ResultText(5,messagetrustcomment); + st.ResultText(6,trustlisttrustcomment); content+=""; - content+=""; + content+=""; content+=""; + content+=""; content+=""; + content+=""; content+="\r\n"; st.Step(); } - st=m_db->Prepare("SELECT Name,PublicKey,MessageTrust,TrustListTrust,tblIdentity.IdentityID FROM tblPeerTrust INNER JOIN tblIdentity ON tblPeerTrust.IdentityID=tblIdentity.IdentityID WHERE tblPeerTrust.TargetIdentityID=? ORDER BY Name COLLATE NOCASE;"); + st=m_db->Prepare("SELECT Name,PublicKey,MessageTrust,TrustListTrust,tblIdentity.IdentityID,tblPeerTrust.MessageTrustComment,tblPeerTrust.TrustListTrustComment FROM tblPeerTrust INNER JOIN tblIdentity ON tblPeerTrust.IdentityID=tblIdentity.IdentityID WHERE tblPeerTrust.TargetIdentityID=? ORDER BY Name COLLATE NOCASE;"); st.Bind(0,identityid); st.Step(); - content+=""; + content+=""; - content+=""; + content+=""; while(st.RowReturned()) { std::string thisid=""; + std::string messagetrustcomment=""; + std::string trustlisttrustcomment=""; st.ResultText(0,name); st.ResultText(1,publickey); st.ResultText(2,messagetrust); st.ResultText(3,trustlisttrust); st.ResultText(4,thisid); - - if(publickey.size()>8) - { - keypart=publickey.substr(3,5); - } + st.ResultText(5,messagetrustcomment); + st.ResultText(6,trustlisttrustcomment); content+=""; - content+=""; + content+=""; content+=""; + content+=""; content+=""; + content+=""; content+=""; st.Step();
"; + content+="
"; content+="Trust List of this identity"; content+="
Message TrustTrust List Trust
Message TrustMessage CommentTrust List TrustTrust Comment
"+SanitizeOutput(name+keypart)+"..."+SanitizeOutput(CreateShortIdentityName(name,publickey))+""+messagetrust+""+SanitizeOutput(messagetrustcomment)+""+trustlisttrust+""+SanitizeOutput(trustlisttrustcomment)+"
"; + content+="

"; content+="Trust of this identity from other identities"; content+="
Message TrustTrust List Trust
Message TrustMessage CommentTrust List TrustTrust Comment
"+SanitizeOutput(name+keypart)+"..."+SanitizeOutput(CreateShortIdentityName(name,publickey))+""+messagetrust+""+SanitizeOutput(messagetrustcomment)+""+trustlisttrust+""+SanitizeOutput(trustlisttrustcomment)+"