|
|
|
@ -444,6 +444,10 @@ var async = require('async'),
|
|
|
|
|
Groups.exists(groupName, function(err, exists) {
|
|
|
|
|
if (exists) {
|
|
|
|
|
db.setAdd('group:' + groupName + ':members', uid, callback);
|
|
|
|
|
plugins.fireHook('action:groups.join', {
|
|
|
|
|
groupName: groupName,
|
|
|
|
|
uid: uid
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
Groups.create(groupName, '', function(err) {
|
|
|
|
|
if (err) {
|
|
|
|
@ -452,6 +456,10 @@ var async = require('async'),
|
|
|
|
|
}
|
|
|
|
|
Groups.hide(groupName);
|
|
|
|
|
db.setAdd('group:' + groupName + ':members', uid, callback);
|
|
|
|
|
plugins.fireHook('action:groups.join', {
|
|
|
|
|
groupName: groupName,
|
|
|
|
|
uid: uid
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
@ -465,6 +473,11 @@ var async = require('async'),
|
|
|
|
|
return callback(err);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
plugins.fireHook('action:groups.leave', {
|
|
|
|
|
groupName: groupName,
|
|
|
|
|
uid: uid
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// If this is a hidden group, and it is now empty, delete it
|
|
|
|
|
Groups.get(groupName, {}, function(err, group) {
|
|
|
|
|
if (err) {
|
|
|
|
|