mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 02:55:58 +01:00 
			
		
		
		
	closes #1445
This commit is contained in:
		| @@ -4,5 +4,6 @@ | ||||
| 	"chat.send": "Send", | ||||
| 	"chat.no_active": "You have no active chats.", | ||||
| 	"chat.user_typing": "%1 is typing ...", | ||||
| 	"chat.user_has_messaged_you": "%1 has messaged you." | ||||
| 	"chat.user_has_messaged_you": "%1 has messaged you.", | ||||
| 	"chat.see_all": "See all Chats" | ||||
| } | ||||
							
								
								
									
										16
									
								
								public/src/forum/chats.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								public/src/forum/chats.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| /* globals define, app*/ | ||||
|  | ||||
| define(function() { | ||||
| 	var Chats = {}; | ||||
|  | ||||
| 	Chats.init = function() { | ||||
|  | ||||
| 		$('.chats-list').on('click', 'li', function(e) { | ||||
| 			app.openChat($(this).attr('data-username'), $(this).attr('data-uid')); | ||||
| 		}); | ||||
| 	}; | ||||
|  | ||||
| 	return Chats; | ||||
| }); | ||||
| @@ -47,6 +47,11 @@ define(['taskbar', 'string', 'sounds'], function(taskbar, S, sounds) { | ||||
| 							userObj.username + '</a>') | ||||
| 						.appendTo(chatsListEl); | ||||
| 				} | ||||
|  | ||||
| 				var seeAll = '<li class="pagelink"><a href="' + config.relative_path + '/chats">[[modules:chat.see_all]]</a></li>'; | ||||
| 				translator.translate(seeAll, function(translated) { | ||||
| 					$(translated).appendTo(chatsListEl); | ||||
| 				}); | ||||
| 			}); | ||||
| 		}); | ||||
|  | ||||
|   | ||||
| @@ -11,6 +11,7 @@ var fs = require('fs'), | ||||
| 	user = require('./../user'), | ||||
| 	posts = require('./../posts'), | ||||
| 	topics = require('./../topics'), | ||||
| 	messaging = require('../messaging'), | ||||
| 	postTools = require('../postTools'), | ||||
| 	utils = require('./../../public/src/utils'), | ||||
| 	meta = require('./../meta'), | ||||
| @@ -487,4 +488,16 @@ accountsController.getNotifications = function(req, res, next) { | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| accountsController.getChats = function(req, res, next) { | ||||
| 	messaging.getRecentChats(req.user.uid, 0, -1, function(err, chats) { | ||||
| 		if (err) { | ||||
| 			return next(err); | ||||
| 		} | ||||
|  | ||||
| 		res.render('chats', { | ||||
| 			chats: chats | ||||
| 		}); | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| module.exports = accountsController; | ||||
|   | ||||
| @@ -121,8 +121,8 @@ var db = require('./database'), | ||||
| 		}); | ||||
| 	}; | ||||
|  | ||||
| 	Messaging.getRecentChats = function(uid, callback) { | ||||
| 		db.getSortedSetRevRange('uid:' + uid + ':chats', 0, 9, function(err, uids) { | ||||
| 	Messaging.getRecentChats = function(uid, start, end, callback) { | ||||
| 		db.getSortedSetRevRange('uid:' + uid + ':chats', start, end, function(err, uids) { | ||||
| 			if(err) { | ||||
| 				return callback(err); | ||||
| 			} | ||||
|   | ||||
| @@ -101,6 +101,9 @@ function accountRoutes(app, middleware, controllers) { | ||||
|  | ||||
| 	app.get('/notifications', middleware.buildHeader, middleware.authenticate, controllers.accounts.getNotifications); | ||||
| 	app.get('/api/notifications', middleware.authenticate, controllers.accounts.getNotifications); | ||||
|  | ||||
| 	app.get('/chats', middleware.buildHeader, middleware.authenticate, controllers.accounts.getChats); | ||||
| 	app.get('/api/chats', middleware.authenticate, controllers.accounts.getChats); | ||||
| } | ||||
|  | ||||
| function userRoutes(app, middleware, controllers) { | ||||
|   | ||||
| @@ -238,7 +238,7 @@ function sendTypingNotification(event, socket, data, callback) { | ||||
| } | ||||
|  | ||||
| SocketModules.chats.list = function(socket, data, callback) { | ||||
| 	Messaging.getRecentChats(socket.uid, callback); | ||||
| 	Messaging.getRecentChats(socket.uid, 0, 9, callback); | ||||
| }; | ||||
|  | ||||
| /* Notifications */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user