1 #include "../../../include/http/pages/peerdetailspage.h"
\r
2 #include "../../../include/stringfunctions.h"
\r
8 const std::string PeerDetailsPage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)
\r
10 std::string content="";
\r
13 std::string publickey;
\r
14 std::string messagetrust;
\r
15 std::string trustlisttrust;
\r
16 std::string keypart="";
\r
17 std::string lastseen="";
\r
19 if(queryvars.find("identityid")!=queryvars.end() && (*queryvars.find("identityid")).second!="")
\r
21 StringFunctions::Convert((*queryvars.find("identityid")).second,identityid);
\r
24 SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey,LastSeen FROM tblIdentity WHERE IdentityID=?;");
\r
25 st.Bind(0,identityid);
\r
28 if(st.RowReturned())
\r
30 st.ResultText(0,name);
\r
31 st.ResultText(1,publickey);
\r
32 st.ResultText(2,lastseen);
\r
35 content+="<tr><td>Name</td><td>"+SanitizeOutput(name)+"</td></tr>";
\r
36 content+="<tr><td>Public Key</td><td>"+SanitizeOutput(publickey)+"</td></tr>";
\r
37 content+="<tr><td>Last Seen</td><td>"+lastseen+"</td></tr>";
\r
38 content+="</table>";
\r
41 st=m_db->Prepare("SELECT Name,PublicKey,MessageTrust,TrustListTrust,tblIdentity.IdentityID FROM tblPeerTrust INNER JOIN tblIdentity ON tblPeerTrust.TargetIdentityID=tblIdentity.IdentityID WHERE tblPeerTrust.IdentityID=? ORDER BY Name COLLATE NOCASE;");
\r
42 st.Bind(0,identityid);
\r
46 content+="<tr><th colspan=\"3\">";
\r
47 content+="Trust List of this identity";
\r
48 content+="</th></tr>";
\r
49 content+="<tr><td></td><th>Message Trust</th><th>Trust List Trust</th></tr>";
\r
50 while(st.RowReturned())
\r
52 std::string thisid="";
\r
54 st.ResultText(0,name);
\r
55 st.ResultText(1,publickey);
\r
56 st.ResultText(2,messagetrust);
\r
57 st.ResultText(3,trustlisttrust);
\r
58 st.ResultText(4,thisid);
\r
60 if(publickey.size()>8)
\r
62 keypart=publickey.substr(3,5);
\r
66 content+="<td><a href=\"peerdetails.htm?identityid="+thisid+"\">"+SanitizeOutput(name+keypart)+"...</a></td>";
\r
67 content+="<td "+GetClassString(messagetrust)+">"+messagetrust+"</td>";
\r
68 content+="<td "+GetClassString(trustlisttrust)+">"+trustlisttrust+"</td>";
\r
69 content+="</tr>\r\n";
\r
74 st=m_db->Prepare("SELECT Name,PublicKey,MessageTrust,TrustListTrust,tblIdentity.IdentityID FROM tblPeerTrust INNER JOIN tblIdentity ON tblPeerTrust.IdentityID=tblIdentity.IdentityID WHERE tblPeerTrust.TargetIdentityID=? ORDER BY Name COLLATE NOCASE;");
\r
75 st.Bind(0,identityid);
\r
78 content+="<tr><th colspan=\"3\">";
\r
79 content+="Trust of this identity from other identities";
\r
80 content+="</th></tr>";
\r
81 content+="<tr><td></td><th>Message Trust</th><th>Trust List Trust</th></tr>";
\r
82 while(st.RowReturned())
\r
84 std::string thisid="";
\r
86 st.ResultText(0,name);
\r
87 st.ResultText(1,publickey);
\r
88 st.ResultText(2,messagetrust);
\r
89 st.ResultText(3,trustlisttrust);
\r
90 st.ResultText(4,thisid);
\r
92 if(publickey.size()>8)
\r
94 keypart=publickey.substr(3,5);
\r
98 content+="<td><a href=\"peerdetails.htm?identityid="+thisid+"\">"+SanitizeOutput(name+keypart)+"...</a></td>";
\r
99 content+="<td "+GetClassString(messagetrust)+">"+messagetrust+"</td>";
\r
100 content+="<td "+GetClassString(trustlisttrust)+">"+trustlisttrust+"</td>";
\r
105 content+="</table>";
\r
107 return "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"+StringFunctions::Replace(m_template,"[CONTENT]",content);
\r
110 const std::string PeerDetailsPage::GetClassString(const std::string &trustlevel)
\r
113 std::string tempstr;
\r
115 StringFunctions::Convert(trustlevel,tempint);
\r
117 StringFunctions::Convert(tempint,tempstr);
\r
121 return "class=\"trust"+tempstr+"\"";
\r
129 const bool PeerDetailsPage::WillHandleURI(const std::string &uri)
\r
131 if(uri.find("peerdetails.")!=std::string::npos)
\r