|
@@ -1,4 +1,5 @@
|
|
|
var debug = require('debug')('crowi:lib:middlewares');
|
|
var debug = require('debug')('crowi:lib:middlewares');
|
|
|
|
|
+var md5 = require('md5');
|
|
|
|
|
|
|
|
exports.loginChecker = function(crowi, app) {
|
|
exports.loginChecker = function(crowi, app) {
|
|
|
return function(req, res, next) {
|
|
return function(req, res, next) {
|
|
@@ -57,6 +58,24 @@ exports.swigFunctions = function(crowi, app) {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
exports.swigFilters = function(app, swig) {
|
|
exports.swigFilters = function(app, swig) {
|
|
|
|
|
+
|
|
|
|
|
+ // define a function for Gravater
|
|
|
|
|
+ const generateGravatarSrc = function(user) {
|
|
|
|
|
+ const hash = md5(user.email.trim().toLowerCase());
|
|
|
|
|
+ return `http://www.gravatar.com/avatar/${hash}`;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // define a function for uploaded picture
|
|
|
|
|
+ const getUploadedPictureSrc = function(user) {
|
|
|
|
|
+ if (user.image !== undefined) {
|
|
|
|
|
+ return user.image;
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ return '/images/userpicture.png';
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
return function(req, res, next) {
|
|
return function(req, res, next) {
|
|
|
swig.setFilter('path2name', function(string) {
|
|
swig.setFilter('path2name', function(string) {
|
|
|
var name = string.replace(/(\/)$/, '');
|
|
var name = string.replace(/(\/)$/, '');
|
|
@@ -131,15 +150,19 @@ exports.swigFilters = function(app, swig) {
|
|
|
.replace(/\s(https?.+(jpe?g|png|gif))\s/, '\n\n\n\n\n\n');
|
|
.replace(/\s(https?.+(jpe?g|png|gif))\s/, '\n\n\n\n\n\n');
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ swig.setFilter('gravater', generateGravatarSrc);
|
|
|
|
|
+ swig.setFilter('uploadedpicture', getUploadedPictureSrc);
|
|
|
|
|
+
|
|
|
swig.setFilter('picture', function(user) {
|
|
swig.setFilter('picture', function(user) {
|
|
|
if (!user) {
|
|
if (!user) {
|
|
|
return '';
|
|
return '';
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (user.image && user.image != '/images/userpicture.png') {
|
|
|
|
|
- return user.image;
|
|
|
|
|
- } else {
|
|
|
|
|
- return '/images/userpicture.png';
|
|
|
|
|
|
|
+ if (user.isGravaterEnabled === true) {
|
|
|
|
|
+ return generateGravatarSrc(user);
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ return getUploadedPictureSrc(user);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|