X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fpeertrustpage.cpp;h=0ab34f1f1924110c1bdd564b27110c42ab0c396f;hp=ac6b053adc7caecfb63e9f32385d54bac8f5cafa;hb=18b45335ba24f3b6b6d4f4acfe8c5a5ae845ce00;hpb=0236076defe60bcd4b3a25c23efa53c21993a48e diff --git a/src/http/pages/peertrustpage.cpp b/src/http/pages/peertrustpage.cpp index ac6b053..0ab34f1 100644 --- a/src/http/pages/peertrustpage.cpp +++ b/src/http/pages/peertrustpage.cpp @@ -119,16 +119,33 @@ const std::string PeerTrustPage::GeneratePage(const std::string &method, const s { localidentityidstr=(*queryvars.find("localidentityid")).second; StringFunctions::Convert(localidentityidstr,localidentityid); + // insert the ID into the temporary table so we remember the identity if we load the page later + m_db->Execute("DELETE FROM tmpLocalIdentityPeerTrustPage;"); + SQLite3DB::Statement st=m_db->Prepare("INSERT INTO tmpLocalIdentityPeerTrustPage(LocalIdentityID) VALUES(?);"); + st.Bind(0,localidentityid); + st.Step(); } else { - SQLite3DB::Statement st=m_db->Prepare("SELECT LocalIdentityID FROM tblLocalIdentity;"); + // try to get the localidentityid if it exists in the temp table, otherwise load the first identity in the database + SQLite3DB::Statement st=m_db->Prepare("SELECT LocalIdentityID FROM tmpLocalIdentityPeerTrustPage;"); st.Step(); if(st.RowReturned()) { st.ResultInt(0,localidentityid); StringFunctions::Convert(localidentityid,localidentityidstr); } + else + { + st=m_db->Prepare("SELECT LocalIdentityID FROM tblLocalIdentity;"); + st.Step(); + if(st.RowReturned()) + { + st.ResultInt(0,localidentityid); + StringFunctions::Convert(localidentityid,localidentityidstr); + } + st.Finalize(); + } } if(localidentityid!=-1 && queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="update")