X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fpeerdetailspage.cpp;h=f4661ab9dca2a135664fb07fb20ae3c42262cfce;hb=dec33c63afafabf83c3039e916725cac6faef9b3;hp=5aa8006af0d6092262b6fe7ab460a0336f080b3f;hpb=bae54a5dae027ad0a6b0126ec9eeecd3bd2739eb;p=fms.git diff --git a/src/http/pages/peerdetailspage.cpp b/src/http/pages/peerdetailspage.cpp index 5aa8006..f4661ab 100644 --- a/src/http/pages/peerdetailspage.cpp +++ b/src/http/pages/peerdetailspage.cpp @@ -22,6 +22,13 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const std::string usk=""; std::string fcphost=""; std::string hidden=""; + int freesiteedition=-1; + std::string publishtrustlist=""; + std::string messagebase=""; + + std::string fproxyport="8888"; + Option::Instance()->Get("FProxyPort",fproxyport); + Option::Instance()->Get("MessageBase",messagebase); if(queryvars.find("identityid")!=queryvars.end() && (*queryvars.find("identityid")).second!="") { @@ -52,7 +59,7 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const Option::Instance()->Get("FCPHost",fcphost); - SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey,DateAdded,LastSeen,AddedMethod,Hidden 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(); @@ -65,19 +72,40 @@ const std::string PeerDetailsPage::GeneratePage(const std::string &method, const st.ResultText(3,lastseen); st.ResultText(4,addedmethod); st.ResultText(5,hidden); + if(st.ResultNull(6)==false) + { + st.ResultInt(6,freesiteedition); + } + st.ResultText(7,publishtrustlist); usk=publickey; - if(usk.find("SSK@")==0) + if(freesiteedition>=0 && usk.find("SSK@")==0) { - std::string messagebase=""; - Option::Instance()->Get("MessageBase",messagebase); + std::string editionstr=""; usk.erase(0,3); - usk="USK"+usk+messagebase+"/0/"; + StringFunctions::Convert(freesiteedition,editionstr); + usk="USK"+usk+messagebase+"/"+editionstr+"/"; + } + else + { + usk=""; } content+="Name"+SanitizeOutput(name)+""; content+="Public Key"+SanitizeOutput(publickey)+""; - content+="Freesite"+SanitizeOutput(usk)+""; + if(usk!="") + { + 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)+""; @@ -192,7 +220,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)