Merge branch 'master' of github.com:psychobunny/node-forum

v1.18.x
Julian Lam 12 years ago
commit d0e5c0dcf1

@ -5,15 +5,18 @@
emailEl = document.getElementById('email'), emailEl = document.getElementById('email'),
username_notify = document.getElementById('username-notify'), username_notify = document.getElementById('username-notify'),
email_notify = document.getElementById('email-notify'), email_notify = document.getElementById('email-notify'),
password_notify = document.getElementById('password-notify'); password_notify = document.getElementById('password-notify'),
emailexists = false,
userexists = false;
username.onkeyup = function() { $(username).on('keyup change', function() {
if (username.value.length > 2) socket.emit('user.exists', {username: username.value}); if (username.value.length > 2) socket.emit('user.exists', {username: username.value});
else { else {
username_notify.innerHTML = 'Username too short'; username_notify.innerHTML = 'Username too short';
username_notify.className = 'label label-important'; username_notify.className = 'label label-important';
} }
} });
emailEl.addEventListener('change', function() { emailEl.addEventListener('change', function() {
socket.emit('user.email.exists', { email: emailEl.value }); socket.emit('user.email.exists', { email: emailEl.value });
}, false); }, false);
@ -28,6 +31,7 @@
ajaxify.register_events(['user.exists', 'user.email.exists']); ajaxify.register_events(['user.exists', 'user.email.exists']);
socket.on('user.exists', function(data) { socket.on('user.exists', function(data) {
userexists = data.exists;
if (data.exists == true) { if (data.exists == true) {
username_notify.innerHTML = 'Username exists'; username_notify.innerHTML = 'Username exists';
username_notify.className = 'label label-important'; username_notify.className = 'label label-important';
@ -37,6 +41,7 @@
} }
}); });
socket.on('user.email.exists', function(data) { socket.on('user.email.exists', function(data) {
emailexists = data.exists;
if (data.exists === true) { if (data.exists === true) {
email_notify.innerHTML = 'Email Address exists'; email_notify.innerHTML = 'Email Address exists';
} else { } else {
@ -80,6 +85,14 @@
email_notify.innerHTML = ''; email_notify.innerHTML = '';
} }
if(emailexists) {
email_notify.innerHTML = 'Email Address exists';
validated = false;
}
if(userexists)
validated = false;
return validated; return validated;
} }
register.addEventListener('click', function(e) { register.addEventListener('click', function(e) {

@ -163,12 +163,20 @@ var utils = require('./../public/src/utils.js'),
User.create = function(username, password, email, callback) { User.create = function(username, password, email, callback) {
User.exists(username, function(exists) { var userslug = utils.slugify(username);
User.exists(userslug, function(exists) {
if(exists) {
console.log("user name taken");
callback(null, 0);
return;
}
RDB.incr('global:next_user_id', function(err, uid) { RDB.incr('global:next_user_id', function(err, uid) {
RDB.handle(err); RDB.handle(err);
var gravatar = User.createGravatarURLFromEmail(email); var gravatar = User.createGravatarURLFromEmail(email);
var userslug = utils.slugify(username);
RDB.hmset('user:'+uid, { RDB.hmset('user:'+uid, {
'username' : username, 'username' : username,
@ -380,8 +388,8 @@ var utils = require('./../public/src/utils.js'),
}); });
} }
User.exists = function(username, callback) { User.exists = function(userslug, callback) {
User.get_uid_by_username(username, function(exists) { User.get_uid_by_userslug(userslug, function(exists) {
exists = !!exists; exists = !!exists;
if (callback) if (callback)

@ -147,7 +147,7 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }),
}); });
socket.on('user.exists', function(data) { socket.on('user.exists', function(data) {
user.exists(data.username, function(exists){ user.exists(utils.slugify(data.username), function(exists){
socket.emit('user.exists', {exists: exists}); socket.emit('user.exists', {exists: exists});
}); });
}); });

Loading…
Cancel
Save