From 896abb59d3b608b414a198b1ae4df1384dc4f4fe Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 30 Sep 2015 14:37:26 -0400 Subject: [PATCH] Update default gravatar admin option to defaultAvatar --- src/controllers/admin/uploads.js | 4 ++-- src/middleware/middleware.js | 2 +- src/routes/admin.js | 2 +- src/upgrade.js | 35 ++++++++++++++++++++++++++++++- src/user.js | 19 ----------------- src/views/admin/settings/user.tpl | 18 +++------------- 6 files changed, 41 insertions(+), 39 deletions(-) diff --git a/src/controllers/admin/uploads.js b/src/controllers/admin/uploads.js index c299eb5e5c..16242fe18b 100644 --- a/src/controllers/admin/uploads.js +++ b/src/controllers/admin/uploads.js @@ -93,8 +93,8 @@ uploadsController.uploadLogo = function(req, res, next) { upload('site-logo', req, res, next); }; -uploadsController.uploadGravatarDefault = function(req, res, next) { - upload('gravatar-default', req, res, next); +uploadsController.uploadDefaultAvatar = function(req, res, next) { + upload('avatar-default', req, res, next); }; function upload(name, req, res, next) { diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index 4e900cb408..5b5ad36a6a 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -249,7 +249,7 @@ middleware.renderHeader = function(req, res, data, callback) { next(null, { username: '[[global:guest]]', userslug: '', - picture: user.createGravatarURLFromEmail(''), + picture: meta.config.defaultAvatar, status: 'offline', banned: false, uid: 0 diff --git a/src/routes/admin.js b/src/routes/admin.js index eb261b58be..f60b398bb2 100644 --- a/src/routes/admin.js +++ b/src/routes/admin.js @@ -15,7 +15,7 @@ function apiRoutes(router, middleware, controllers) { router.post('/uploadfavicon', middlewares, controllers.admin.uploads.uploadFavicon); router.post('/uploadTouchIcon', middlewares, controllers.admin.uploads.uploadTouchIcon); router.post('/uploadlogo', middlewares, controllers.admin.uploads.uploadLogo); - router.post('/uploadgravatardefault', middlewares, controllers.admin.uploads.uploadGravatarDefault); + router.post('/uploadDefaultAvatar', middlewares, controllers.admin.uploads.uploadDefaultAvatar); } function adminRouter(middleware, controllers) { diff --git a/src/upgrade.js b/src/upgrade.js index f7fa3eed2e..9e8636c6d4 100644 --- a/src/upgrade.js +++ b/src/upgrade.js @@ -21,7 +21,7 @@ var db = require('./database'), schemaDate, thisSchemaDate, // IMPORTANT: REMEMBER TO UPDATE VALUE OF latestSchema - latestSchema = Date.UTC(2015, 8, 27); + latestSchema = Date.UTC(2015, 8, 30); Upgrade.check = function(callback) { db.get('schemaDate', function(err, value) { @@ -507,6 +507,39 @@ Upgrade.upgrade = function(callback) { winston.info('[2015/09/27] Generating user icons skipped'); next(); } + }, + function(next) { + thisSchemaDate = Date.UTC(2015, 8, 30); + if (schemaDate < thisSchemaDate) { + updatesMade = true; + winston.info('[2015/09/30] Converting default Gravatar image to default User Avatar'); + + async.waterfall([ + async.apply(db.isObjectField, 'config', 'customGravatarDefaultImage'), + function(keyExists, _next) { + if (keyExists) { + _next(); + } else { + winston.info('[2015/09/30] Converting default Gravatar image to default User Avatar skipped'); + Upgrade.update(thisSchemaDate, next); + next(); + } + }, + async.apply(db.getObjectField, 'config', 'customGravatarDefaultImage'), + async.apply(db.setObjectField, 'config', 'defaultAvatar'), + async.apply(db.deleteObjectField, 'config', 'customGravatarDefaultImage') + ], function(err) { + if (err) { + return next(err); + } + + winston.info('[2015/09/30] Converting default Gravatar image to default User Avatar done'); + Upgrade.update(thisSchemaDate, next); + }); + } else { + winston.info('[2015/09/30] Converting default Gravatar image to default User Avatar skipped'); + next(); + } } diff --git a/src/user.js b/src/user.js index 5f8a5c4d6c..c18ac0abc6 100644 --- a/src/user.js +++ b/src/user.js @@ -142,25 +142,6 @@ var async = require('async'), return isOnline ? (status || 'online') : 'offline'; }; - User.createGravatarURLFromEmail = function(email) { - var customGravatarDefaultImage = meta.config.customGravatarDefaultImage; - if (customGravatarDefaultImage && customGravatarDefaultImage.indexOf('http') === -1) { - customGravatarDefaultImage = nconf.get('url') + meta.config.customGravatarDefaultImage; - } - - var options = { - size: parseInt(meta.config.profileImageDimension, 10) || 128, - default: customGravatarDefaultImage || meta.config.defaultGravatarImage || 'identicon', - rating: 'pg' - }; - - if (!email) { - email = ''; - } - - return gravatar.url(email, options, true); - }; - User.hashPassword = function(password, callback) { if (!password) { return callback(null, password); diff --git a/src/views/admin/settings/user.tpl b/src/views/admin/settings/user.tpl index f5cc3884ee..400ca1297b 100644 --- a/src/views/admin/settings/user.tpl +++ b/src/views/admin/settings/user.tpl @@ -85,23 +85,11 @@
- - -
- -
- +
- + - +