From 97c0b130ca4293735c0aa03f49379abfe61a9189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 19 Feb 2015 12:23:36 -0500 Subject: [PATCH] closes #2691 --- src/groups.js | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/src/groups.js b/src/groups.js index 2c0015d75a..6cd0963525 100644 --- a/src/groups.js +++ b/src/groups.js @@ -207,28 +207,34 @@ var async = require('async'), results.base['cover:position'] = '50% 50%'; } - results.base.name = validator.escape(results.base.name); - results.base.description = validator.escape(results.base.description); - results.base.userTitle = validator.escape(results.base.userTitle); - results.base.createtimeISO = utils.toISOString(results.base.createtime); - results.base.members = results.users.filter(Boolean); - results.base.pending = results.pending.filter(Boolean); - results.base.count = numUsers || results.base.members.length; - results.base.memberCount = numUsers || results.base.members.length; - results.base.deleted = !!parseInt(results.base.deleted, 10); - results.base.hidden = !!parseInt(results.base.hidden, 10); - results.base.system = !!parseInt(results.base.system, 10); - results.base.private = results.base.private ? !!parseInt(results.base.private, 10) : true; - results.base.deletable = !results.base.system; - results.base.truncated = truncated; - results.base.isMember = results.isMember; - results.base.isPending = results.isPending; - results.base.isOwner = results.isOwner; - - - plugins.fireHook('filter:group.get', {group: results.base}, function(err, data) { - callback(err, data ? data.group : null); - }); + plugins.fireHook('filter:parse.raw', results.base.description, function(err, descriptionParsed) { + if (err) { + return callback(err); + } + results.base.name = validator.escape(results.base.name); + results.base.description = validator.escape(results.base.description); + results.base.descriptionParsed = descriptionParsed; + results.base.userTitle = validator.escape(results.base.userTitle); + results.base.createtimeISO = utils.toISOString(results.base.createtime); + results.base.members = results.users.filter(Boolean); + results.base.pending = results.pending.filter(Boolean); + results.base.count = numUsers || results.base.members.length; + results.base.memberCount = numUsers || results.base.members.length; + results.base.deleted = !!parseInt(results.base.deleted, 10); + results.base.hidden = !!parseInt(results.base.hidden, 10); + results.base.system = !!parseInt(results.base.system, 10); + results.base.private = results.base.private ? !!parseInt(results.base.private, 10) : true; + results.base.deletable = !results.base.system; + results.base.truncated = truncated; + results.base.isMember = results.isMember; + results.base.isPending = results.isPending; + results.base.isOwner = results.isOwner; + + + plugins.fireHook('filter:group.get', {group: results.base}, function(err, data) { + callback(err, data ? data.group : null); + }); + }); }); };