|
|
|
@ -8,15 +8,15 @@ var user = require('./../user.js'),
|
|
|
|
|
nconf = require('nconf'),
|
|
|
|
|
meta = require('./../meta');
|
|
|
|
|
|
|
|
|
|
(function(User) {
|
|
|
|
|
User.create_routes = function(app) {
|
|
|
|
|
(function (User) {
|
|
|
|
|
User.create_routes = function (app) {
|
|
|
|
|
|
|
|
|
|
app.get('/uid/:uid', function(req, res) {
|
|
|
|
|
app.get('/uid/:uid', function (req, res) {
|
|
|
|
|
|
|
|
|
|
if (!req.params.uid)
|
|
|
|
|
return res.redirect('/404');
|
|
|
|
|
|
|
|
|
|
user.getUserData(req.params.uid, function(err, data) {
|
|
|
|
|
user.getUserData(req.params.uid, function (err, data) {
|
|
|
|
|
if (data) {
|
|
|
|
|
res.send(data);
|
|
|
|
|
} else {
|
|
|
|
@ -27,156 +27,160 @@ var user = require('./../user.js'),
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/users', function(req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route("users", "users") + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/users/latest', function(req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/latest", "users") + templates['footer']);
|
|
|
|
|
app.namespace('/users', function () {
|
|
|
|
|
app.get('', function (req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route("users", "users") + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/users/sort-posts', function(req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/sort-posts", "users") + templates['footer']);
|
|
|
|
|
app.get('/latest', function (req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/latest", "users") + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/users/sort-reputation', function(req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/sort-reputation", "users") + templates['footer']);
|
|
|
|
|
app.get('/sort-posts', function (req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/sort-posts", "users") + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/users/online', function(req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/online", "users") + templates['footer']);
|
|
|
|
|
app.get('/sort-reputation', function (req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/sort-reputation", "users") + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/users/search', function(req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/search", "users") + templates['footer']);
|
|
|
|
|
app.get('/online', function (req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/online", "users") + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/user/:userslug', function(req, res, next) {
|
|
|
|
|
|
|
|
|
|
if (!req.params.userslug) {
|
|
|
|
|
next();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function(err, uid) {
|
|
|
|
|
if (!uid) {
|
|
|
|
|
return next();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.get('/search', function (req, res) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug, 'account') + templates['footer']);
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route("users/search", "users") + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/user/:userslug/edit', function(req, res) {
|
|
|
|
|
app.namespace('/user', function () {
|
|
|
|
|
app.get('/:userslug', function (req, res, next) {
|
|
|
|
|
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
if (!req.params.userslug) {
|
|
|
|
|
next();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function (err, uid) {
|
|
|
|
|
if (!uid) {
|
|
|
|
|
return next();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.getUserField(req.user.uid, 'userslug', function(err, userslug) {
|
|
|
|
|
if (req.params.userslug && userslug === req.params.userslug) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug + '/edit', 'accountedit') + templates['footer']);
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug, 'account') + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
return res.redirect('/404');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/user/:userslug/settings', function(req, res) {
|
|
|
|
|
app.get('/:userslug/edit', function (req, res) {
|
|
|
|
|
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
|
|
|
|
|
user.getUserField(req.user.uid, 'userslug', function(err, userslug) {
|
|
|
|
|
if (req.params.userslug && userslug === req.params.userslug) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug + '/settings', 'accountsettings') + templates['footer']);
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
return res.redirect('/404');
|
|
|
|
|
}
|
|
|
|
|
user.getUserField(req.user.uid, 'userslug', function (err, userslug) {
|
|
|
|
|
if (req.params.userslug && userslug === req.params.userslug) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug + '/edit', 'accountedit') + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
return res.redirect('/404');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.post('/user/uploadpicture', function(req, res) {
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
app.get('/:userslug/settings', function (req, res) {
|
|
|
|
|
|
|
|
|
|
var uploadSize = meta.config.maximumProfileImageSize || 256;
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
|
|
|
|
|
if (req.files.userPhoto.size > uploadSize * 1024) {
|
|
|
|
|
res.send({
|
|
|
|
|
error: 'Images must be smaller than ' + uploadSize + ' kb!'
|
|
|
|
|
user.getUserField(req.user.uid, 'userslug', function (err, userslug) {
|
|
|
|
|
if (req.params.userslug && userslug === req.params.userslug) {
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug + '/settings', 'accountsettings') + templates['footer']);
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
return res.redirect('/404');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var allowedTypes = ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'];
|
|
|
|
|
app.post('/uploadpicture', function (req, res) {
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
|
|
|
|
|
if (allowedTypes.indexOf(req.files.userPhoto.type) === -1) {
|
|
|
|
|
res.send({
|
|
|
|
|
error: 'Allowed image types are png, jpg and gif!'
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var uploadSize = meta.config.maximumProfileImageSize || 256;
|
|
|
|
|
|
|
|
|
|
user.getUserField(req.user.uid, 'uploadedpicture', function(err, oldpicture) {
|
|
|
|
|
if (!oldpicture) {
|
|
|
|
|
uploadUserPicture(req.user.uid, path.extname(req.files.userPhoto.name), req.files.userPhoto.path, res);
|
|
|
|
|
if (req.files.userPhoto.size > uploadSize * 1024) {
|
|
|
|
|
res.send({
|
|
|
|
|
error: 'Images must be smaller than ' + uploadSize + ' kb!'
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var absolutePath = path.join(process.cwd(), nconf.get('upload_path'), path.basename(oldpicture));
|
|
|
|
|
var allowedTypes = ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'];
|
|
|
|
|
|
|
|
|
|
fs.unlink(absolutePath, function(err) {
|
|
|
|
|
if (err) {
|
|
|
|
|
winston.err(err);
|
|
|
|
|
if (allowedTypes.indexOf(req.files.userPhoto.type) === -1) {
|
|
|
|
|
res.send({
|
|
|
|
|
error: 'Allowed image types are png, jpg and gif!'
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.getUserField(req.user.uid, 'uploadedpicture', function (err, oldpicture) {
|
|
|
|
|
if (!oldpicture) {
|
|
|
|
|
uploadUserPicture(req.user.uid, path.extname(req.files.userPhoto.name), req.files.userPhoto.path, res);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uploadUserPicture(req.user.uid, path.extname(req.files.userPhoto.name), req.files.userPhoto.path, res);
|
|
|
|
|
var absolutePath = path.join(process.cwd(), nconf.get('upload_path'), path.basename(oldpicture));
|
|
|
|
|
|
|
|
|
|
fs.unlink(absolutePath, function (err) {
|
|
|
|
|
if (err) {
|
|
|
|
|
winston.err(err);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uploadUserPicture(req.user.uid, path.extname(req.files.userPhoto.name), req.files.userPhoto.path, res);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
@ -197,7 +201,7 @@ var user = require('./../user.js'),
|
|
|
|
|
var is = fs.createReadStream(tempPath);
|
|
|
|
|
var os = fs.createWriteStream(uploadPath);
|
|
|
|
|
|
|
|
|
|
is.on('end', function() {
|
|
|
|
|
is.on('end', function () {
|
|
|
|
|
fs.unlinkSync(tempPath);
|
|
|
|
|
|
|
|
|
|
var imageUrl = nconf.get('upload_url') + filename;
|
|
|
|
@ -210,7 +214,7 @@ var user = require('./../user.js'),
|
|
|
|
|
dstPath: uploadPath,
|
|
|
|
|
width: 128,
|
|
|
|
|
height: 128
|
|
|
|
|
}, function(err, stdout, stderr) {
|
|
|
|
|
}, function (err, stdout, stderr) {
|
|
|
|
|
if (err) {
|
|
|
|
|
winston.err(err);
|
|
|
|
|
}
|
|
|
|
@ -221,7 +225,7 @@ var user = require('./../user.js'),
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
os.on('error', function(err) {
|
|
|
|
|
os.on('error', function (err) {
|
|
|
|
|
fs.unlinkSync(tempPath);
|
|
|
|
|
winston.err(err);
|
|
|
|
|
});
|
|
|
|
@ -229,12 +233,12 @@ var user = require('./../user.js'),
|
|
|
|
|
is.pipe(os);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.get('/user/:userslug/following', function(req, res) {
|
|
|
|
|
app.get('/user/:userslug/following', function (req, res) {
|
|
|
|
|
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function(err, uid) {
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function (err, uid) {
|
|
|
|
|
if (!uid) {
|
|
|
|
|
res.redirect('/404');
|
|
|
|
|
return;
|
|
|
|
@ -243,18 +247,18 @@ var user = require('./../user.js'),
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug + '/following', 'following') + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/user/:userslug/followers', function(req, res) {
|
|
|
|
|
app.get('/user/:userslug/followers', function (req, res) {
|
|
|
|
|
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function(err, uid) {
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function (err, uid) {
|
|
|
|
|
if (!uid) {
|
|
|
|
|
res.redirect('/404');
|
|
|
|
|
return;
|
|
|
|
@ -262,18 +266,18 @@ var user = require('./../user.js'),
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug + '/followers', 'followers') + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/user/:userslug/favourites', function(req, res) {
|
|
|
|
|
app.get('/user/:userslug/favourites', function (req, res) {
|
|
|
|
|
|
|
|
|
|
if (!req.user)
|
|
|
|
|
return res.redirect('/403');
|
|
|
|
|
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function(err, uid) {
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function (err, uid) {
|
|
|
|
|
if (!uid) {
|
|
|
|
|
res.redirect('/404');
|
|
|
|
|
return;
|
|
|
|
@ -281,18 +285,18 @@ var user = require('./../user.js'),
|
|
|
|
|
app.build_header({
|
|
|
|
|
req: req,
|
|
|
|
|
res: res
|
|
|
|
|
}, function(err, header) {
|
|
|
|
|
}, function (err, header) {
|
|
|
|
|
res.send(header + app.create_route('user/' + req.params.userslug + '/favourites', 'favourites') + templates['footer']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/api/user/:userslug/following', function(req, res) {
|
|
|
|
|
app.get('/api/user/:userslug/following', function (req, res) {
|
|
|
|
|
var callerUID = req.user ? req.user.uid : '0';
|
|
|
|
|
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function(userData) {
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function (userData) {
|
|
|
|
|
if (userData) {
|
|
|
|
|
user.getFollowing(userData.uid, function(followingData) {
|
|
|
|
|
user.getFollowing(userData.uid, function (followingData) {
|
|
|
|
|
userData.following = followingData;
|
|
|
|
|
userData.followingCount = followingData.length;
|
|
|
|
|
res.json(userData);
|
|
|
|
@ -306,12 +310,12 @@ var user = require('./../user.js'),
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/api/user/:userslug/followers', function(req, res) {
|
|
|
|
|
app.get('/api/user/:userslug/followers', function (req, res) {
|
|
|
|
|
var callerUID = req.user ? req.user.uid : '0';
|
|
|
|
|
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function(userData) {
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function (userData) {
|
|
|
|
|
if (userData) {
|
|
|
|
|
user.getFollowers(userData.uid, function(followersData) {
|
|
|
|
|
user.getFollowers(userData.uid, function (followersData) {
|
|
|
|
|
userData.followers = followersData;
|
|
|
|
|
userData.followersCount = followersData.length;
|
|
|
|
|
res.json(userData);
|
|
|
|
@ -324,18 +328,18 @@ var user = require('./../user.js'),
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/api/user/:userslug/edit', function(req, res) {
|
|
|
|
|
app.get('/api/user/:userslug/edit', function (req, res) {
|
|
|
|
|
var callerUID = req.user ? req.user.uid : '0';
|
|
|
|
|
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function(userData) {
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function (userData) {
|
|
|
|
|
res.json(userData);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/api/user/:userslug/settings', function(req, res, next) {
|
|
|
|
|
app.get('/api/user/:userslug/settings', function (req, res, next) {
|
|
|
|
|
var callerUID = req.user ? req.user.uid : '0';
|
|
|
|
|
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function(err, uid) {
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function (err, uid) {
|
|
|
|
|
if (!uid) {
|
|
|
|
|
res.json(404, {
|
|
|
|
|
error: 'User not found!'
|
|
|
|
@ -351,7 +355,7 @@ var user = require('./../user.js'),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
user.getUserFields(uid, ['username', 'userslug', 'showemail'], function(err, userData) {
|
|
|
|
|
user.getUserFields(uid, ['username', 'userslug', 'showemail'], function (err, userData) {
|
|
|
|
|
if (err)
|
|
|
|
|
return next(err);
|
|
|
|
|
|
|
|
|
@ -370,10 +374,10 @@ var user = require('./../user.js'),
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/api/user/:userslug/favourites', function(req, res, next) {
|
|
|
|
|
app.get('/api/user/:userslug/favourites', function (req, res, next) {
|
|
|
|
|
var callerUID = req.user ? req.user.uid : '0';
|
|
|
|
|
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function(err, uid) {
|
|
|
|
|
user.get_uid_by_userslug(req.params.userslug, function (err, uid) {
|
|
|
|
|
if (!uid) {
|
|
|
|
|
res.json(404, {
|
|
|
|
|
error: 'User not found!'
|
|
|
|
@ -388,12 +392,12 @@ var user = require('./../user.js'),
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.getUserFields(uid, ['username', 'userslug'], function(err, userData) {
|
|
|
|
|
user.getUserFields(uid, ['username', 'userslug'], function (err, userData) {
|
|
|
|
|
if (err)
|
|
|
|
|
return next(err);
|
|
|
|
|
|
|
|
|
|
if (userData) {
|
|
|
|
|
posts.getFavourites(uid, function(err, posts) {
|
|
|
|
|
posts.getFavourites(uid, function (err, posts) {
|
|
|
|
|
if (err)
|
|
|
|
|
return next(err);
|
|
|
|
|
userData.posts = posts;
|
|
|
|
@ -409,15 +413,15 @@ var user = require('./../user.js'),
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.get('/api/user/:userslug', function(req, res) {
|
|
|
|
|
app.get('/api/user/:userslug', function (req, res) {
|
|
|
|
|
var callerUID = req.user ? req.user.uid : '0';
|
|
|
|
|
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function(userData) {
|
|
|
|
|
getUserDataByUserSlug(req.params.userslug, callerUID, function (userData) {
|
|
|
|
|
if (userData) {
|
|
|
|
|
user.isFollowing(callerUID, userData.theirid, function(isFollowing) {
|
|
|
|
|
posts.getPostsByUid(userData.theirid, 0, 9, function(posts) {
|
|
|
|
|
user.isFollowing(callerUID, userData.theirid, function (isFollowing) {
|
|
|
|
|
posts.getPostsByUid(userData.theirid, 0, 9, function (posts) {
|
|
|
|
|
|
|
|
|
|
userData.posts = posts.filter(function(p) {
|
|
|
|
|
userData.posts = posts.filter(function (p) {
|
|
|
|
|
return p.deleted !== "1";
|
|
|
|
|
});
|
|
|
|
|
userData.isFollowing = isFollowing;
|
|
|
|
@ -426,7 +430,7 @@ var user = require('./../user.js'),
|
|
|
|
|
if (callerUID !== userData.uid)
|
|
|
|
|
user.incrementUserFieldBy(userData.uid, 'profileviews', 1);
|
|
|
|
|
|
|
|
|
|
postTools.parse(userData.signature, function(err, signature) {
|
|
|
|
|
postTools.parse(userData.signature, function (err, signature) {
|
|
|
|
|
userData.signature = signature;
|
|
|
|
|
res.json(userData);
|
|
|
|
|
});
|
|
|
|
@ -449,7 +453,7 @@ var user = require('./../user.js'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getUsersSortedByJoinDate(req, res) {
|
|
|
|
|
user.getUsers('users:joindate', 0, 49, function(err, data) {
|
|
|
|
|
user.getUsers('users:joindate', 0, 49, function (err, data) {
|
|
|
|
|
res.json({
|
|
|
|
|
search_display: 'none',
|
|
|
|
|
loadmore_display: 'block',
|
|
|
|
@ -459,7 +463,7 @@ var user = require('./../user.js'),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getUsersSortedByPosts(req, res) {
|
|
|
|
|
user.getUsers('users:postcount', 0, 49, function(err, data) {
|
|
|
|
|
user.getUsers('users:postcount', 0, 49, function (err, data) {
|
|
|
|
|
res.json({
|
|
|
|
|
search_display: 'none',
|
|
|
|
|
loadmore_display: 'block',
|
|
|
|
@ -469,7 +473,7 @@ var user = require('./../user.js'),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getUsersSortedByReputation(req, res) {
|
|
|
|
|
user.getUsers('users:reputation', 0, 49, function(err, data) {
|
|
|
|
|
user.getUsers('users:reputation', 0, 49, function (err, data) {
|
|
|
|
|
res.json({
|
|
|
|
|
search_display: 'none',
|
|
|
|
|
loadmore_display: 'block',
|
|
|
|
@ -479,7 +483,7 @@ var user = require('./../user.js'),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getOnlineUsers(req, res) {
|
|
|
|
|
user.getUsers('users:online', 0, 49, function(err, data) {
|
|
|
|
|
user.getUsers('users:online', 0, 49, function (err, data) {
|
|
|
|
|
res.json({
|
|
|
|
|
search_display: 'none',
|
|
|
|
|
loadmore_display: 'block',
|
|
|
|
@ -497,14 +501,14 @@ var user = require('./../user.js'),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getUserDataByUserSlug(userslug, callerUID, callback) {
|
|
|
|
|
user.get_uid_by_userslug(userslug, function(err, uid) {
|
|
|
|
|
user.get_uid_by_userslug(userslug, function (err, uid) {
|
|
|
|
|
|
|
|
|
|
if (uid === null) {
|
|
|
|
|
callback(null);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.getUserData(uid, function(err, data) {
|
|
|
|
|
user.getUserData(uid, function (err, data) {
|
|
|
|
|
if (data) {
|
|
|
|
|
data.joindate = new Date(parseInt(data.joindate, 10)).toISOString();
|
|
|
|
|
|
|
|
|
@ -532,8 +536,8 @@ var user = require('./../user.js'),
|
|
|
|
|
data.yourid = callerUID;
|
|
|
|
|
data.theirid = uid;
|
|
|
|
|
|
|
|
|
|
user.getFollowingCount(uid, function(followingCount) {
|
|
|
|
|
user.getFollowerCount(uid, function(followerCount) {
|
|
|
|
|
user.getFollowingCount(uid, function (followingCount) {
|
|
|
|
|
user.getFollowerCount(uid, function (followerCount) {
|
|
|
|
|
data.followingCount = followingCount;
|
|
|
|
|
data.followerCount = followerCount;
|
|
|
|
|
callback(data);
|
|
|
|
|