Commit 4a11447ab8f7105b45545dc6cf6669f53e0e8eae
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'AI3074-community_dashboard' of gitlab.com:participa/noosfero into …
…AI3074-community_dashboard
Showing
2 changed files
with
33 additions
and
37 deletions
Show diff stats
plugins/community_hub/facebook_stream/lib_facebook_stream.rb
| ... | ... | @@ -8,45 +8,41 @@ require 'json' |
| 8 | 8 | # BACKUP TOKEN 'CAAEhsewl0ZAcBAHhipXszZCURSwWLmgvceDbs9mB5baJdLriFxYMEzywmF2fvZBuThuA2Mm7QF8wPd3E6R5pVqVEnC2VhcBb4VrfAnkZC73ZC5g1NRUnKZCB2e6CaRiUBDatR2nf505PeKp7Aj5XxvTdfSqdZCsXxQFYZApPNSUUgkUWm6HwL4rp21MRJXb612sZD' |
| 9 | 9 | |
| 10 | 10 | def facebook_comments(hub, author_id, page_id, pooling_time, token, proxy_url) |
| 11 | - if pooling_time == nil | |
| 12 | - pooling_time = 5 | |
| 13 | - end | |
| 11 | + pooling_time ||= 5 | |
| 12 | + Koala.http_service.http_options = { :proxy => proxy_url } unless proxy_url.blank? | |
| 13 | + | |
| 14 | 14 | @graph = Koala::Facebook::API.new(token) |
| 15 | 15 | initialComments = [] |
| 16 | - extractedComments = [] | |
| 17 | 16 | firstTime = true |
| 18 | 17 | while true |
| 19 | - feed = @graph.get_connections(page_id, "posts") | |
| 20 | - array = [] | |
| 21 | - extractedComments = [] | |
| 22 | - feed.each {|f| | |
| 23 | - if f['comments'] != nil && f['comments']['data'] != nil | |
| 24 | - array.push(f['comments']['data']) | |
| 25 | - end | |
| 26 | - } | |
| 27 | - array.each{ |comments| | |
| 28 | - comments.each{|comment| | |
| 29 | - extractedComments.push("#{comment['from']['name']} " + _("said") + ": #{comment['message']}") | |
| 30 | - } | |
| 31 | - } | |
| 32 | - extractedComments = extractedComments.uniq | |
| 33 | - if firstTime | |
| 34 | - initialComments=extractedComments.clone | |
| 35 | - firstTime = false | |
| 18 | + feed = @graph.get_connections(page_id, "posts") | |
| 19 | + array = [] | |
| 20 | + extractedComments = [] | |
| 21 | + feed.each {|f| | |
| 22 | + if f['comments'] != nil && f['comments']['data'] != nil | |
| 23 | + array.push(f['comments']['data']) | |
| 36 | 24 | end |
| 37 | - newComments = extractedComments - initialComments | |
| 38 | - newComments = newComments.uniq | |
| 39 | - initialComments += newComments | |
| 40 | - initialComments = initialComments.uniq | |
| 41 | - newComments.each{|comment| | |
| 42 | - puts comment | |
| 43 | - noosferoComment = Comment.new | |
| 44 | - noosferoComment.title = 'hub-message-facebook' | |
| 45 | - noosferoComment.source_id = hub.id | |
| 46 | - noosferoComment.body = comment | |
| 47 | - noosferoComment.author_id = author_id | |
| 48 | - noosferoComment.save! | |
| 49 | - } | |
| 50 | - sleep(pooling_time) | |
| 25 | + } | |
| 26 | + extractedComments = array.flatten.uniq | |
| 27 | + if firstTime | |
| 28 | + initialComments = extractedComments.clone | |
| 29 | + firstTime = false | |
| 51 | 30 | end |
| 52 | -end | |
| 53 | 31 | \ No newline at end of file |
| 32 | + newComments = extractedComments - initialComments | |
| 33 | + newComments = newComments.uniq | |
| 34 | + initialComments += newComments | |
| 35 | + initialComments = initialComments.uniq | |
| 36 | + newComments.each{|comment| | |
| 37 | + puts "#{comment['from']['name']} " + _("said") + ": #{comment['message']}" | |
| 38 | + noosferoComment = Comment.new | |
| 39 | + noosferoComment.title = 'hub-message-facebook' | |
| 40 | + noosferoComment.source = hub | |
| 41 | + noosferoComment.body = comment['message'] | |
| 42 | + noosferoComment.author_id = author_id | |
| 43 | + noosferoComment.name = comment['from']['name'] | |
| 44 | + noosferoComment.email = 'admin@localhost.local' | |
| 45 | + noosferoComment.save! | |
| 46 | + } | |
| 47 | + sleep(pooling_time) | |
| 48 | + end | |
| 49 | +end | ... | ... |
plugins/community_hub/lib/community_hub_plugin/hub.rb
| ... | ... | @@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../../facebook_stream/lib_facebook_stream' |
| 3 | 3 | |
| 4 | 4 | class CommunityHubPlugin::Hub < Folder |
| 5 | 5 | |
| 6 | - settings_items :proxy_url, :type => :string, :default => 'http://161.148.1.167:3128' # Remember to use add the port, if needed! | |
| 6 | + settings_items :proxy_url, :type => :string, :default => 'http://161.148.1.167:3128' # Remember to use add the port, in case needed. | |
| 7 | 7 | settings_items :twitter_enabled, :type => :boolean, :default => false |
| 8 | 8 | settings_items :hashtags_twitter, :type => :string, :default => "participa.br,participabr,arenanetmundial,netmundial" |
| 9 | 9 | settings_items :facebook_enabled, :type => :boolean, :default => false | ... | ... |