From 910e9d6ee016b9859f4a3e725ccfd7af2592ea4e Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Fri, 12 Jul 2013 16:23:35 -0400 Subject: [PATCH] closes #73 --- src/posts.js | 2 +- src/user.js | 17 ++++++++++------- src/webserver.js | 11 +++++++++-- src/websockets.js | 2 +- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/posts.js b/src/posts.js index 024364abc1..1e0ed0c820 100644 --- a/src/posts.js +++ b/src/posts.js @@ -38,7 +38,7 @@ marked.setOptions({ post.username = userData.username || 'anonymous'; post.userslug = userData.userslug || ''; post.user_rep = userData.reputation || 0; - post.picture = userData.picture || 'http://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e'; + post.picture = userData.picture || require('gravatar').url('', {}, https=global.config.https); post.signature = marked(userData.signature || ''); callback(); diff --git a/src/user.js b/src/user.js index a80a10c873..8ec58e6f44 100644 --- a/src/user.js +++ b/src/user.js @@ -338,16 +338,19 @@ var utils = require('./../public/src/utils.js'), }); } - User.createGravatarURLFromEmail = function(email) { - var forceDefault = '' + var options = { + size: '128', + default: 'identicon', + rating: 'pg' + }; + if (!email) { - email = '0000', - forceDefault = '&forceDefault=y'; + email = ''; + options.forcedefault = 'y'; } - var emailHash = crypto.createHash('md5').update(email.toLowerCase().trim()).digest('hex'); - // @todo: https asset support? - return 'http://www.gravatar.com/avatar/' + emailHash + '?default=identicon&s=128' + forceDefault; + + return require('gravatar').url(email, options, https=global.config.https); } User.hashPassword = function(password, callback) { diff --git a/src/webserver.js b/src/webserver.js index eb7acb862a..cc64a9086c 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -63,6 +63,9 @@ var express = require('express'), auth.initialize(app); app.use(function(req, res, next) { + + global.config.https = req.connection.encrypted !== undefined; + // Don't bother with session handling for API requests if (/^\/api\//.test(req.url)) return next(); @@ -261,9 +264,13 @@ var express = require('express'), app.get('/test', function(req, res) { console.log('derp'); - user.get_userslugs_by_uids([1,2], function(data) { + /*user.get_userslugs_by_uids([1,2], function(data) { res.send(data); - }); + });*/ + var gravatar= require('gravatar'); + var img = gravatar.url('', {}, https=false); + res.send(img); + // 'http://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e' /* categories.getCategoryById(1,1, function(data) { res.send(data); diff --git a/src/websockets.js b/src/websockets.js index 6f9cb127b5..9a703ebb0c 100644 --- a/src/websockets.js +++ b/src/websockets.js @@ -146,7 +146,7 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), uid:0, username: "Anonymous User", email: '', - picture: 'http://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?s=24' + picture: require('gravatar').url('', {s:'24'}, https=global.config.https) }); }