X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fpeerdetailspage.cpp;h=a569bd97e323be4aae0c812cc43cf3c76edecc6d;hp=afb1c4211a269b0f13876cf5cb29f3f9aef57f65;hb=59a5414ec47a2932a7802fcd1d98c4d80166564f;hpb=52581afffd81f5a71c129d87e3ac822d9522f12d diff --git a/src/http/pages/peerdetailspage.cpp b/src/http/pages/peerdetailspage.cpp index afb1c42..a569bd9 100644 --- a/src/http/pages/peerdetailspage.cpp +++ b/src/http/pages/peerdetailspage.cpp @@ -20,12 +20,17 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const std::string dateadded=""; std::string addedmethod=""; std::string usk=""; - std::string fcphost=""; + std::string fcphost="127.0.0.1"; std::string hidden=""; int freesiteedition=-1; + std::string publishtrustlist=""; + std::string messagebase=""; + Option option(m_db); std::string fproxyport="8888"; - Option::Instance()->Get("FProxyPort",fproxyport); + option.Get("FProxyPort",fproxyport); + option.Get("MessageBase",messagebase); + option.Get("FCPHost",fcphost); if(queryvars.find("identityid")!=queryvars.end() && (*queryvars.find("identityid")).second!="") { @@ -33,30 +38,28 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const StringFunctions::Convert((*queryvars.find("identityid")).second,identityid); } - if(identityid!=0 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="deletemessages") + if(identityid!=0 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="deletemessages" && ValidateFormPassword(queryvars)) { 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") + if(identityid!=0 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="hide" && ValidateFormPassword(queryvars)) { 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") + if(identityid!=0 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="show" && ValidateFormPassword(queryvars)) { 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,FreesiteEdition FROM tblIdentity WHERE IdentityID=?;"); + SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey,DateAdded,LastSeen,AddedMethod,Hidden,FreesiteEdition,PublishTrustList FROM tblIdentity WHERE IdentityID=?;"); st.Bind(0,identityid); st.Step(); @@ -73,13 +76,12 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const { st.ResultInt(6,freesiteedition); } + st.ResultText(7,publishtrustlist); usk=publickey; if(freesiteedition>=0 && usk.find("SSK@")==0) { - std::string messagebase=""; std::string editionstr=""; - Option::Instance()->Get("MessageBase",messagebase); usk.erase(0,3); StringFunctions::Convert(freesiteedition,editionstr); usk="USK"+usk+messagebase+"/"+editionstr+"/"; @@ -95,12 +97,22 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const { content+="Freesite"+SanitizeOutput(usk)+""; } + if(publishtrustlist=="true") + { + std::string lastseendate=lastseen; + if(lastseendate.size()>=10) + { + lastseendate=lastseendate.substr(0,10); + } + content+="Trust List XMLTrust List"; + } content+="Date Added"+dateadded+""; content+="Last Seen"+lastseen+""; content+="Added Method"+SanitizeOutput(addedmethod)+""; content+="Hidden in Main Peer Trust Page"; content+=""+hidden; content+=" 
"; + content+=CreateFormPassword(); content+=""; if(hidden=="false") { @@ -129,6 +141,7 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const content+="Message Count"; content+=""+messagecountstr; content+="  "; + content+=CreateFormPassword(); content+=""; content+=""; content+=""; @@ -209,7 +222,7 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const } content+=""; - return "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"+StringFunctions::Replace(m_template,"[CONTENT]",content); + return StringFunctions::Replace(m_template,"[CONTENT]",content); } const std::string PeerDetailsPage::GetClassString(const std::string &trustlevel)