mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 20:16:04 +01:00
new translation strings for pages, proper unicode handling in parseFragment
This commit is contained in:
@@ -3,5 +3,10 @@
|
||||
"unread": "Unread Topics",
|
||||
"recent": "Recent Topics",
|
||||
"users": "Registered Users",
|
||||
"notifications": "Notifications"
|
||||
"notifications": "Notifications",
|
||||
"user.edit": "Editing \"%1\"",
|
||||
"user.following": "People %1 Follows",
|
||||
"user.followers": "People who Follow %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
28
src/meta.js
28
src/meta.js
@@ -6,7 +6,8 @@ var fs = require('fs'),
|
||||
|
||||
utils = require('./../public/src/utils'),
|
||||
db = require('./database'),
|
||||
plugins = require('./plugins');
|
||||
plugins = require('./plugins'),
|
||||
User = require('./user');
|
||||
|
||||
|
||||
(function (Meta) {
|
||||
@@ -161,10 +162,15 @@ var fs = require('fs'),
|
||||
};
|
||||
|
||||
Meta.title = {
|
||||
tests: {
|
||||
isCategory: /^category\/\d+\/?/,
|
||||
isTopic: /^topic\/\d+\/?/,
|
||||
isUserPage: /^user\/[^\/]+(\/[\w]+)?/
|
||||
},
|
||||
build: function (urlFragment, callback) {
|
||||
var user = require('./user');
|
||||
|
||||
Meta.title.parseFragment(urlFragment, function(err, title) {
|
||||
Meta.title.parseFragment(decodeURIComponent(urlFragment), function(err, title) {
|
||||
var title;
|
||||
|
||||
if (err) {
|
||||
@@ -186,18 +192,32 @@ var fs = require('fs'),
|
||||
translator.translate('[[pages:' + urlFragment + ']]', function(translated) {
|
||||
callback(null, translated);
|
||||
});
|
||||
} else if (/^category\/\d+\/?/.test(urlFragment)) {
|
||||
} else if (this.tests.isCategory.test(urlFragment)) {
|
||||
var cid = urlFragment.match(/category\/(\d+)/)[1];
|
||||
|
||||
require('./categories').getCategoryField(cid, 'name', function (err, name) {
|
||||
callback(null, name);
|
||||
});
|
||||
} else if (/^topic\/\d+\/?/.test(urlFragment)) {
|
||||
} else if (this.tests.isTopic.test(urlFragment)) {
|
||||
var tid = urlFragment.match(/topic\/(\d+)/)[1];
|
||||
|
||||
require('./topics').getTopicField(tid, 'title', function (err, title) {
|
||||
callback(null, title);
|
||||
});
|
||||
} else if (this.tests.isUserPage.test(urlFragment)) {
|
||||
var matches = urlFragment.match(/user\/([^\/]+)\/?([\w]+)?/),
|
||||
userslug = matches[1],
|
||||
subpage = matches[2];
|
||||
|
||||
User.getUsernameByUserslug(userslug, function(err, username) {
|
||||
if (subpage) {
|
||||
translator.translate('[[pages:user.' + subpage + ', ' + username + ']]', function(translated) {
|
||||
callback(null, translated);
|
||||
})
|
||||
} else {
|
||||
callback(null, username);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
callback(null);
|
||||
}
|
||||
|
||||
11
src/user.js
11
src/user.js
@@ -733,6 +733,17 @@ var bcrypt = require('bcryptjs'),
|
||||
});
|
||||
};
|
||||
|
||||
User.getUsernameByUserslug = function(slug, callback) {
|
||||
async.waterfall([
|
||||
function(next) {
|
||||
User.getUidByUserslug(slug, next);
|
||||
},
|
||||
function(uid, next) {
|
||||
User.getUserField(uid, 'username', next);
|
||||
}
|
||||
], callback);
|
||||
};
|
||||
|
||||
User.getUidByEmail = function(email, callback) {
|
||||
db.getObjectField('email:uid', email, function(err, data) {
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user