From 04894b549a16a2bf3b49ed4d0fe5db4c5b4c5d07 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 5 Nov 2015 21:03:01 -0500 Subject: [PATCH] closes #3827 --- src/controllers/accounts/helpers.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/controllers/accounts/helpers.js b/src/controllers/accounts/helpers.js index 3b76d849cf..75cbc4e7e0 100644 --- a/src/controllers/accounts/helpers.js +++ b/src/controllers/accounts/helpers.js @@ -84,7 +84,7 @@ helpers.getUserDataByUserSlug = function(userslug, callerUID, callback) { userData.groups = Array.isArray(results.groups) && results.groups.length ? results.groups[0] : []; userData.disableSignatures = meta.config.disableSignatures !== undefined && parseInt(meta.config.disableSignatures, 10) === 1; userData['email:confirmed'] = !!parseInt(userData['email:confirmed'], 10); - userData.profile_links = results.profile_links; + userData.profile_links = filterLinks(results.profile_links, self); userData.sso = results.sso.associations; userData.status = user.getStatus(userData); userData.banned = parseInt(userData.banned, 10) === 1; @@ -142,7 +142,7 @@ helpers.getBaseUser = function(userslug, callerUID, callback) { results.user.status = user.getStatus(results.user); results.user.isSelf = parseInt(callerUID, 10) === parseInt(results.user.uid, 10); results.user.showHidden = results.user.isSelf || results.isAdmin; - results.user.profile_links = results.profile_links; + results.user.profile_links = filterLinks(results.profile_links, results.user.isSelf); results.user['cover:url'] = results.user['cover:url'] || require('../../coverPhoto').getDefaultProfileCover(results.user.uid); results.user['cover:position'] = results.user['cover:position'] || '50% 50%'; @@ -152,4 +152,10 @@ helpers.getBaseUser = function(userslug, callerUID, callback) { ], callback); }; +function filterLinks(links, self) { + return links.filter(function(link) { + return link && (link.public || self); + }); +} + module.exports = helpers; \ No newline at end of file