X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Flocalidentitiespage.cpp;h=f3a4967203015e480c48a5a521ccdd5c21e93ff3;hb=6836fbb5db8464f56e682989996b2210b14231d0;hp=84c28b322969641963c22283d215f3d8bef28cff;hpb=f60495a029c54358f82956482fe203fe2b7b5b23;p=fms.git diff --git a/src/http/pages/localidentitiespage.cpp b/src/http/pages/localidentitiespage.cpp index 84c28b3..f3a4967 100644 --- a/src/http/pages/localidentitiespage.cpp +++ b/src/http/pages/localidentitiespage.cpp @@ -1,33 +1,12 @@ #include "../../../include/http/pages/localidentitiespage.h" #include "../../../include/stringfunctions.h" #include "../../../include/http/identityexportxml.h" +#include "../../../include/global.h" #ifdef XMEM #include #endif -const std::string LocalIdentitiesPage::CreateTrueFalseDropDown(const std::string &name, const std::string &selected) -{ - std::string rval=""; - - rval+=""; - content+=""; + content+="
"; + +// content+=""; +// content+=""; + content+="
NameSingle UsePublish Trust ListAnnounced? *
"; - SQLite3DB::Statement st=m_db->Prepare("SELECT LocalIdentityID,tblLocalIdentity.Name,tblLocalIdentity.PublicKey,tbLLocalIdentity.PublishTrustList,tblLocalIdentity.SingleUse,tblLocalIdentity.PublishBoardList,tblIdentity.IdentityID FROM tblLocalIdentity LEFT JOIN tblIdentity ON tblLocalIdentity.PublicKey=tblIdentity.PublicKey ORDER BY tblLocalIdentity.Name;"); + SQLite3DB::Statement st=m_db->Prepare("SELECT LocalIdentityID,tblLocalIdentity.Name,tblLocalIdentity.PublicKey,tbLLocalIdentity.PublishTrustList,tblLocalIdentity.SingleUse,tblLocalIdentity.PublishBoardList,tblIdentity.IdentityID,tblLocalIdentity.PublishFreesite,tblLocalIdentity.MinMessageDelay,tblLocalIdentity.MaxMessageDelay 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()) { StringFunctions::Convert(count,countstr); - std::string id; - std::string name; - std::string publickey; - std::string publishtrustlist; - std::string singleuse; - std::string keypart; + std::string id=""; + std::string name=""; + std::string publickey=""; + std::string publishtrustlist=""; + std::string singleuse=""; + std::string publishboardlist=""; + std::string publishfreesite=""; + std::string minmessagedelay="0"; + std::string maxmessagedelay="0"; st.ResultText(0,id); st.ResultText(1,name); st.ResultText(2,publickey); st.ResultText(3,publishtrustlist); st.ResultText(4,singleuse); - - if(publickey.size()>8) - { - keypart=publickey.substr(3,5); - } + st.ResultText(5,publishboardlist); + st.ResultText(7,publishfreesite); + st.ResultText(8,minmessagedelay); + st.ResultText(9,maxmessagedelay); content+=""; - content+=""; - content+=""; +// content+=""; + content+=""; content+=""; content+=""; + content+=""; + content+=""; + content+=""; + content+=""; + + trustst.Bind(0,publickey); + trustst.Step(); + if(trustst.RowReturned()) + { + std::string numlists=""; + trustst.ResultText(0,numlists); + content+=""; + } + else + { + content+=""; + } + trustst.Reset(); + +/* if(st.ResultNull(6)) { content+=""; @@ -222,14 +258,21 @@ const std::string LocalIdentitiesPage::GeneratePage(const std::string &method, c { content+=""; } +*/ + + content+=""; + content+=""; content+=""; + content+=""; st.Step(); count++; } - content+=""; +// content+=""; content+="
NameSingle UsePublish Trust ListPublish Board ListPublish FreesiteMin Message DelayMax Message DelayAnnounced? *
"+SanitizeOutput(name+keypart)+"..."+SanitizeOutput(CreateShortIdentityName(name,publickey))+""+CreateTrueFalseDropDown("singleuse["+countstr+"]",singleuse)+""+CreateTrueFalseDropDown("publishtrustlist["+countstr+"]",publishtrustlist)+""+CreateTrueFalseDropDown("publishboardlist["+countstr+"]",publishboardlist)+""+CreateTrueFalseDropDown("publishfreesite["+countstr+"]",publishfreesite)+"Yes ("+numlists+")NoNoYes
"+publickey+"
"; - 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.

"; + content+="

Messages that each identity sends may be delayed by a random number of minutes between min and max. Set both to 0 to send messages as soon as possible.

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