social_stream-presence 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -241,12 +241,6 @@ function initAndPlaySound(sound){
241
241
  //Chat view jquery
242
242
  ////////////////////
243
243
 
244
- function initDelegates(){
245
- $('.user_presence').delegate( '.user_presence a[title]', 'hover', function(){
246
- e.preventDefault();
247
- });
248
- }
249
-
250
244
  function setUserFunctions(){
251
245
 
252
246
  $("div.user_presence").click(function(event, ui){
@@ -52,7 +52,7 @@ class XmppController < ApplicationController
52
52
  return
53
53
  end
54
54
 
55
- render :text => "Error"
55
+ render :text => "User not connected"
56
56
  end
57
57
 
58
58
 
@@ -117,6 +117,10 @@ class XmppController < ApplicationController
117
117
  status = params[:status]
118
118
 
119
119
  if setStatus(user,status)
120
+ if user && !user.connected
121
+ user.connected = true
122
+ user.save!
123
+ end
120
124
  render :text => 'Status changed'
121
125
  else
122
126
  render :text => 'Status not changed'
@@ -130,7 +134,17 @@ class XmppController < ApplicationController
130
134
  render :text => "Authorization error"
131
135
  return
132
136
  end
133
- render :text => "Ok"
137
+
138
+ user = User.find_by_slug(params[:name])
139
+
140
+ if user && user.connected
141
+ user.connected = false
142
+ user.save!
143
+ render :text => "Ok"
144
+ return
145
+ end
146
+
147
+ render :text => "User not connected"
134
148
  end
135
149
 
136
150
  def authorization
@@ -158,49 +172,7 @@ class XmppController < ApplicationController
158
172
  end
159
173
 
160
174
  def test
161
- puts "TEST"
162
-
163
- # Thread.start{
164
-
165
- # #XMPP DOMAIN
166
- # domain = SocialStream::Presence.domain
167
- # #PASSWORD
168
- # password= SocialStream::Presence.password
169
- # #SS Username
170
- # ss_name = SocialStream::Presence.social_stream_presence_username
171
- # ss_sid = ss_name + "@" + domain
172
- #
173
- # client = Jabber::Client.new(Jabber::JID.new(ss_sid))
174
- # client.connect
175
- # client.auth(password)
176
- #
177
- # #Remove all rosters
178
- # msg = Jabber::Message::new(ss_sid, "SynchronizeRosters")
179
- # msg.type=:chat
180
- # client.send(msg)
181
- #
182
- #
183
- # #Write rosters
184
- # users = User.all
185
- # checkedUsers = []
186
- #
187
- # users.each do |user|
188
- # checkedUsers << user.slug
189
- # contacts = user.contact_actors(:type=>:user)
190
- # contacts.each do |contact|
191
- # unless checkedUsers.include?(contact.slug)
192
- # user_sid = user.slug + "@" + domain
193
- # buddy_sid = contact.slug + "@" + domain
194
- # msg = Jabber::Message::new(ss_sid, "SetRosterForBidirectionalTie&" + user_sid + "&" + buddy_sid + "&" + user.name + "&" + contact.name)
195
- # msg.type=:chat
196
- # client.send(msg)
197
- # end
198
- # end
199
- # end
200
- #
201
- # client.close()
202
- # }
203
-
175
+ #puts "TEST"
204
176
  end
205
177
 
206
178
 
@@ -52,7 +52,6 @@
52
52
  }
53
53
  initialTimer = setTimeout("updateChatWindow()", 15000);
54
54
  initAudio();
55
- initDelegates();
56
55
  });
57
56
 
58
57
  </script>
@@ -9,4 +9,6 @@ SocialStream::Presence.setup do |config|
9
9
  config.xmpp_server_password = "G&s6GBnO)anw2Ene%K12Cb=0quj@uDmA"
10
10
  #Username of the the Social Stream Admin sid
11
11
  config.social_stream_presence_username = "social_stream-presence"
12
+ #True to enable Social Stream Presence
13
+ config.enable = true
12
14
  end
@@ -12,6 +12,7 @@ module SocialStream
12
12
  mattr_accessor :password
13
13
  mattr_accessor :xmpp_server_password
14
14
  mattr_accessor :social_stream_presence_username
15
+ mattr_accessor :enable
15
16
 
16
17
  class << self
17
18
  def setup
@@ -2,7 +2,6 @@ require 'social_stream/migrations/components'
2
2
 
3
3
  module SocialStream
4
4
  module Migrations
5
- # Migrate Documents
6
5
  class Presence < Components
7
6
  end
8
7
  end
@@ -1,9 +1,3 @@
1
- require 'xmpp4r'
2
- require 'xmpp4r/muc'
3
- require 'xmpp4r/roster'
4
- require 'xmpp4r/client'
5
- require 'xmpp4r/message'
6
-
7
1
  module SocialStream
8
2
  module Presence
9
3
  class Engine < Rails::Engine
@@ -15,48 +9,7 @@ module SocialStream
15
9
  end
16
10
 
17
11
  end
18
-
19
- initializer "social_stream-presence.synchronize" do
20
- #Synchronize User Presence
21
- #Reset connected users when XMMP Server Down
22
- Thread.start {
23
- begin
24
- #XMPP DOMAIN
25
- domain = SocialStream::Presence.domain
26
- #PASSWORD
27
- password= SocialStream::Presence.password
28
- #SS Username
29
- ss_name = SocialStream::Presence.social_stream_presence_username
30
-
31
- ss_sid = ss_name + "@" + domain
32
- client = Jabber::Client.new(Jabber::JID.new(ss_sid))
33
- client.connect
34
- client.auth(password)
35
-
36
- msg = Jabber::Message::new(ss_sid, "Synchronize")
37
- msg.type=:chat
38
- client.send(msg)
39
- client.close()
40
-
41
- rescue Exception => e
42
- case e
43
- when Errno::ECONNREFUSED
44
- begin
45
- users = User.find_all_by_connected(true)
46
- users.each do |user|
47
- user.connected = false
48
- user.save!
49
- end
50
- puts "Connection to XMPP Server refused: Reset Connected Users"
51
- rescue
52
- end
53
- else
54
- puts "Unknown exception: #{e.to_s}"
55
- end
56
- end
57
- }
58
- end
59
-
12
+
60
13
  end
61
14
  end
62
15
  end
@@ -18,6 +18,10 @@ module SocialStream
18
18
 
19
19
  def save_buddy
20
20
 
21
+ unless SocialStream::Presence.enable
22
+ return
23
+ end
24
+
21
25
  unless self.receiver.subject_type == "User" and self.sender.subject_type == "User"
22
26
  return
23
27
  end
@@ -1,5 +1,5 @@
1
1
  module Socialstream
2
2
  module Presence
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
@@ -7,7 +7,42 @@ namespace :presence do
7
7
  desc "Synchronize user presence."
8
8
  task :connections => :environment do
9
9
  puts "Starting presence:synchronize:connections"
10
- puts "Synchronization complete"
10
+
11
+ begin
12
+ #XMPP DOMAIN
13
+ domain = SocialStream::Presence.domain
14
+ #PASSWORD
15
+ password= SocialStream::Presence.password
16
+ #SS Username
17
+ ss_name = SocialStream::Presence.social_stream_presence_username
18
+
19
+ ss_sid = ss_name + "@" + domain
20
+ client = Jabber::Client.new(Jabber::JID.new(ss_sid))
21
+ client.connect
22
+ client.auth(password)
23
+
24
+ msg = Jabber::Message::new(ss_sid, "Synchronize")
25
+ msg.type=:chat
26
+ client.send(msg)
27
+ client.close()
28
+
29
+ rescue Exception => e
30
+ case e
31
+ when Errno::ECONNREFUSED
32
+ desc "Reset connected users when XMMP Server Down"
33
+ puts "Connection to XMPP Server refused: Reset Connected Users"
34
+ users = User.find_all_by_connected(true)
35
+ users.each do |user|
36
+ user.connected = false
37
+ user.save!
38
+ end
39
+ else
40
+ puts "Unknown exception: #{e.to_s}"
41
+ return
42
+ end
43
+ end
44
+
45
+ puts "Synchronization complete"
11
46
  end
12
47
 
13
48
  desc "Remove all rosters and populate rosters from Social Stream data."
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: social_stream-presence
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.5
5
+ version: 0.0.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Aldo Gordillo
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-10-17 00:00:00 +02:00
13
+ date: 2011-10-24 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency