From c908c814819ec284c3044a9cdefa97ff4e055e34 Mon Sep 17 00:00:00 2001 From: electron128 Date: Tue, 28 Apr 2015 14:56:38 +0000 Subject: [PATCH] enabled webui to show own locations git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8182 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- libresapi/src/api/PeersHandler.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libresapi/src/api/PeersHandler.cpp b/libresapi/src/api/PeersHandler.cpp index da43c5129..0acdd2535 100644 --- a/libresapi/src/api/PeersHandler.cpp +++ b/libresapi/src/api/PeersHandler.cpp @@ -139,6 +139,8 @@ void PeersHandler::handleWildcard(Request &req, Response &resp) ok = true; std::list identities; ok &= mRsPeers->getGPGAcceptedList(identities); + RsPgpId own_pgp = mRsPeers->getGPGOwnId(); + identities.push_back(own_pgp); std::list peers; ok &= mRsPeers->getFriendList(peers); std::list grpInfo; @@ -152,9 +154,22 @@ void PeersHandler::handleWildcard(Request &req, Response &resp) } for(std::list::iterator lit = identities.begin(); lit != identities.end(); ++lit) { + // if no own ssl id is known, then hide the own id from the friendslist + if(*lit == own_pgp) + { + bool found = false; + for(std::vector::iterator vit = detailsVec.begin(); vit != detailsVec.end(); ++vit) + { + if(vit->gpg_id == *lit) + found = true; + } + if(!found) + continue; + } StreamBase& itemStream = resp.mDataStream.getStreamToMember(); itemStream << makeKeyValueReference("pgp_id", *lit); itemStream << makeKeyValue("name", mRsPeers->getGPGName(*lit)); + itemStream << makeKeyValue("is_own", *lit == own_pgp); StreamBase& locationStream = itemStream.getStreamToMember("locations"); // mark as list (in case list is empty) locationStream.getStreamToMember();