mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 19:15:58 +01:00 
			
		
		
		
	changed friends to following/followers, updated routes and the user.js functions
This commit is contained in:
		| @@ -1,7 +1,7 @@ | |||||||
| (function() { | (function() { | ||||||
| 	var yourid = templates.get('yourid'), | 	var yourid = templates.get('yourid'), | ||||||
| 		theirid = templates.get('theirid'), | 		theirid = templates.get('theirid'), | ||||||
|         isFriend = templates.get('isFriend'); |         isFollowing = templates.get('isFollowing'); | ||||||
|  |  | ||||||
|     $(document).ready(function() { |     $(document).ready(function() { | ||||||
|  |  | ||||||
| @@ -12,25 +12,24 @@ | |||||||
|         postcount.html(app.addCommas(postcount.html())); |         postcount.html(app.addCommas(postcount.html())); | ||||||
|          |          | ||||||
|         var editLink = $('#editLink'); |         var editLink = $('#editLink'); | ||||||
| 		var addFriendBtn = $('#add-friend-btn'); | 		var followBtn = $('#follow-btn'); | ||||||
| 		 |         	 | ||||||
|          |  | ||||||
|         if( yourid !== theirid) { |         if( yourid !== theirid) { | ||||||
|             editLink.hide(); |             editLink.hide(); | ||||||
|             if(isFriend) |             if(isFollowing) | ||||||
|            		addFriendBtn.hide(); |            		followBtn.hide(); | ||||||
|            	else |            	else | ||||||
|            		addFriendBtn.show(); |            		followBtn.show(); | ||||||
|         } |         } | ||||||
|     	else { |     	else { | ||||||
|     		addFriendBtn.hide();         |     		followBtn.hide();         | ||||||
|     	} |     	} | ||||||
|          |          | ||||||
|         addFriendBtn.on('click', function() { |         followBtn.on('click', function() { | ||||||
|         	$.post('/users/addfriend', {uid: theirid}, |         	$.post('/users/follow', {uid: theirid}, | ||||||
|             	function(data) { |             	function(data) { | ||||||
|             		addFriendBtn.remove(); |             		followBtn.remove(); | ||||||
|             		$('#user-action-alert').html('Friend Added!').show(); |             		$('#user-action-alert').html('You are now following'+ $('.account-username').text() +'!').show(); | ||||||
| 				}                 | 				}                 | ||||||
| 			); | 			); | ||||||
|         	return false; |         	return false; | ||||||
|   | |||||||
							
								
								
									
										29
									
								
								public/src/forum/followers.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								public/src/forum/followers.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | (function() { | ||||||
|  |  | ||||||
|  | 	var yourid = templates.get('yourid'), | ||||||
|  | 		theirid = templates.get('theirid'), | ||||||
|  | 		followersCount = templates.get('followersCount'); | ||||||
|  |  | ||||||
|  |     $(document).ready(function() { | ||||||
|  |     	 | ||||||
|  |     	if(parseInt(followersCount, 10) === 0) { | ||||||
|  |     		$('#no-followers-notice').show(); | ||||||
|  |     	} | ||||||
|  |     	var editLink = $('#editLink'); | ||||||
|  |  | ||||||
|  | 		if(yourid !== theirid) { | ||||||
|  | 			editLink.hide(); | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  |         $('.reputation').each(function(index, element) { | ||||||
|  |         	$(element).html(app.addCommas($(element).html())); | ||||||
|  |         }); | ||||||
|  |          | ||||||
|  |         $('.postcount').each(function(index, element) { | ||||||
|  |         	$(element).html(app.addCommas($(element).html())); | ||||||
|  |         }); | ||||||
|  |          | ||||||
|  |     }); | ||||||
|  |      | ||||||
|  |  | ||||||
|  | }()); | ||||||
							
								
								
									
										44
									
								
								public/src/forum/following.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								public/src/forum/following.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | (function() { | ||||||
|  |  | ||||||
|  | 	var yourid = templates.get('yourid'), | ||||||
|  | 		theirid = templates.get('theirid'), | ||||||
|  | 		followingCount = templates.get('followingCount'); | ||||||
|  |  | ||||||
|  |     $(document).ready(function() { | ||||||
|  |     	 | ||||||
|  |     	if(parseInt(followingCount, 10) === 0) { | ||||||
|  |     		$('#no-following-notice').show(); | ||||||
|  |     	} | ||||||
|  |     	var editLink = $('#editLink'); | ||||||
|  |  | ||||||
|  | 		if(yourid !== theirid) { | ||||||
|  | 			editLink.hide(); | ||||||
|  | 			$('.unfollow-btn').hide(); | ||||||
|  | 		} | ||||||
|  | 		else { | ||||||
|  | 			$('.unfollow-btn').on('click',function(){ | ||||||
|  |  | ||||||
|  | 				var removeBtn = $(this); | ||||||
|  | 				var followingUid = $(this).attr('followingUid'); | ||||||
|  | 				 | ||||||
|  | 				$.post('/users/unfollow', {uid: followingUid}, | ||||||
|  | 	            	function(data) { | ||||||
|  | 	            		removeBtn.parent().remove(); | ||||||
|  | 					}                 | ||||||
|  | 				); | ||||||
|  | 				return false; | ||||||
|  | 			}); | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  |         $('.reputation').each(function(index, element) { | ||||||
|  |         	$(element).html(app.addCommas($(element).html())); | ||||||
|  |         }); | ||||||
|  |          | ||||||
|  |         $('.postcount').each(function(index, element) { | ||||||
|  |         	$(element).html(app.addCommas($(element).html())); | ||||||
|  |         }); | ||||||
|  |          | ||||||
|  |     }); | ||||||
|  |      | ||||||
|  |  | ||||||
|  | }()); | ||||||
| @@ -8,7 +8,8 @@ | |||||||
| 			<a href="/users/{username}">{username}</a> | 			<a href="/users/{username}">{username}</a> | ||||||
| 		</span> | 		</span> | ||||||
| 		<div class="account-sub-links inline-block pull-right"> | 		<div class="account-sub-links inline-block pull-right"> | ||||||
| 			<span id="friendsLink" class="pull-right"><a href="/users/{username}/friends">friends</a></span> | 			<span id="followersLink" class="pull-right"><a href="/users/{username}/followers">followers</a></span> | ||||||
|  | 			<span id="followingLink" class="pull-right"><a href="/users/{username}/following">following</a></span> | ||||||
| 			<span id="editLink" class="pull-right"><a href="/users/{username}/edit">edit</a></span> | 			<span id="editLink" class="pull-right"><a href="/users/{username}/edit">edit</a></span> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| @@ -65,7 +66,7 @@ | |||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| 	<div id="user-actions" class="container"> | 	<div id="user-actions" class="container"> | ||||||
| 		<a id="add-friend-btn" href="#" class="btn">Follow</a> | 		<a id="follow-btn" href="#" class="btn">Follow</a> | ||||||
| 	</div> | 	</div> | ||||||
| 	<br/> | 	<br/> | ||||||
| 	<div id="user-action-alert" class="alert alert-success hide"></div> | 	<div id="user-action-alert" class="alert alert-success hide"></div> | ||||||
|   | |||||||
| @@ -66,7 +66,8 @@ | |||||||
| 			<a href="/users/{username}/edit">edit</a> | 			<a href="/users/{username}/edit">edit</a> | ||||||
| 		</span> | 		</span> | ||||||
| 		<div class="account-sub-links inline-block pull-right"> | 		<div class="account-sub-links inline-block pull-right"> | ||||||
| 			<span id="friendsLink" class="pull-right"><a href="/users/{username}/friends">friends</a></span> | 			<span id="followersLink" class="pull-right"><a href="/users/{username}/followers">followers</a></span> | ||||||
|  | 			<span id="followingLink" class="pull-right"><a href="/users/{username}/following">following</a></span> | ||||||
| 			<span id="editLink" class="pull-right"><a href="/users/{username}/edit">edit</a></span> | 			<span id="editLink" class="pull-right"><a href="/users/{username}/edit">edit</a></span> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
|   | |||||||
| @@ -16,7 +16,8 @@ | |||||||
| 		"install/social/?": "install/social", | 		"install/social/?": "install/social", | ||||||
| 		"install/privileges/?": "install/privileges", | 		"install/privileges/?": "install/privileges", | ||||||
| 		"users[^]*edit": "accountedit", | 		"users[^]*edit": "accountedit", | ||||||
| 		"users[^]*friends": "friends", | 		"users[^]*following": "following", | ||||||
|  | 		"users[^]*followers": "followers", | ||||||
| 		"users/[^]*": "account", | 		"users/[^]*": "account", | ||||||
| 		"latest": "category", | 		"latest": "category", | ||||||
| 		"popular": "category", | 		"popular": "category", | ||||||
|   | |||||||
							
								
								
									
										47
									
								
								public/templates/followers.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								public/templates/followers.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | |||||||
|  |  | ||||||
|  | <div class="well"> | ||||||
|  |     | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	<div class="account-username-box"> | ||||||
|  | 		<span class="account-username"> | ||||||
|  | 			<a href="/users/{username}">{username}</a> > | ||||||
|  | 			<a href="/users/{username}/followers">followers</a> | ||||||
|  | 		</span> | ||||||
|  | 		<div class="account-sub-links inline-block pull-right"> | ||||||
|  | 			<span id="followersLink" class="pull-right"><a href="/users/{username}/followers">followers</a></span> | ||||||
|  | 			<span id="followingLink" class="pull-right"><a href="/users/{username}/following">following</a></span> | ||||||
|  | 			<span id="editLink" class="pull-right"><a href="/users/{username}/edit">edit</a></span> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  |  | ||||||
|  | 	<div> | ||||||
|  | 	    <!-- BEGIN followers --> | ||||||
|  |  | ||||||
|  | 	    <div class="users-box well"> | ||||||
|  | 		 	<a href="/users/{followers.username}"> | ||||||
|  | 			    <img src="{followers.picture}" class="user-8080-picture"/> | ||||||
|  | 		    </a> | ||||||
|  | 		    <br/> | ||||||
|  | 			<a href="/users/{followers.username}">{followers.username}</a> | ||||||
|  | 		    <br/> | ||||||
|  | 			<div title="reputation"> | ||||||
|  | 				<span class='reputation'>{followers.reputation}</span> | ||||||
|  | 				<i class='icon-star'></i> | ||||||
|  | 			</div> | ||||||
|  | 			<div title="post count"> | ||||||
|  | 				<span class='postcount'>{followers.postcount}</span> | ||||||
|  | 				<i class='icon-pencil'></i> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  |  | ||||||
|  | 		<!-- END followers --> | ||||||
|  | 	</div> | ||||||
|  | 	<div id="no-followers-notice" class="alert alert-warning hide">This user doesn't have any followers :(</div> | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | <input type="hidden" template-variable="yourid" value="{yourid}" /> | ||||||
|  | <input type="hidden" template-variable="theirid" value="{theirid}" /> | ||||||
|  | <input type="hidden" template-variable="followersCount" value="{followersCount}" /> | ||||||
|  |  | ||||||
|  | <script type="text/javascript" src="/src/forum/followers.js"></script> | ||||||
							
								
								
									
										48
									
								
								public/templates/following.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								public/templates/following.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  |  | ||||||
|  | <div class="well"> | ||||||
|  |     | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	<div class="account-username-box"> | ||||||
|  | 		<span class="account-username"> | ||||||
|  | 			<a href="/users/{username}">{username}</a> > | ||||||
|  | 			<a href="/users/{username}/following">following</a> | ||||||
|  | 		</span> | ||||||
|  | 		<div class="account-sub-links inline-block pull-right"> | ||||||
|  | 			<span id="followersLink" class="pull-right"><a href="/users/{username}/followers">followers</a></span> | ||||||
|  | 			<span id="followingLink" class="pull-right"><a href="/users/{username}/following">following</a></span> | ||||||
|  | 			<span id="editLink" class="pull-right"><a href="/users/{username}/edit">edit</a></span> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  |  | ||||||
|  | 	<div> | ||||||
|  | 	    <!-- BEGIN following --> | ||||||
|  |  | ||||||
|  | 	    <div class="users-box well"> | ||||||
|  | 		 	<a href="/users/{following.username}"> | ||||||
|  | 			    <img src="{following.picture}" class="user-8080-picture"/> | ||||||
|  | 		    </a> | ||||||
|  | 		    <br/> | ||||||
|  | 			<a href="/users/{following.username}">{following.username}</a> | ||||||
|  | 		    <br/> | ||||||
|  | 			<div title="reputation"> | ||||||
|  | 				<span class='reputation'>{following.reputation}</span> | ||||||
|  | 				<i class='icon-star'></i> | ||||||
|  | 			</div> | ||||||
|  | 			<div title="post count"> | ||||||
|  | 				<span class='postcount'>{following.postcount}</span> | ||||||
|  | 				<i class='icon-pencil'></i> | ||||||
|  | 			</div> | ||||||
|  | 			<a id="unfollow-btn" href="#" class="btn unfollow-btn" followingUid="{following.uid}">Unfollow</a> | ||||||
|  | 		</div> | ||||||
|  |  | ||||||
|  | 		<!-- END following --> | ||||||
|  | 	</div> | ||||||
|  | 	<div id="no-following-notice" class="alert alert-warning hide">This user isn't following anyone :(</div> | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | <input type="hidden" template-variable="yourid" value="{yourid}" /> | ||||||
|  | <input type="hidden" template-variable="theirid" value="{theirid}" /> | ||||||
|  | <input type="hidden" template-variable="followingCount" value="{followingCount}" /> | ||||||
|  |  | ||||||
|  | <script type="text/javascript" src="/src/forum/following.js"></script> | ||||||
| @@ -1,47 +0,0 @@ | |||||||
|  |  | ||||||
| <div class="well"> |  | ||||||
|     |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 	<div class="account-username-box"> |  | ||||||
| 		<span class="account-username"> |  | ||||||
| 			<a href="/users/{username}">{username}</a> > |  | ||||||
| 			<a href="/users/{username}/friends">friends</a> |  | ||||||
| 		</span> |  | ||||||
| 		<div class="account-sub-links inline-block pull-right"> |  | ||||||
| 			<span id="friendsLink" class="pull-right"><a href="/users/{username}/friends">friends</a></span> |  | ||||||
| 			<span id="editLink" class="pull-right"><a href="/users/{username}/edit">edit</a></span> |  | ||||||
| 		</div> |  | ||||||
| 	</div> |  | ||||||
|  |  | ||||||
| 	<div> |  | ||||||
| 	    <!-- BEGIN friends --> |  | ||||||
|  |  | ||||||
| 	    <div class="users-box well"> |  | ||||||
| 		 	<a href="/users/{friends.username}"> |  | ||||||
| 			    <img src="{friends.picture}" class="user-8080-picture"/> |  | ||||||
| 		    </a> |  | ||||||
| 		    <br/> |  | ||||||
| 			<a href="/users/{friends.username}">{friends.username}</a> |  | ||||||
| 		    <br/> |  | ||||||
| 			<div title="reputation"> |  | ||||||
| 				<span class='reputation'>{friends.reputation}</span> |  | ||||||
| 				<i class='icon-star'></i> |  | ||||||
| 			</div> |  | ||||||
| 			<div title="post count"> |  | ||||||
| 				<span class='postcount'>{friends.postcount}</span> |  | ||||||
| 				<i class='icon-pencil'></i> |  | ||||||
| 			</div> |  | ||||||
| 			<a id="remove-friend-btn" href="#" class="btn remove-friend-btn" friendid="{friends.uid}">Unfollow</a> |  | ||||||
| 		</div> |  | ||||||
|  |  | ||||||
| 		<!-- END friends --> |  | ||||||
| 	</div> |  | ||||||
| 	<div id="no-friend-notice" class="alert alert-warning hide">This user doesn't have any friends :(</div> |  | ||||||
| </div> |  | ||||||
|  |  | ||||||
| <input type="hidden" template-variable="yourid" value="{yourid}" /> |  | ||||||
| <input type="hidden" template-variable="theirid" value="{theirid}" /> |  | ||||||
| <input type="hidden" template-variable="friendCount" value="{friendCount}" /> |  | ||||||
|  |  | ||||||
| <script type="text/javascript" src="/src/forum/friends.js"></script> |  | ||||||
| @@ -202,36 +202,44 @@ var user = require('./../user.js'), | |||||||
| 			res.send({}); | 			res.send({}); | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
| 		app.post('/users/addfriend', function(req, res){ | 		app.post('/users/follow', function(req, res){ | ||||||
| 			if(!req.user) | 			if(!req.user) | ||||||
| 				return res.redirect('/403'); | 				return res.redirect('/403'); | ||||||
| 			 | 			 | ||||||
| 			if(req.user.uid == req.body.uid) | 			if(req.user.uid == req.body.uid) | ||||||
| 				return res.redirect('/'); | 				return res.redirect('/'); | ||||||
|  |  | ||||||
| 			user.addFriend(req.user.uid, req.body.uid, function(data) { | 			user.follow(req.user.uid, req.body.uid, function(data) { | ||||||
| 				res.send({data:data}); | 				res.send({data:data}); | ||||||
| 			}); | 			}); | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
| 		app.post('/users/removefriend', function(req, res){ | 		app.post('/users/unfollow', function(req, res){ | ||||||
| 			if(!req.user) | 			if(!req.user) | ||||||
| 				return res.redirect('/403'); | 				return res.redirect('/403'); | ||||||
| 			 | 			 | ||||||
| 			if(req.user.uid == req.body.uid) | 			if(req.user.uid == req.body.uid) | ||||||
| 				return res.redirect('/'); | 				return res.redirect('/'); | ||||||
|  |  | ||||||
| 			user.removeFriend(req.user.uid, req.body.uid, function(data) { | 			user.unfollow(req.user.uid, req.body.uid, function(data) { | ||||||
| 				res.send({data:data}); | 				res.send({data:data}); | ||||||
| 			}); | 			}); | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
| 		app.get('/users/:username/friends', function(req, res){ | 		app.get('/users/:username/following', function(req, res) { | ||||||
|  |  | ||||||
| 			if(!req.user) | 			if(!req.user) | ||||||
| 				return res.redirect('/403'); | 				return res.redirect('/403'); | ||||||
| 			 | 			 | ||||||
| 			res.send(build_header() + app.create_route('users/'+req.params.username+'/friends','friends') + templates['footer']); | 			res.send(build_header() + app.create_route('users/'+req.params.username+'/following','following') + templates['footer']); | ||||||
|  | 		}); | ||||||
|  | 		 | ||||||
|  | 		app.get('/users/:username/followers', function(req, res) { | ||||||
|  |  | ||||||
|  | 			if(!req.user) | ||||||
|  | 				return res.redirect('/403'); | ||||||
|  | 			 | ||||||
|  | 			res.send(build_header() + app.create_route('users/'+req.params.username+'/followers','followers') + templates['footer']); | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
| 		function api_method(req, res) { | 		function api_method(req, res) { | ||||||
| @@ -246,13 +254,24 @@ var user = require('./../user.js'), | |||||||
| 					 | 					 | ||||||
| 				}); | 				}); | ||||||
| 			} | 			} | ||||||
| 			else if(String(req.params.section).toLowerCase() === 'friends') { | 			else if(String(req.params.section).toLowerCase() === 'following') { | ||||||
| 				 | 				 | ||||||
| 				getUserDataByUserName(req.params.username, callerUID, function(userData) { | 				getUserDataByUserName(req.params.username, callerUID, function(userData) { | ||||||
| 					 | 					 | ||||||
| 					user.getFriends(userData.uid, function(friendsData){ | 					user.getFollowing(userData.uid, function(followingData){ | ||||||
| 						userData.friends = friendsData; | 						userData.following = followingData; | ||||||
| 						userData.friendCount = friendsData.length; | 						userData.followingCount = followingData.length; | ||||||
|  | 						res.send(JSON.stringify(userData)); | ||||||
|  | 					}); | ||||||
|  | 				}); | ||||||
|  | 			} | ||||||
|  | 			else if(String(req.params.section).toLowerCase() === 'followers') { | ||||||
|  | 				 | ||||||
|  | 				getUserDataByUserName(req.params.username, callerUID, function(userData) { | ||||||
|  | 					 | ||||||
|  | 					user.getFollowers(userData.uid, function(followersData){ | ||||||
|  | 						userData.followers = followersData; | ||||||
|  | 						userData.followersCount = followersData.length; | ||||||
| 						res.send(JSON.stringify(userData)); | 						res.send(JSON.stringify(userData)); | ||||||
| 					}); | 					}); | ||||||
| 				}); | 				}); | ||||||
| @@ -264,8 +283,8 @@ var user = require('./../user.js'), | |||||||
| 			} else { | 			} else { | ||||||
| 				getUserDataByUserName(req.params.username, callerUID, function(userData) { | 				getUserDataByUserName(req.params.username, callerUID, function(userData) { | ||||||
| 					 | 					 | ||||||
| 					user.isFriend(callerUID, userData.theirid, function(isFriend) { | 					user.isFollowing(callerUID, userData.theirid, function(isFollowing) { | ||||||
| 						userData.isFriend = isFriend; | 						userData.isFollowing = isFollowing; | ||||||
| 						 | 						 | ||||||
| 						userData.signature = marked(userData.signature || ''); | 						userData.signature = marked(userData.signature || ''); | ||||||
| 						 | 						 | ||||||
|   | |||||||
							
								
								
									
										81
									
								
								src/user.js
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								src/user.js
									
									
									
									
									
								
							| @@ -388,54 +388,71 @@ var utils = require('./../public/src/utils.js'), | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	User.addFriend = function(uid, friendid, callback) { | 	User.follow = function(uid, followid, callback) { | ||||||
| 		RDB.sadd('user:'+uid+':friends', friendid, function(err, data){ | 		RDB.sadd('user:'+uid+':following', followid, function(err, data) { | ||||||
| 			if(err === null)  | 			if(err === null) { | ||||||
| 				callback(data); | 				RDB.sadd('user:'+followid+':followers', uid, function(err, data) { | ||||||
|  | 					callback(data);	 | ||||||
|  | 				}); | ||||||
|  | 			} | ||||||
| 			else | 			else | ||||||
| 				console.log(err); | 				console.log(err); | ||||||
| 		}) | 		}); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	User.getFriends = function(uid, callback) { | 	User.unfollow = function(uid, unfollowid, callback) { | ||||||
| 		RDB.smembers('user:'+uid+':friends', function(err, data){ | 		RDB.srem('user:'+uid+':following', unfollowid, function(err, data){ | ||||||
| 			if(err === null){  | 			if(err === null) { | ||||||
| 				 | 				RDB.srem('user:'+unfollowid+':followers', uid, function(err, data){ | ||||||
| 				var friendsData = []; | 					callback(data); | ||||||
|  | 				}); | ||||||
| 				if(data.length === 0) { |  | ||||||
| 					callback(friendsData); |  | ||||||
| 					return; |  | ||||||
| 				} |  | ||||||
|  |  | ||||||
| 				for(var i=0, ii=data.length; i<ii; ++i) { |  | ||||||
| 					User.getUserData(data[i], function(userData){ |  | ||||||
| 						friendsData.push(userData); |  | ||||||
| 						 |  | ||||||
| 						if(friendsData.length == data.length) |  | ||||||
| 							callback(friendsData);			 |  | ||||||
| 					});	 |  | ||||||
| 				} |  | ||||||
| 			} | 			} | ||||||
|  | 			else | ||||||
|  | 				console.log(err); | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	User.getFollowing = function(uid, callback) { | ||||||
|  | 		RDB.smembers('user:'+uid+':following', function(err, userIds) { | ||||||
|  | 			if(err === null) | ||||||
|  | 				User.getDataForUsers(userIds, callback); | ||||||
| 			else | 			else | ||||||
| 				console.log(err);	 | 				console.log(err);	 | ||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	User.removeFriend = function(uid, friendid, callback) { | 	User.getFollowers = function(uid, callback) { | ||||||
| 		RDB.srem('user:'+uid+':friends', friendid, function(err, data){ | 		RDB.smembers('user:'+uid+':followers', function(err, userIds) { | ||||||
| 			if(err === null) | 			if(err === null) | ||||||
| 				callback(data); | 				User.getDataForUsers(userIds, callback); | ||||||
| 			else | 			else | ||||||
| 				console.log(err); | 				console.log(err);	 | ||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
|  | 	 | ||||||
|  | 	User.getDataForUsers = function(userIds, callback) { | ||||||
|  | 		var returnData = []; | ||||||
|  |  | ||||||
| 	User.isFriend = function(uid, friendid, callback) { | 		if(userIds.length === 0) { | ||||||
| 		RDB.sismember('user:'+uid+':friends', friendid, function(err, data){ | 			callback(returnData); | ||||||
| 			if(err === null){ | 			return; | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		for(var i=0, ii=userIds.length; i<ii; ++i) { | ||||||
|  | 			User.getUserData(userIds[i], function(userData) { | ||||||
|  | 				returnData.push(userData); | ||||||
|  | 				 | ||||||
|  | 				if(returnData.length == userIds.length) | ||||||
|  | 					callback(returnData);			 | ||||||
|  | 			});	 | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  |  | ||||||
|  | 	User.isFollowing = function(uid, theirid, callback) { | ||||||
|  | 		RDB.sismember('user:'+uid+':following', theirid, function(err, data) { | ||||||
|  | 			if(err === null) | ||||||
| 				callback(data === 1); | 				callback(data === 1); | ||||||
| 			} |  | ||||||
| 			else | 			else | ||||||
| 				console.log(err); | 				console.log(err); | ||||||
| 		}); | 		}); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user