Skip to content
Extraits de code Groupes Projets
Valider 606c7a02 rédigé par maxwell's avatar maxwell Validation de danielvincent
Parcourir les fichiers

MS DG public message now post to twitter, if connected

parent c4ff07b0
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -12,7 +12,7 @@ gem 'devise_invitable', '~> 0.3.4'
#Authentication
gem 'omniauth'
gem 'twitter'
#Mongo
gem 'mongo_mapper', :branch => 'rails3', :git => 'git://github.com/jnunemaker/mongomapper.git'
gem 'bson_ext', '1.1'
......
......@@ -13,10 +13,13 @@ class OmniauthServicesController < ApplicationController
def create
auth = request.env['omniauth.auth']
puts auth['extra']['access_token'].inspect
current_user.services.create(:provider => auth['provider'], :uid => auth['uid'])
access_token = auth['extra']['access_token']
user = auth['user_info']
current_user.services.create(:nickname => user['nickname'],
:access_token => access_token.token,
:access_secret => access_token.secret,
:provider => auth['provider'],
:uid => auth['uid'])
flash[:notice] = "Authentication successful."
redirect_to omniauth_services_url
end
......
......@@ -10,12 +10,17 @@ class StatusMessagesController < ApplicationController
def create
data = clean_hash params[:status_message]
message = params[:status_message][:message]
if logged_into_fb? && params[:status_message][:public] == '1'
current_user.post_to_message_fb(params[:status_message][:message], @access_token)
if params[:status_message][:public] == '1'
current_user.post_to_twitter(message)
if logged_into_fb?
current_user.post_to_message_fb(message, @access_token)
end
end
@status_message = current_user.post(:status_message, data)
render :nothing => true
end
......
......@@ -9,5 +9,7 @@ class OmniauthService
key :provider, String
key :uid, String
key :access_token, String
key :access_secret, String
key :nickname, String
end
......@@ -161,6 +161,16 @@ class User
EventMachine::HttpRequest.new("https://graph.facebook.com/me/feed?message=#{message}&access_token=#{access_token}").post
end
def post_to_twitter(message)
twitter = self.services.find_by_provider("twitter")
if twitter
oauth = Twitter::OAuth.new(SERVICES['twitter']['consumer_token'], SERVICES['twitter']['consumer_secret'])
oauth.authorize_from_access(twitter.access_token, twitter.access_secret)
client = Twitter::Base.new(oauth)
client.update(message)
end
end
def intitial_post(class_name, aspect_ids, options = {})
post = build_post(class_name, options)
post.socket_to_uid(id, :aspect_ids => aspect_ids) if post.respond_to?(:socket_to_uid)
......
......@@ -8,9 +8,10 @@
%ul#stream
- for service in @services
%h3
= service.provider
%b= service.provider
logged in as
%b
=service.uid
= service.nickname
= link_to "disconnect", service, :confirm => "disconnect #{service.provider}?", :method => :delete
= link_to "Connect to twitter", "/auth/twitter"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter