\r
date.SetToGMTime();\r
date.Add(0,0,0,-20);\r
- SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey,tblIdentityTrust.LocalMessageTrust,tblIdentityTrust.LocalTrustListTrust,tblIdentity.IdentityID,tblIdentityTrust.MessageTrustComment,tblIdentityTrust.TrustListTrustComment FROM tblIdentity LEFT JOIN (SELECT IdentityID,LocalMessageTrust,LocalTrustListTrust,MessageTrustComment,TrustListTrustComment FROM tblIdentityTrust WHERE LocalIdentityID=?) AS 'tblIdentityTrust' ON tblIdentity.IdentityID=tblIdentityTrust.IdentityID WHERE PublicKey IS NOT NULL AND LastSeen IS NOT NULL AND LastSeen>=? ORDER BY Name COLLATE NOCASE;");\r
+ SQLite3DB::Statement st=m_db->Prepare("SELECT Name,PublicKey,tblIdentityTrust.LocalMessageTrust,tblIdentityTrust.LocalTrustListTrust,tblIdentity.IdentityID,tblIdentityTrust.MessageTrustComment,tblIdentityTrust.TrustListTrustComment,tblIdentity.FreesiteEdition FROM tblIdentity LEFT JOIN (SELECT IdentityID,LocalMessageTrust,LocalTrustListTrust,MessageTrustComment,TrustListTrustComment FROM tblIdentityTrust WHERE LocalIdentityID=?) AS 'tblIdentityTrust' ON tblIdentity.IdentityID=tblIdentityTrust.IdentityID WHERE PublicKey IS NOT NULL AND LastSeen IS NOT NULL AND LastSeen>=? ORDER BY Name COLLATE NOCASE;");\r
st.Bind(0,localidentityid);\r
st.Bind(1,date.Format("%Y-%m-%d %H:%M:%S"));\r
st.Step();\r
std::string trustlisttrust="";\r
std::string publickey="";\r
std::string uskkey="";\r
+ std::string freesiteedition="";\r
\r
st.ResultText(0,idname);\r
st.ResultText(1,publickey);\r
st.ResultText(4,thisid);\r
st.ResultText(5,messagetrustcomment);\r
st.ResultText(6,trustlisttrustcomment);\r
+ st.ResultText(7,freesiteedition);\r
\r
- if(publickey.find("SSK@")==0)\r
+ if(freesiteedition!="")\r
{\r
- uskkey=publickey;\r
- uskkey.erase(0,3);\r
- uskkey="USK"+uskkey;\r
- uskkey+=m_messagebase+"/0/";\r
+ if(publickey.find("SSK@")==0)\r
+ {\r
+ uskkey=publickey;\r
+ uskkey.erase(0,3);\r
+ uskkey="USK"+uskkey;\r
+ uskkey+=m_messagebase+"/"+freesiteedition+"/";\r
+ }\r
}\r
\r
content+="<tr>";\r
- content+="<td><a href=\""+uskkey+"\">"+SanitizeOutput(CreateShortIdentityName(idname,publickey))+"</a></td>";\r
+ if(freesiteedition!="")\r
+ {\r
+ content+="<td><a href=\""+uskkey+"\">"+SanitizeOutput(CreateShortIdentityName(idname,publickey))+"</a></td>";\r
+ }\r
+ else\r
+ {\r
+ content+="<td>"+SanitizeOutput(CreateShortIdentityName(idname,publickey))+"</td>";\r
+ }\r
content+="<td "+GetClassString(messagetrust)+">"+messagetrust+"</td>";\r
content+="<td>"+SanitizeOutput(messagetrustcomment)+"</td>";\r
content+="<td "+GetClassString(trustlisttrust)+">"+trustlisttrust+"</td>";\r
const bool SiteInserter::HandlePutSuccessful(FCPMessage &message)\r
{\r
std::vector<std::string> idparts;\r
+ std::vector<std::string> uriparts;\r
long localidentityid;\r
+ int edition=-1;\r
DateTime now;\r
\r
now.SetToGMTime();\r
StringFunctions::Split(message["Identifier"],"|",idparts);\r
StringFunctions::Convert(idparts[1],localidentityid);\r
\r
- SQLite3DB::Statement st=m_db->Prepare("UPDATE tblLocalIdentity SET LastInsertedFreesite=? WHERE LocalIdentityID=?;");\r
+ // edition is very last part of uri\r
+ StringFunctions::Split(message["URI"],"/",uriparts);\r
+ if(uriparts.size()>0)\r
+ {\r
+ StringFunctions::Convert(uriparts[uriparts.size()-1],edition);\r
+ }\r
+\r
+ SQLite3DB::Statement st=m_db->Prepare("UPDATE tblLocalIdentity SET LastInsertedFreesite=?, FreesiteEdition=? WHERE LocalIdentityID=?;");\r
st.Bind(0,now.Format("%Y-%m-%d %H:%M:%S"));\r
- st.Bind(1,localidentityid);\r
+ st.Bind(1,edition);\r
+ st.Bind(2,localidentityid);\r
st.Step();\r
\r
m_log->WriteLog(LogFile::LOGLEVEL_INFO,"SiteInserter::HandlePutSuccessful successfully inserted Freesite.");\r