Merge branch 'develop' into classes

Conflicts:
	views/options/inventory/stable.jade
This commit is contained in:
Tyler Renelle
2013-12-07 20:23:26 -07:00
10 changed files with 80 additions and 48 deletions
+1 -2
View File
@@ -16,8 +16,7 @@ var api = module.exports;
------------------------------------------------------------------------
*/
var itemFields = 'items.armor items.head items.shield items.weapon items.currentPet items.pets'; // TODO just send down count(items.pets) for better performance
var partyFields = 'profile preferences stats achievements party backer contributor flags.rest auth.timestamps ' + itemFields;
var partyFields = 'profile preferences stats achievements party backer contributor flags.rest auth.timestamps items';
var nameFields = 'profile.name';
var challengeFields = '_id name';
var guildPopulate = {path: 'members', select: nameFields, options: {limit: 15} };
+17 -3
View File
@@ -23,6 +23,16 @@ module.exports.cors = function(req, res, next) {
return next();
};
var siteVersion = 0;
module.exports.forceRefresh = function(req, res, next){
if(req.query.siteVersion && req.query.siteVersion != siteVersion){
return res.json(400, {needRefresh: true});
}
return next();
};
var buildFiles = [];
var walk = function(folder){
@@ -115,14 +125,15 @@ var momentLangsMapping = {
'no': 'nn'
};
var momentLangs = {};
_.each(langCodes, function(code){
var lang = _.find(avalaibleLanguages, {code: code});
lang.momentLangCode = (momentLangsMapping[code] || code);
try{
var momentLang = momentLangsMapping[code] ? momentLangsMapping[code] : code;
// MomentJS lang files are JS files that has to be executed in the browser so we load them as plain text files
var f = fs.readFileSync(path.join(__dirname, '/../node_modules/moment/lang/' + lang.momentLangCode + '.js'), 'utf8');
lang.momentLang = f;
momentLangs[code] = f;
}catch (e){}
});
@@ -159,6 +170,8 @@ module.exports.locals = function(req, res, next) {
getUserLanguage(req, function(err, language){
if(err) return res.json(500, {err: err});
language.momentLang = (momentLangs[language.code] || undefined);
res.locals.habitrpg = {
NODE_ENV: nconf.get('NODE_ENV'),
BASE_URL: nconf.get('BASE_URL'),
@@ -172,7 +185,8 @@ module.exports.locals = function(req, res, next) {
translations: translations[language.code],
t: function(string){
return (translations[language.code][string] || translations[language.code].stringNotFound);
}
},
siteVersion: siteVersion
}
next();
+2 -1
View File
@@ -7,6 +7,7 @@ var admin = require('../controllers/admin');
var challenges = require('../controllers/challenges');
var dataexport = require('../controllers/dataexport');
var nconf = require('nconf');
var middleware = require('../middleware');
/*
---------- /api/v1 API ------------
@@ -54,7 +55,7 @@ router.post('/user/buy/:key', auth.auth, cron, user.buy);
router.get('/user', auth.auth, cron, user.getUser);
router.put('/user', auth.auth, cron, user.updateUser);
router.post('/user/revive', auth.auth, cron, user.revive);
router.post('/user/batch-update', auth.auth, cron, user.batchUpdate);
router.post('/user/batch-update', middleware.forceRefresh, auth.auth, cron, user.batchUpdate);
router.post('/user/reroll', auth.auth, cron, user.reroll);
router.post('/user/buy-gems', auth.auth, user.buyGems);
router.post('/user/buy-gems/paypal-ipn', user.buyGemsPaypalIPN);