diff --git a/packages/telescope-posts/lib/methods.js b/packages/telescope-posts/lib/methods.js index 9fa56b32f..576551599 100644 --- a/packages/telescope-posts/lib/methods.js +++ b/packages/telescope-posts/lib/methods.js @@ -184,6 +184,9 @@ Meteor.methods({ post.userId = user._id; } + post.user_ip = this.connection.clientAddress; + post.user_agent = this.connection.httpHeaders["user-agent"]; + return Posts.submit(post); }, diff --git a/packages/telescope-posts/lib/posts.js b/packages/telescope-posts/lib/posts.js index c37a39c75..3706994d5 100644 --- a/packages/telescope-posts/lib/posts.js +++ b/packages/telescope-posts/lib/posts.js @@ -201,6 +201,21 @@ Posts.schema = new SimpleSchema({ type: Boolean, optional: true }, + /** + Save info for later spam checking on a post. We will use this for the akismet package + */ + user_ip: { + type: String, + optional: true + }, + user_agent: { + type: String, + optional: true + }, + referrer: { + type: String, + optional: true + }, /** The post author's name */ diff --git a/packages/telescope-posts/lib/server/publications.js b/packages/telescope-posts/lib/server/publications.js index 436b8ce83..f65165869 100644 --- a/packages/telescope-posts/lib/server/publications.js +++ b/packages/telescope-posts/lib/server/publications.js @@ -3,7 +3,7 @@ Posts._ensureIndex({"status": 1, "postedAt": 1}); // Publish a list of posts Meteor.publish('postsList', function(terms) { - + this.unblock(); terms.userId = this.userId; // add userId to terms if(Users.can.viewById(this.userId)){ @@ -20,6 +20,7 @@ Meteor.publish('postsList', function(terms) { Meteor.publish('postsListUsers', function(terms) { + this.unblock(); terms.userId = this.userId; // add userId to terms if(Users.can.viewById(this.userId)){ @@ -44,6 +45,7 @@ Meteor.publish('postsListUsers', function(terms) { Meteor.publish('singlePost', function(postId) { check(postId, String); + this.unblock(); if (Users.can.viewById(this.userId)){ return Posts.find(postId); @@ -56,6 +58,7 @@ Meteor.publish('singlePost', function(postId) { Meteor.publish('postUsers', function(postId) { check(postId, String); + this.unblock(); if (Users.can.viewById(this.userId)){ // publish post author and post commenters diff --git a/packages/telescope-posts/package.js b/packages/telescope-posts/package.js index 770cd7372..5edfef7f9 100644 --- a/packages/telescope-posts/package.js +++ b/packages/telescope-posts/package.js @@ -14,7 +14,8 @@ Package.onUse(function (api) { 'telescope:i18n@0.25.6', 'telescope:settings@0.25.6', 'telescope:users@0.25.6', - 'telescope:comments@0.25.6' + 'telescope:comments@0.25.6', + 'meteorhacks:unblock' ]); api.addFiles([