mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-07-05 06:58:02 +02:00
added icons to all h1s in admin panel
languages tab in ACP each language now also has a "language.json"
This commit is contained in:
51
src/languages.js
Normal file
51
src/languages.js
Normal file
@@ -0,0 +1,51 @@
|
||||
var fs = require('fs'),
|
||||
path = require('path'),
|
||||
async = require('async'),
|
||||
|
||||
Languages = {};
|
||||
|
||||
Languages.list = function(callback) {
|
||||
var languagesPath = path.join(__dirname, '../public/language'),
|
||||
languages = [];
|
||||
|
||||
fs.readdir(languagesPath, function(err, files) {
|
||||
async.each(files, function(folder, next) {
|
||||
fs.stat(path.join(languagesPath, folder), function(err, stat) {
|
||||
if (!err) {
|
||||
if (stat.isDirectory()) {
|
||||
var configPath = path.join(languagesPath, folder, 'language.json');
|
||||
fs.exists(configPath, function(exists) {
|
||||
if (exists) {
|
||||
fs.readFile(configPath, function(err, stream) {
|
||||
languages.push(JSON.parse(stream.toString()));
|
||||
next();
|
||||
});
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
});
|
||||
}, function(err) {
|
||||
// Float "en" to the top
|
||||
languages = languages.sort(function(a, b) {
|
||||
if (a.code === 'en') {
|
||||
return -1;
|
||||
} else if (b.code === 'en') {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
callback(err, languages);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = Languages;
|
||||
@@ -11,11 +11,10 @@ var nconf = require('nconf'),
|
||||
categories = require('./../categories'),
|
||||
meta = require('../meta'),
|
||||
plugins = require('../plugins'),
|
||||
Languages = require('../languages'),
|
||||
events = require('./../events'),
|
||||
utils = require('./../../public/src/utils.js');
|
||||
|
||||
|
||||
|
||||
(function (Admin) {
|
||||
Admin.isAdmin = function (req, res, next) {
|
||||
user.isAdministrator((req.user && req.user.uid) ? req.user.uid : 0, function (err, isAdmin) {
|
||||
@@ -57,9 +56,9 @@ var nconf = require('nconf'),
|
||||
(function () {
|
||||
var routes = [
|
||||
'categories/active', 'categories/disabled', 'users', 'topics', 'settings', 'themes',
|
||||
'twitter', 'facebook', 'gplus', 'database', 'events', 'motd', 'groups', 'plugins', 'logger',
|
||||
'users/latest', 'users/sort-posts', 'users/sort-reputation',
|
||||
'users/search'
|
||||
'twitter', 'facebook', 'gplus', 'database', 'events', 'motd', 'groups', 'plugins',
|
||||
'languages', 'logger',
|
||||
'users/latest', 'users/sort-posts', 'users/sort-reputation', 'users/search'
|
||||
];
|
||||
|
||||
for (var i = 0, ii = routes.length; i < ii; i++) {
|
||||
@@ -384,6 +383,14 @@ var nconf = require('nconf'),
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/languages', function(req, res) {
|
||||
Languages.list(function(err, languages) {
|
||||
res.send(200, {
|
||||
languages: languages
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/settings', function (req, res) {
|
||||
res.json(200, {});
|
||||
});
|
||||
|
||||
@@ -80,14 +80,6 @@ var DebugRoute = function(app) {
|
||||
});
|
||||
|
||||
app.get('/test', function(req, res) {
|
||||
var Emailer = require('../emailer');
|
||||
Emailer.send('welcome', 1, {
|
||||
username: 'test',
|
||||
subject: 'this is a subject',
|
||||
site_title: 'derp',
|
||||
confirm_link: 'linkylink'
|
||||
});
|
||||
|
||||
res.send();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user