mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
change /user/uid to /uid/:uid
so it doesn't conflict with actual user routes was causing incorrect redirects if a user had a numeric userslug @julianlam
This commit is contained in:
@@ -166,7 +166,7 @@ middleware.checkAccountPermissions = function(req, res, next) {
|
||||
};
|
||||
|
||||
middleware.redirectUidToUserslug = function(req, res, next) {
|
||||
var uid = parseInt(req.params.userslug, 10);
|
||||
var uid = parseInt(req.params.uid, 10);
|
||||
if (!uid) {
|
||||
return next();
|
||||
}
|
||||
@@ -175,7 +175,9 @@ middleware.redirectUidToUserslug = function(req, res, next) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
var path = req.path.replace(/^\/api/, '').replace(uid, function() { return userslug; });
|
||||
var path = req.path.replace(/^\/api/, '')
|
||||
.replace('uid', 'user')
|
||||
.replace(uid, function() { return userslug; });
|
||||
controllers.helpers.redirect(res, path);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -4,8 +4,10 @@ var helpers = require('./helpers');
|
||||
var setupPageRoute = helpers.setupPageRoute;
|
||||
|
||||
module.exports = function (app, middleware, controllers) {
|
||||
var middlewares = [middleware.checkGlobalPrivacySettings, middleware.redirectUidToUserslug];
|
||||
var accountMiddlewares = [middleware.checkGlobalPrivacySettings, middleware.checkAccountPermissions, middleware.redirectUidToUserslug];
|
||||
var middlewares = [middleware.checkGlobalPrivacySettings];
|
||||
var accountMiddlewares = [middleware.checkGlobalPrivacySettings, middleware.checkAccountPermissions];
|
||||
|
||||
setupPageRoute(app, '/uid/:uid/:section?', middleware, [], middleware.redirectUidToUserslug);
|
||||
|
||||
setupPageRoute(app, '/user/:userslug', middleware, middlewares, controllers.accounts.profile.get);
|
||||
setupPageRoute(app, '/user/:userslug/following', middleware, middlewares, controllers.accounts.follow.getFollowing);
|
||||
|
||||
@@ -155,7 +155,7 @@ SocketUser.follow = function(socket, data, callback) {
|
||||
bodyShort: '[[notifications:user_started_following_you, ' + userData.username + ']]',
|
||||
nid: 'follow:' + data.uid + ':uid:' + socket.uid,
|
||||
from: socket.uid,
|
||||
path: '/user/' + socket.uid,
|
||||
path: '/uid/' + socket.uid,
|
||||
mergeId: 'notifications:user_started_following_you'
|
||||
}, next);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user