mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
Merge pull request #588 from akhoury/master
websockets to follow same pattern, added hook action:user.create
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -8,6 +8,7 @@ public/css/*.css
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
.project
|
||||
.idea
|
||||
*.swp
|
||||
Vagrantfile
|
||||
.vagrant
|
||||
|
||||
@@ -9,6 +9,7 @@ var bcrypt = require('bcrypt'),
|
||||
sanitize = require('validator').sanitize,
|
||||
|
||||
utils = require('./../public/src/utils'),
|
||||
plugins = require('./plugins'),
|
||||
RDB = require('./redis'),
|
||||
meta = require('./meta'),
|
||||
emailjsServer = emailjs.server.connect(meta.config['email:smtp:host'] || '127.0.0.1'),
|
||||
@@ -103,6 +104,7 @@ var bcrypt = require('bcrypt'),
|
||||
User.sendConfirmationEmail(email);
|
||||
}
|
||||
|
||||
plugins.fireHook('action:user.create', {uid: uid, username: username, email: email, picture: gravatar, timestamp: timestamp});
|
||||
RDB.incr('usercount');
|
||||
|
||||
RDB.zadd('users:joindate', timestamp, uid);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
'use strict';
|
||||
|
||||
var cookie = require('cookie'),
|
||||
express = require('express'),
|
||||
@@ -5,6 +6,7 @@ var cookie = require('cookie'),
|
||||
async = require('async'),
|
||||
fs = require('fs'),
|
||||
nconf = require('nconf'),
|
||||
gravatar = require('gravatar'),
|
||||
winston = require('winston'),
|
||||
|
||||
RedisStoreLib = require('connect-redis')(express),
|
||||
@@ -34,12 +36,13 @@ var cookie = require('cookie'),
|
||||
},
|
||||
plugins = require('./plugins');
|
||||
|
||||
(function(websockets) {
|
||||
|
||||
var users = {},
|
||||
userSockets = {},
|
||||
rooms = {};
|
||||
|
||||
module.exports.logoutUser = function(uid) {
|
||||
websockets.logoutUser = function(uid) {
|
||||
if(userSockets[uid] && userSockets[uid].length) {
|
||||
for(var i=0; i< userSockets[uid].length; ++i) {
|
||||
userSockets[uid][i].emit('event:disconnect');
|
||||
@@ -55,9 +58,9 @@ module.exports.logoutUser = function(uid) {
|
||||
function isUserOnline(uid) {
|
||||
return !!userSockets[uid] && userSockets[uid].length > 0;
|
||||
}
|
||||
module.exports.isUserOnline = isUserOnline;
|
||||
websockets.isUserOnline = isUserOnline;
|
||||
|
||||
module.exports.init = function(io) {
|
||||
websockets.init = function(io) {
|
||||
|
||||
io.sockets.on('connection', function(socket) {
|
||||
var hs = socket.handshake,
|
||||
@@ -222,9 +225,9 @@ module.exports.init = function(io) {
|
||||
uid: 0,
|
||||
username: "Anonymous User",
|
||||
email: '',
|
||||
picture: require('gravatar').url('', {
|
||||
picture: gravatar.url('', {
|
||||
s: '24'
|
||||
}, https = nconf.get('https'))
|
||||
}, nconf.get('https'))
|
||||
});
|
||||
}
|
||||
|
||||
@@ -480,12 +483,12 @@ module.exports.init = function(io) {
|
||||
});
|
||||
|
||||
socket.on('api:user.getOnlineAnonCount', function(data, callback) {
|
||||
callback(module.exports.getOnlineAnonCount());
|
||||
callback(websockets.getOnlineAnonCount());
|
||||
});
|
||||
|
||||
module.exports.getOnlineAnonCount = function () {
|
||||
websockets.getOnlineAnonCount = function () {
|
||||
return userSockets[0] ? userSockets[0].length : 0;
|
||||
}
|
||||
};
|
||||
|
||||
function emitOnlineUserCount() {
|
||||
var anon = userSockets[0] ? userSockets[0].length : 0;
|
||||
@@ -952,7 +955,7 @@ module.exports.init = function(io) {
|
||||
userSockets[theirid][i].emit('event:banned');
|
||||
}
|
||||
}
|
||||
module.exports.logoutUser(theirid);
|
||||
websockets.logoutUser(theirid);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1119,7 +1122,7 @@ module.exports.init = function(io) {
|
||||
});
|
||||
}
|
||||
|
||||
module.exports.emitUserCount = function() {
|
||||
websockets.emitUserCount = function() {
|
||||
RDB.get('usercount', function(err, count) {
|
||||
io.sockets.emit('user.count', {
|
||||
count: count
|
||||
@@ -1127,9 +1130,10 @@ module.exports.init = function(io) {
|
||||
});
|
||||
};
|
||||
|
||||
module.exports.in = function(room) {
|
||||
websockets.in = function(room) {
|
||||
return io.sockets.in(room);
|
||||
};
|
||||
}
|
||||
})(module.exports);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user