X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Flocalidentitiespage.cpp;h=8b26238ff2e436ba7ac4c002ac674e51bf8dbd7c;hb=b4f4686250878cdf4fcb2986a2ea6546cba867d1;hp=f84362e41bcea10547a9aff1a60c8e0a090fecbd;hpb=5c0453c8697cfaa843dd7f799e5404733ee56e13;p=fms.git diff --git a/src/http/pages/localidentitiespage.cpp b/src/http/pages/localidentitiespage.cpp index f84362e..8b26238 100644 --- a/src/http/pages/localidentitiespage.cpp +++ b/src/http/pages/localidentitiespage.cpp @@ -1,6 +1,7 @@ #include "../../../include/http/pages/localidentitiespage.h" #include "../../../include/stringfunctions.h" #include "../../../include/http/identityexportxml.h" +#include "../../../include/global.h" #ifdef XMEM #include @@ -210,6 +211,8 @@ const std::string LocalIdentitiesPage::GeneratePage(const std::string &method, c SQLite3DB::Statement st=m_db->Prepare("SELECT LocalIdentityID,tblLocalIdentity.Name,tblLocalIdentity.PublicKey,tbLLocalIdentity.PublishTrustList,tblLocalIdentity.SingleUse,tblLocalIdentity.PublishBoardList,tblIdentity.IdentityID,tblLocalIdentity.PublishFreesite FROM tblLocalIdentity LEFT JOIN tblIdentity ON tblLocalIdentity.PublicKey=tblIdentity.PublicKey ORDER BY tblLocalIdentity.Name;"); st.Step(); + SQLite3DB::Statement trustst=m_db->Prepare("SELECT COUNT(*) FROM tblPeerTrust LEFT JOIN tblIdentity ON tblPeerTrust.TargetIdentityID=tblIdentity.IdentityID WHERE tblIdentity.PublicKey=? GROUP BY tblPeerTrust.TargetIdentityID;"); + count=0; while(st.RowReturned()) { @@ -219,7 +222,6 @@ const std::string LocalIdentitiesPage::GeneratePage(const std::string &method, c std::string publickey=""; std::string publishtrustlist=""; std::string singleuse=""; - std::string keypart=""; std::string publishboardlist=""; std::string publishfreesite=""; @@ -231,18 +233,29 @@ const std::string LocalIdentitiesPage::GeneratePage(const std::string &method, c st.ResultText(5,publishboardlist); st.ResultText(7,publishfreesite); - if(publickey.size()>8) - { - keypart=publickey.substr(3,5); - } - content+=""; // content+=""; - content+="
"+SanitizeOutput(name+keypart)+"..."; + content+=""+SanitizeOutput(CreateShortIdentityName(name,publickey))+""; content+=""+CreateTrueFalseDropDown("singleuse["+countstr+"]",singleuse)+""; content+=""+CreateTrueFalseDropDown("publishtrustlist["+countstr+"]",publishtrustlist)+""; content+=""+CreateTrueFalseDropDown("publishboardlist["+countstr+"]",publishboardlist)+""; content+=""+CreateTrueFalseDropDown("publishfreesite["+countstr+"]",publishfreesite)+""; + + trustst.Bind(0,publickey); + trustst.Step(); + if(trustst.RowReturned()) + { + std::string numlists=""; + trustst.ResultText(0,numlists); + content+="Yes ("+numlists+")"; + } + else + { + content+="No"; + } + trustst.Reset(); + +/* if(st.ResultNull(6)) { content+="No"; @@ -251,6 +264,8 @@ const std::string LocalIdentitiesPage::GeneratePage(const std::string &method, c { content+="Yes"; } +*/ + content+="
"; content+="
"; content+=""; @@ -260,7 +275,7 @@ const std::string LocalIdentitiesPage::GeneratePage(const std::string &method, c // content+="
"; content+=""; - content+="

* An identity is considered successfully announced when you have downloaded a trust list from someone that contains the identity.

"; + content+="

* An identity is considered successfully announced when you have downloaded a trust list from someone that contains the identity. The number in parenthesis is how many trust lists that identity appears in.

"; content+="

Single Use Identities will automatically be deleted 7 days after creation.

"; return "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"+StringFunctions::Replace(m_template,"[CONTENT]",content);