social_stream-presence 0.1.2 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/chat_interface_manager.js.erb +43 -5
- data/app/assets/javascripts/chat_utilities.js +26 -0
- data/app/assets/javascripts/xmpp_client_management.js.erb +5 -1
- data/app/assets/stylesheets/chat.css +24 -0
- data/app/views/chat/_off.html.erb +0 -3
- data/app/views/xmpp/active_users.html.erb +1 -1
- data/config/locales/en.yml +4 -2
- data/config/locales/es.yml +3 -1
- data/config/routes.rb +3 -3
- data/ejabberd/conf/ssconfig_example.cfg +14 -20
- data/ejabberd/ejabberd_files.zip +0 -0
- data/ejabberd/ejabberd_scripts/authentication_script +3 -13
- data/ejabberd/ejabberd_scripts/development_scripts/show_config.sh +13 -9
- data/ejabberd/ejabberd_scripts/emanagement +65 -22
- data/ejabberd/ejabberd_scripts/reset_connection_script +1 -1
- data/ejabberd/ejabberd_scripts/set_connection_script +1 -1
- data/ejabberd/ejabberd_scripts/set_presence_script +1 -1
- data/ejabberd/ejabberd_scripts/set_script_header.sh +112 -0
- data/ejabberd/ejabberd_scripts/synchronize_presence_script +4 -2
- data/ejabberd/ejabberd_scripts/unset_connection_script +1 -1
- data/ejabberd/ejabberd_scripts/unset_presence_script +48 -0
- data/ejabberd/installer.sh +267 -0
- data/ejabberd/mod_sspresence/mod_sspresence.beam +0 -0
- data/ejabberd/mod_sspresence/mod_sspresence.erl +31 -99
- data/lib/generators/social_stream/presence/install_generator.rb +1 -1
- data/lib/generators/social_stream/presence/templates/initializer.rb +6 -4
- data/lib/social_stream-presence.rb +2 -1
- data/lib/social_stream/presence/models/buddy_manager.rb +1 -1
- data/lib/social_stream/presence/version.rb +1 -1
- data/lib/social_stream/presence/xmpp_server_order.rb +128 -28
- data/lib/tasks/presence/installer.rake +100 -0
- data/social_stream-presence.gemspec +2 -0
- data/vendor/assets/javascripts/jquery.ui.chatbox.js +18 -2
- metadata +23 -5
@@ -0,0 +1,100 @@
|
|
1
|
+
namespace :presence do
|
2
|
+
desc 'Copy ejabberd files to the xmpp server and write configuration files'
|
3
|
+
task :install => [ 'presence:install:copy_xmpp_server_files', 'presence:install_xmpp_server' , 'presence:autoconfigure_xmpp_server' ]
|
4
|
+
|
5
|
+
namespace :install do
|
6
|
+
|
7
|
+
desc "Copy ejabberd files to the xmpp server"
|
8
|
+
task :copy_xmpp_server_files => :environment do
|
9
|
+
puts "Starting presence:install:copy_xmpp_server_files"
|
10
|
+
|
11
|
+
presence_root = File.expand_path("../../../../", __FILE__)
|
12
|
+
opath = presence_root + "/ejabberd";
|
13
|
+
dpath = SocialStream::Presence.scripts_path + "/sstream_ejabberd_files";
|
14
|
+
|
15
|
+
#Cleaning dpath
|
16
|
+
SocialStream::Presence::XmppServerOrder::executeCommands(["rm -r " + dpath,"mkdir -p " + dpath])
|
17
|
+
#Copy folders
|
18
|
+
SocialStream::Presence::XmppServerOrder::copyFolder(opath,dpath)
|
19
|
+
|
20
|
+
puts "Social Stream Ejabberd files copied to " + dpath + " in Xmpp Server"
|
21
|
+
puts "Copy_xmpp_server_files: Task complete"
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
desc "Copy ejabberd files to the xmpp server and write configuration files"
|
26
|
+
task :xmpp_server, [:sudo_password] => :environment do |t, args|
|
27
|
+
puts "Starting presence:install_xmpp_server"
|
28
|
+
|
29
|
+
user = SocialStream::Presence::XmppServerOrder::getExecutorUser
|
30
|
+
unless user
|
31
|
+
puts "Specify ssh_user for remote access!"
|
32
|
+
exit 0
|
33
|
+
end
|
34
|
+
|
35
|
+
#Get password
|
36
|
+
if args[:sudo_password]
|
37
|
+
password = args[:sudo_password]
|
38
|
+
else
|
39
|
+
puts "[sudo] password for " + user + ":\n"
|
40
|
+
system "stty -echo"
|
41
|
+
password = STDIN.gets.chomp
|
42
|
+
system "stty echo"
|
43
|
+
|
44
|
+
if password.gsub(" ","")==""
|
45
|
+
puts "Please specify [sudo] password for " + user + " to execute the installer"
|
46
|
+
puts "You can provided it from keyboard input or execute the task as presence:install:xmpp_server[sudo_password]"
|
47
|
+
exit 0
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
#Copy files
|
52
|
+
Rake::Task["presence:install:copy_xmpp_server_files"].execute
|
53
|
+
|
54
|
+
commands = []
|
55
|
+
|
56
|
+
#Give permissions to installation script
|
57
|
+
commands << "chmod +x " + SocialStream::Presence.scripts_path + "/sstream_ejabberd_files/installer.sh"
|
58
|
+
|
59
|
+
#Get autoconfiguration values
|
60
|
+
options = SocialStream::Presence::XmppServerOrder::autoconf([])
|
61
|
+
|
62
|
+
#Execute installation script
|
63
|
+
commands << "echo " + password + " | sudo -S " + SocialStream::Presence.scripts_path + "/sstream_ejabberd_files/installer.sh \"ejabberd_module_path=" + SocialStream::Presence.ejabberd_module_path + "\" \"scripts_path=" + SocialStream::Presence.scripts_path + "\" \"" + options + "\""
|
64
|
+
|
65
|
+
#Execution order
|
66
|
+
output = SocialStream::Presence::XmppServerOrder::executeCommands(commands)
|
67
|
+
|
68
|
+
puts output
|
69
|
+
puts "Installation complete"
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
desc "Autoconfigure options"
|
74
|
+
task :autoconfigure_xmpp_server, [:options] => :environment do |t, args|
|
75
|
+
puts "Starting presence:install:autoconfigure_xmpp_server"
|
76
|
+
|
77
|
+
if args[:options]
|
78
|
+
manual_options = args[:options].split(';')
|
79
|
+
manual_options.each do |option|
|
80
|
+
if option.split('=').length != 2
|
81
|
+
puts "Syntax error: presence:install:autoconfigure_xmpp_server[key1=value1;key2=value2;removeThiskey=remove]"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
else
|
85
|
+
manual_options = []
|
86
|
+
end
|
87
|
+
|
88
|
+
commands = []
|
89
|
+
options = SocialStream::Presence::XmppServerOrder::autoconf(manual_options)
|
90
|
+
commands << SocialStream::Presence.scripts_path + "/sstream_ejabberd_files/installer.sh \"onlyconf=true\" \"" + options + "\""
|
91
|
+
|
92
|
+
#Execution order
|
93
|
+
output = SocialStream::Presence::XmppServerOrder::executeCommands(commands)
|
94
|
+
|
95
|
+
puts output
|
96
|
+
puts "Autoconfigure complete"
|
97
|
+
end
|
98
|
+
|
99
|
+
end
|
100
|
+
end
|
@@ -167,7 +167,9 @@
|
|
167
167
|
.addClass('ui-icon-minusthick ' + 'chat-thick ' + ' chat-minusthick')
|
168
168
|
.text('minimize')
|
169
169
|
.appendTo(uiChatboxTitlebarMinimize),
|
170
|
-
|
170
|
+
|
171
|
+
|
172
|
+
// content
|
171
173
|
uiChatboxContent = (self.uiChatboxContent = $('<div></div>'))
|
172
174
|
.addClass('ui-widget-content ' +
|
173
175
|
'ui-chatbox-content '
|
@@ -179,6 +181,19 @@
|
|
179
181
|
'ui-chatbox-log'
|
180
182
|
)
|
181
183
|
.appendTo(uiChatboxContent),
|
184
|
+
|
185
|
+
//Notification div
|
186
|
+
uiChatboxNotify = (self.uiChatboxNotify = $('<div></div>'))
|
187
|
+
.addClass('ui-widget-content ' +
|
188
|
+
'ui-chatbox-notify'
|
189
|
+
)
|
190
|
+
.click(function(event) {
|
191
|
+
// anything?
|
192
|
+
self.uiChatboxNotify.fadeOut();
|
193
|
+
})
|
194
|
+
.appendTo(uiChatboxContent),
|
195
|
+
|
196
|
+
|
182
197
|
uiChatboxInput = (self.uiChatboxInput = $('<div></div>'))
|
183
198
|
.addClass('ui-widget-content ' +
|
184
199
|
'ui-chatbox-input'
|
@@ -195,7 +210,8 @@
|
|
195
210
|
.appendTo(uiChatboxInput)
|
196
211
|
.keydown(function(event) {
|
197
212
|
if(event.keyCode && event.keyCode == $.ui.keyCode.ENTER) {
|
198
|
-
|
213
|
+
var userChatDataInputControlBoolean = (((typeof userChatDataInputControl == 'function')&&(userChatDataInputControl()))||((typeof userChatDataInputControl != 'function')));
|
214
|
+
if (userChatDataInputControlBoolean) {
|
199
215
|
msg = $.trim($(this).val());
|
200
216
|
if (msg.length > 0) {
|
201
217
|
self.options.messageSent(self.options.id, self.options.user, msg);
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Aldo Gordillo
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-12-07 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -59,7 +59,7 @@ dependencies:
|
|
59
59
|
type: :runtime
|
60
60
|
version_requirements: *id003
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
62
|
+
name: net-sftp
|
63
63
|
prerelease: false
|
64
64
|
requirement: &id004 !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
@@ -69,8 +69,21 @@ dependencies:
|
|
69
69
|
segments:
|
70
70
|
- 0
|
71
71
|
version: "0"
|
72
|
-
type: :
|
72
|
+
type: :runtime
|
73
73
|
version_requirements: *id004
|
74
|
+
- !ruby/object:Gem::Dependency
|
75
|
+
name: ruby-debug19
|
76
|
+
prerelease: false
|
77
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
segments:
|
83
|
+
- 0
|
84
|
+
version: "0"
|
85
|
+
type: :development
|
86
|
+
version_requirements: *id005
|
74
87
|
description: Social Stream is a Ruby on Rails engine providing your application with social networking features and activity streams.
|
75
88
|
email:
|
76
89
|
- iamchrono@gmail.com
|
@@ -127,6 +140,7 @@ files:
|
|
127
140
|
- db/migrate/20111116194112_add_chat_enabled_column_to_user.rb
|
128
141
|
- ejabberd/conf/ejabberd_example.cfg
|
129
142
|
- ejabberd/conf/ssconfig_example.cfg
|
143
|
+
- ejabberd/ejabberd_files.zip
|
130
144
|
- ejabberd/ejabberd_scripts/authentication_script
|
131
145
|
- ejabberd/ejabberd_scripts/development_scripts/compile_module
|
132
146
|
- ejabberd/ejabberd_scripts/development_scripts/generate_random_password
|
@@ -139,8 +153,11 @@ files:
|
|
139
153
|
- ejabberd/ejabberd_scripts/reset_connection_script
|
140
154
|
- ejabberd/ejabberd_scripts/set_connection_script
|
141
155
|
- ejabberd/ejabberd_scripts/set_presence_script
|
156
|
+
- ejabberd/ejabberd_scripts/set_script_header.sh
|
142
157
|
- ejabberd/ejabberd_scripts/synchronize_presence_script
|
143
158
|
- ejabberd/ejabberd_scripts/unset_connection_script
|
159
|
+
- ejabberd/ejabberd_scripts/unset_presence_script
|
160
|
+
- ejabberd/installer.sh
|
144
161
|
- ejabberd/mod_admin_extra/mod_admin_extra.beam
|
145
162
|
- ejabberd/mod_admin_extra/mod_admin_extra.erl
|
146
163
|
- ejabberd/mod_sspresence/mod_sspresence.beam
|
@@ -154,6 +171,7 @@ files:
|
|
154
171
|
- lib/social_stream/presence/version.rb
|
155
172
|
- lib/social_stream/presence/xmpp_server_order.rb
|
156
173
|
- lib/social_stream/views/settings/presence.rb
|
174
|
+
- lib/tasks/presence/installer.rake
|
157
175
|
- lib/tasks/presence/synchronize.rake
|
158
176
|
- social_stream-presence.gemspec
|
159
177
|
- spec/demo/.gitignore
|