From caf81b73125cd1b43789479bb3fa40b9e0809d2f Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Wed, 26 Jun 2013 23:31:41 -0400 Subject: [PATCH] fixed a crash if user profile is viewed when they have no posts, fixed the footer user link it uses the userslug now --- public/src/forum/footer.js | 2 +- src/posts.js | 37 +++++++++++++++++++++---------------- src/user.js | 12 +++++++++--- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/public/src/forum/footer.js b/public/src/forum/footer.js index f4049ba784..fea53cec99 100644 --- a/public/src/forum/footer.js +++ b/public/src/forum/footer.js @@ -15,7 +15,7 @@ if (data.username == '') { latest_user.innerHTML = ''; } else { - latest_user.innerHTML = "The most recent user to register is " + data.username + "."; + latest_user.innerHTML = "The most recent user to register is " + data.username + "."; } }); socket.emit('api:user.active.get'); diff --git a/src/posts.js b/src/posts.js index 31b4864cb9..21851b965a 100644 --- a/src/posts.js +++ b/src/posts.js @@ -311,22 +311,27 @@ marked.setOptions({ RDB.lrange('uid:' + uid + ':posts', 0, 10, function(err, pids) { if(err === null) { - Posts.getPostsByPids(pids, uid, function(posts) { - var returnData = []; - - var len = posts.postData.pid.length; - - for (var i=0; i < len; ++i) { - returnData.push({ - pid: posts.postData.pid[i], - content: posts.postData.content[i], - timestamp: utils.relativeTime(posts.postData.timestamp[i]), - tid: posts.postData.tid[i] - }); - }; - - callback(returnData); - }); + if(pids && pids.length) { + + Posts.getPostsByPids(pids, uid, function(posts) { + var returnData = []; + + var len = posts.postData.pid.length; + + for (var i=0; i < len; ++i) { + returnData.push({ + pid: posts.postData.pid[i], + content: posts.postData.content[i], + timestamp: utils.relativeTime(posts.postData.timestamp[i]), + tid: posts.postData.tid[i] + }); + }; + + callback(returnData); + }); + } + else + callback([]); } }); } diff --git a/src/user.js b/src/user.js index ae5862e2d3..69be28fc71 100644 --- a/src/user.js +++ b/src/user.js @@ -151,7 +151,7 @@ var utils = require('./../public/src/utils.js'), RDB.del('followers:' + uid); RDB.del('following:' + uid); - RDB.lrem('userlist', 1, uid); + RDB.lrem('userlist', 1, data['username']); callback(true); }); @@ -219,7 +219,7 @@ var utils = require('./../public/src/utils.js'), }); RDB.lpush('userlist', username); - io.sockets.emit('user.latest', {username: username}); + io.sockets.emit('user.latest', {userslug: userslug, username: username}); callback(null, uid); @@ -438,7 +438,13 @@ var utils = require('./../public/src/utils.js'), User.latest = function(socket) { RDB.lrange('userlist', 0, 0, function(err, username) { RDB.handle(err); - socket.emit('user.latest', {username: username}); + + User.get_uid_by_username(username, function(uid) { + + User.getUserField(uid, 'userslug', function(userslug) { + socket.emit('user.latest', {userslug: userslug, username: username}); + }); + }); }); }