social_stream-presence 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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