lib/facebooker/session.rb in taweili-facebooker-1.0.38 vs lib/facebooker/session.rb in taweili-facebooker-1.0.40
- old
+ new
@@ -70,10 +70,11 @@
WWW_PATH_ADD = "/add.php"
WWW_PATH_INSTALL = "/install.php"
attr_writer :auth_token
attr_reader :session_key
+ attr_reader :secret_from_session
def self.create(api_key=nil, secret_key=nil)
api_key ||= self.api_key
secret_key ||= self.secret_key
raise ArgumentError unless !api_key.nil? && !secret_key.nil?
@@ -179,14 +180,18 @@
def secured?
!@session_key.nil? && !expired?
end
- def secure!
- response = post 'facebook.auth.getSession', :auth_token => auth_token
+ def secure!(args = {})
+ response = post 'facebook.auth.getSession', :auth_token => auth_token, :generate_session_secret => args[:generate_session_secret] ? "1" : "0"
secure_with!(response['session_key'], response['uid'], response['expires'], response['secret'])
end
+
+ def secure_with_session_secret!
+ self.secure!(:generate_session_secret => true)
+ end
def secure_with!(session_key, uid = nil, expires = nil, secret_from_session = nil)
@session_key = session_key
@uid = uid ? Integer(uid) : post('facebook.users.getLoggedInUser', :session_key => session_key)
@expires = Integer(expires)
@@ -411,13 +416,13 @@
end
##
# Send email to as many as 100 users at a time
- def send_email(user_ids, subject, text, fbml = nil)
+ def send_email(user_ids, subject, text, fbml = nil)
user_ids = Array(user_ids)
params = {:fbml => fbml, :recipients => user_ids.map{ |id| User.cast_to_facebook_id(id)}.join(','), :text => text, :subject => subject}
- post 'facebook.notifications.sendEmail', params
+ post 'facebook.notifications.sendEmail', params, false
end
# Only serialize the bare minimum to recreate the session.
def marshal_load(variables)#:nodoc:
fields_to_serialize.each_with_index{|field, index| instance_variable_set_value(field, variables[index])}