social_stream 0.11.2 → 0.11.3

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.
Files changed (168) hide show
  1. data/Gemfile +0 -9
  2. data/base/app/assets/stylesheets/contacts.css.scss +8 -3
  3. data/base/app/assets/stylesheets/frontpage.css.scss +1 -1
  4. data/base/app/assets/stylesheets/search.css.scss +17 -1
  5. data/base/app/controllers/contacts_controller.rb +2 -5
  6. data/base/app/models/contact.rb +3 -2
  7. data/base/app/views/activities/_options.html.erb +1 -1
  8. data/base/app/views/contacts/_form.html.erb +14 -7
  9. data/base/app/views/frontpage/_social_networks.html.erb +3 -0
  10. data/base/app/views/groups/_new.html.erb +2 -2
  11. data/base/app/views/groups/_show.html.erb +1 -2
  12. data/base/app/views/groups/index.html.erb +1 -1
  13. data/base/app/views/layouts/_header_signed_out.erb +1 -3
  14. data/base/app/views/notifications/activities/_follow_subject.html.erb +5 -2
  15. data/base/app/views/notifications/activities/_like_subject.html.erb +6 -2
  16. data/base/app/views/notifications/activities/_make-friend_subject.html.erb +5 -2
  17. data/base/app/views/notifications/activities/_post_subject.html.erb +6 -1
  18. data/base/app/views/notifications/activities/_update_body.html.erb +5 -1
  19. data/base/app/views/notifications/activities/_update_subject.html.erb +5 -1
  20. data/base/app/views/posts/_post_focus_search.html.erb +37 -3
  21. data/base/app/views/posts/_post_global_search.html.erb +2 -0
  22. data/base/app/views/profiles/_contact.html.erb +1 -1
  23. data/base/app/views/search/index.js.erb +2 -0
  24. data/base/app/views/toolbar/_home.html.erb +4 -0
  25. data/base/config/locales/en.yml +26 -0
  26. data/base/config/locales/es.yml +26 -0
  27. data/base/lib/mailboxer/notification_decoder.rb +8 -6
  28. data/base/lib/social_stream-base.rb +1 -1
  29. data/base/lib/social_stream/base/version.rb +1 -1
  30. data/base/lib/social_stream/migrations/components.rb +1 -1
  31. data/base/lib/social_stream/toolbar_config/base.rb +12 -1
  32. data/base/social_stream-base.gemspec +1 -1
  33. data/base/spec/controllers/contacts_controller_spec.rb +4 -4
  34. data/events/app/assets/javascripts/social_stream-events.js +2 -2
  35. data/events/app/assets/stylesheets/social_stream-events.css +3 -0
  36. data/events/{app → vendor}/assets/javascripts/jquery.ad-gallery.js +0 -0
  37. data/events/{app → vendor}/assets/javascripts/jquery.ad-gallery.pack.js +0 -0
  38. data/events/{app → vendor}/assets/stylesheets/ad_next.png +0 -0
  39. data/events/{app → vendor}/assets/stylesheets/ad_prev.png +0 -0
  40. data/events/{app → vendor}/assets/stylesheets/ad_scroll_back.png +0 -0
  41. data/events/{app → vendor}/assets/stylesheets/ad_scroll_forward.png +0 -0
  42. data/events/{app → vendor}/assets/stylesheets/fullcalendar.css +0 -0
  43. data/events/{app → vendor}/assets/stylesheets/fullcalendar.print.css +0 -0
  44. data/events/{app → vendor}/assets/stylesheets/jquery.ad-gallery.css +0 -0
  45. data/events/{app → vendor}/assets/stylesheets/loader.gif +0 -0
  46. data/events/vendor/assets/stylesheets/social_stream-events.css +273 -0
  47. data/lib/social_stream.rb +0 -4
  48. data/lib/social_stream/version.rb +1 -1
  49. data/presence/.gitignore +4 -0
  50. data/presence/Gemfile +4 -0
  51. data/presence/Rakefile +1 -0
  52. data/presence/app/assets/audio/chat/onMessageAudio.mp3 +0 -0
  53. data/presence/app/assets/audio/chat/onMessageAudio.wav +0 -0
  54. data/presence/app/assets/images/arrow.png +0 -0
  55. data/presence/app/assets/images/black_arrow3.png +0 -0
  56. data/presence/app/assets/images/status/available.png +0 -0
  57. data/presence/app/assets/images/status/away.png +0 -0
  58. data/presence/app/assets/images/status/dnd.png +0 -0
  59. data/presence/app/assets/javascripts/jquery-ui-1.8.14.custom.min.js +789 -0
  60. data/presence/app/assets/javascripts/jquery.tools.min.js +17 -0
  61. data/presence/app/assets/javascripts/jquery.tools.tooltip.js +11 -0
  62. data/presence/app/assets/javascripts/jquery.ui.chatbox.js +260 -0
  63. data/presence/app/assets/javascripts/social_stream-presence.js +2 -0
  64. data/presence/app/assets/javascripts/store.js +27 -0
  65. data/presence/app/assets/javascripts/strophe.js +3612 -0
  66. data/presence/app/assets/javascripts/xmpp_client.js +498 -0
  67. data/presence/app/assets/stylesheets/chat.css +231 -0
  68. data/presence/app/assets/stylesheets/jquery.ui.chatbox.css +54 -0
  69. data/presence/app/assets/stylesheets/social_stream-presence.css +3 -0
  70. data/presence/app/controllers/xmpp_controller.rb +190 -0
  71. data/presence/app/helpers/xmpp_helper.rb +33 -0
  72. data/presence/app/views/xmpp/_chat.html.erb +59 -0
  73. data/presence/app/views/xmpp/_chat_connecting.html.erb +8 -0
  74. data/presence/app/views/xmpp/_chat_contacts.html.erb +46 -0
  75. data/presence/app/views/xmpp/_chat_off.html.erb +35 -0
  76. data/presence/app/views/xmpp/active_users.html.erb +33 -0
  77. data/presence/app/views/xmpp/chat.html.erb +13 -0
  78. data/presence/app/views/xmpp/index.html +19 -0
  79. data/presence/app/views/xmpp/test.html.erb +11 -0
  80. data/presence/config/routes.rb +15 -0
  81. data/presence/db/migrate/20110711111408_add_connected_column_to_user.rb +9 -0
  82. data/presence/db/migrate/20110928135031_add_status_column_to_user.rb +9 -0
  83. data/presence/ejabberd/conf/ejabberd.cfg +625 -0
  84. data/presence/ejabberd/conf/ejabberdctl.cfg +154 -0
  85. data/presence/ejabberd/conf/inetrc +3 -0
  86. data/presence/ejabberd/conf/server.pem +37 -0
  87. data/presence/ejabberd/conf/ssconfig.cfg +29 -0
  88. data/presence/ejabberd/ejabberd_scripts/authentication_script +117 -0
  89. data/presence/ejabberd/ejabberd_scripts/authentication_script_org +114 -0
  90. data/presence/ejabberd/ejabberd_scripts/compile_module +34 -0
  91. data/presence/ejabberd/ejabberd_scripts/generate_random_password +18 -0
  92. data/presence/ejabberd/ejabberd_scripts/kill_authentication_script.sh +13 -0
  93. data/presence/ejabberd/ejabberd_scripts/reset_connection_script +55 -0
  94. data/presence/ejabberd/ejabberd_scripts/reset_logs.sh +23 -0
  95. data/presence/ejabberd/ejabberd_scripts/set_connection_script +48 -0
  96. data/presence/ejabberd/ejabberd_scripts/set_presence_script +48 -0
  97. data/presence/ejabberd/ejabberd_scripts/show_config.sh +30 -0
  98. data/presence/ejabberd/ejabberd_scripts/start_ejabberd.sh +68 -0
  99. data/presence/ejabberd/ejabberd_scripts/stop_ejabberd.sh +12 -0
  100. data/presence/ejabberd/ejabberd_scripts/synchronize_presence_script +57 -0
  101. data/presence/ejabberd/ejabberd_scripts/unset_connection_script +48 -0
  102. data/presence/ejabberd/mod_admin_extra/mod_admin_extra.beam +0 -0
  103. data/presence/ejabberd/mod_admin_extra/mod_admin_extra.erl +1560 -0
  104. data/presence/ejabberd/mod_sspresence/mod_sspresence.erl +230 -0
  105. data/presence/lib/social_stream-presence.rb +13 -0
  106. data/presence/lib/social_stream/migrations/presence.rb +9 -0
  107. data/presence/lib/social_stream/presence/config.rb +9 -0
  108. data/presence/lib/social_stream/presence/engine.rb +49 -0
  109. data/presence/lib/social_stream/presence/models/buddy_manager.rb +67 -0
  110. data/presence/social_stream-presence.gemspec +28 -0
  111. data/presence/spec/demo/.gitignore +5 -0
  112. data/presence/spec/demo/.rspec +1 -0
  113. data/presence/spec/demo/README +261 -0
  114. data/presence/spec/demo/Rakefile +7 -0
  115. data/presence/spec/demo/app/assets/images/rails.png +0 -0
  116. data/presence/spec/demo/app/assets/javascripts/application.js +9 -0
  117. data/presence/spec/demo/app/assets/stylesheets/application.css +7 -0
  118. data/presence/spec/demo/app/controllers/application_controller.rb +3 -0
  119. data/presence/spec/demo/app/helpers/application_helper.rb +2 -0
  120. data/presence/spec/demo/app/mailers/.gitkeep +0 -0
  121. data/presence/spec/demo/app/models/.gitkeep +0 -0
  122. data/presence/spec/demo/app/views/layouts/application.html.erb +14 -0
  123. data/presence/spec/demo/autotest/discover.rb +2 -0
  124. data/presence/spec/demo/config.ru +4 -0
  125. data/presence/spec/demo/config/application.rb +41 -0
  126. data/presence/spec/demo/config/boot.rb +6 -0
  127. data/presence/spec/demo/config/database.yml +25 -0
  128. data/presence/spec/demo/config/environment.rb +5 -0
  129. data/presence/spec/demo/config/environments/development.rb +27 -0
  130. data/presence/spec/demo/config/environments/production.rb +54 -0
  131. data/presence/spec/demo/config/environments/test.rb +39 -0
  132. data/presence/spec/demo/config/initializers/backtrace_silencers.rb +7 -0
  133. data/presence/spec/demo/config/initializers/inflections.rb +10 -0
  134. data/presence/spec/demo/config/initializers/mime_types.rb +5 -0
  135. data/presence/spec/demo/config/initializers/secret_token.rb +7 -0
  136. data/presence/spec/demo/config/initializers/session_store.rb +8 -0
  137. data/presence/spec/demo/config/initializers/wrap_parameters.rb +12 -0
  138. data/presence/spec/demo/config/locales/en.yml +5 -0
  139. data/presence/spec/demo/config/routes.rb +58 -0
  140. data/presence/spec/demo/db/seeds.rb +7 -0
  141. data/presence/spec/demo/doc/README_FOR_APP +2 -0
  142. data/presence/spec/demo/lib/tasks/.gitkeep +0 -0
  143. data/presence/spec/demo/log/.gitkeep +0 -0
  144. data/presence/spec/demo/public/404.html +26 -0
  145. data/presence/spec/demo/public/422.html +26 -0
  146. data/presence/spec/demo/public/500.html +26 -0
  147. data/presence/spec/demo/public/favicon.ico +0 -0
  148. data/presence/spec/demo/public/index.html +241 -0
  149. data/presence/spec/demo/public/robots.txt +5 -0
  150. data/presence/spec/demo/script/rails +6 -0
  151. data/presence/spec/demo/spec/spec_helper.rb +27 -0
  152. data/presence/spec/demo/test/fixtures/.gitkeep +0 -0
  153. data/presence/spec/demo/test/functional/.gitkeep +0 -0
  154. data/presence/spec/demo/test/integration/.gitkeep +0 -0
  155. data/presence/spec/demo/test/performance/browsing_test.rb +12 -0
  156. data/presence/spec/demo/test/test_helper.rb +13 -0
  157. data/presence/spec/demo/test/unit/.gitkeep +0 -0
  158. data/presence/spec/demo/vendor/assets/stylesheets/.gitkeep +0 -0
  159. data/presence/spec/demo/vendor/plugins/.gitkeep +0 -0
  160. data/presence/spec/discover.rb +2 -0
  161. data/presence/spec/spec_helper.rb +27 -0
  162. data/social_stream.gemspec +9 -2
  163. data/spec/dummy/config/environments/{test_pg.rb → test_mysql.rb} +6 -2
  164. data/spec/dummy/config/environments/test_postgres.rb +39 -0
  165. data/spec/spec_helper.rb +1 -4
  166. metadata +135 -21
  167. data/base/app/views/groups/_new_activity.html.erb +0 -1
  168. data/base/app/views/groups/_new_activity_fields.html.erb +0 -7
data/Gemfile CHANGED
@@ -15,12 +15,3 @@ end
15
15
  # gem 'social2social', :path => '../social2social'
16
16
 
17
17
  gemspec
18
-
19
- group :test do
20
- case ENV['DB']
21
- when 'mysql'
22
- gem 'mysql2'
23
- when 'postgres'
24
- gem 'pg'
25
- end
26
- end
@@ -58,12 +58,18 @@ span.ui-helper-hidden {
58
58
  }
59
59
 
60
60
  #contact-form label {
61
- display: block;
62
- font-family: sans-serif;
63
61
  padding: 2px;
62
+ }
63
+
64
+ #contact-form label[for=contact_message] {
65
+ display: block;
64
66
  margin-left: 20px;
65
67
  }
66
68
 
69
+ #contact-form .new_contact_text_area {
70
+ width: 99%;
71
+ }
72
+
67
73
  span.ui-radio-state-hover, span.ui-checkbox-state-hover {
68
74
  background-position: 0 -114px;
69
75
  }
@@ -92,4 +98,3 @@ span.ui-radio-state-checked-hover {
92
98
  .checked-option{
93
99
  background-color: $secondary-color;
94
100
  }
95
-
@@ -39,7 +39,7 @@ span.find{ padding-right:5px;}
39
39
  #icon_collaborate{ background: transparent url(frontpage/collaborate.png); width:56px; height:57px;}
40
40
  .icon_text{ text-align:center; width:100%; font-weight:bold;}
41
41
  #join_form{ margin: 15px 0px; text-align:center;}
42
- #join_form input[type="submit"] {font-size: 17px; padding: 6px 20px;}
42
+ #join_form input[type="submit"] {font-size: 14px; padding: 6px 10px;}
43
43
  .sentences{ width:80%; display:inline-block; vertical-align:top; padding-top:10px;}
44
44
  .sentences ul,.sentences li{ list-style-type:none; font-size:14px; margin-left:10px; padding-top:3px;}
45
45
  .sentences li.purple{ list-style-image:url("frontpage/purple_sq.png");}
@@ -118,7 +118,23 @@
118
118
  overflow: hidden;
119
119
  text-align: center;
120
120
  }
121
- .subject_search_results img {
121
+ .subject_search_results.post {
122
+ width: 560px;
123
+ height: 100%;
124
+ overflow: hidden;
125
+ text-align: center;
126
+ }
127
+ .subject_search_results.post .activity_objects a,.subject_search_results .brief a{
128
+ text-decoration: none;
129
+ color: inherit;
130
+ }
131
+ .subject_search_results .post.content_size {
132
+ word-wrap: break-word;
133
+ }
134
+ .subject_search_results .logo {
135
+ display:inline-block;
136
+ }
137
+ .subject_search_results .logo img {
122
138
  width: 48px;
123
139
  height: 48px;
124
140
  }
@@ -23,11 +23,8 @@ class ContactsController < ApplicationController
23
23
 
24
24
  def update
25
25
  # FIXME: This should be in the model
26
- if params[:contact][:relation_ids].present? &&
27
- params[:contact][:relation_ids].delete("gotcha") &&
28
- params[:contact][:relation_ids].blank?
29
- params[:contact][:relation_ids] << @contact.sender.relation_public.id
30
- end
26
+ params[:contact][:relation_ids].present? &&
27
+ params[:contact][:relation_ids].delete("0")
31
28
 
32
29
  if @contact.update_attributes(params[:contact])
33
30
  redirect_to @contact.receiver_subject
@@ -63,8 +63,8 @@ class Contact < ActiveRecord::Base
63
63
  end
64
64
  }
65
65
 
66
-
67
66
  validates_presence_of :sender_id, :receiver_id
67
+ validates_presence_of :relation_ids, :on => :update
68
68
  validates_uniqueness_of :sender_id, :scope => :receiver_id
69
69
  validates_uniqueness_of :receiver_id, :scope => :sender_id
70
70
 
@@ -181,7 +181,8 @@ class Contact < ActiveRecord::Base
181
181
  end
182
182
 
183
183
  def set_inverse
184
- inverse = Contact.sent_by(receiver_id).received_by(sender_id).first
184
+
185
+ inverse = self.class.sent_by(receiver_id).received_by(sender_id).first
185
186
 
186
187
  return if inverse.blank?
187
188
 
@@ -9,7 +9,7 @@
9
9
  <% if user_signed_in? %>
10
10
  ·
11
11
  <%= link_to activity.audience_in_words(current_subject, :details => :summary),
12
- '#',
12
+ 'javascript:;',
13
13
  :class => 'activity_audience_summary' %>
14
14
  <div class="activity_audience">
15
15
  <%= activity.audience_in_words(current_subject) %>
@@ -1,16 +1,23 @@
1
1
  <div id="contact-form">
2
2
  <%= form_for @contact do |f| %>
3
- <%= hidden_field_tag "contact[relation_ids][]", "gotcha" %>
3
+ <%= hidden_field_tag "contact[relation_ids][]", "0" %>
4
+
5
+ <% if @contact.errors.any? %>
6
+ <div id="error_explanation">
7
+ <h2><%= t 'contact.error_count', :count => @contact.errors.count %></h2>
8
+
9
+ <ul>
10
+ <% @contact.errors.full_messages.each do |msg| %>
11
+ <li><%= msg %></li>
12
+ <% end %>
13
+ </ul>
14
+ </div>
15
+ <% end %>
4
16
 
5
17
  <ul>
6
18
  <% current_subject.relation_customs.each do |relation| %>
7
19
  <li>
8
- <div contain="<%= dom_id relation %>">
9
- <input id="<%= dom_id relation %>" name="contact[relation_ids][]" value="<%= relation.id %>" type="checkbox" <%= raw('checked="checked"') if @contact.relation_ids.include?(relation.id) %> />
10
- <label for="<%= dom_id relation %>">
11
- <%= relation.name %>
12
- </label>
13
- </div>
20
+ <%= check_box_tag "contact[relation_ids][]", relation.id, f.object.relation_ids.include?(relation.id), :id => "contact_relation_ids_#{ relation.id }" %><%= label_tag "contact_relation_ids_#{ relation.id }", relation.name %>
14
21
  </li>
15
22
  <% end %>
16
23
  </ul>
@@ -0,0 +1,3 @@
1
+ <span>|</span>
2
+ <%= link_to image_tag('btn/facebook.png'), user_omniauth_authorize_path(:facebook), :class => "menu_icon" %>
3
+ <%= link_to image_tag('btn/linkedin.png'), user_omniauth_authorize_path(:linked_in), :class => "menu_icon" %>
@@ -12,8 +12,8 @@
12
12
  <% end %>
13
13
 
14
14
  <%= location(
15
- link_to(image_tag("btn/btn_group.png", :class => "menu_icon")+t('group.other'), groups_path),
16
- link_to(image_tag("btn/btn_group.png", :class => "menu_icon")+t('group.new.action'), new_group_path)
15
+ link_to(t('group.other'), groups_path),
16
+ link_to(t('group.new.action'), new_group_path)
17
17
  ) %>
18
18
 
19
19
  <div class="space_center"></div>
@@ -15,8 +15,7 @@
15
15
  <%= render :partial => 'sidebar_show' %>
16
16
  <% end %>
17
17
 
18
- <%= location(link_to(image_tag("btn/btn_group.png", :class => "btn_config")+t('group.one')+": "+
19
- content_tag(:span, ( truncate_name sanitize @group.name), :class=>"name_group")))%>
18
+ <%= location(link_to(t('group.one')+": "+truncate_name(sanitize @group.name)))%>
20
19
 
21
20
  <% toolbar :profile => @group %>
22
21
 
@@ -7,7 +7,7 @@
7
7
  <% content_for :sidebar do %>
8
8
  <%= render :partial => "groups/sidebar_index" %>
9
9
  <% end %>
10
- <%= location(image_tag("btn/btn_browse.png", :class=>"btn_config") + t('browse') +": "+
10
+ <%= location(t('browse') +": "+
11
11
  link_to(t('user.by'), users_path) + ", "+
12
12
  content_tag(:b,content_tag(:span, t('group.all'), :id=>'name_group')))%>
13
13
 
@@ -24,9 +24,7 @@
24
24
  <%= link_to t('sign_up'), new_user_registration_path, :class => "register_link" %>
25
25
  <span>|</span>
26
26
  <%= link_to t('forgot_password'), new_user_password_path, :class => "register_link" %>
27
- <span>|</span>
28
- <%= link_to image_tag('btn/facebook.png'), user_omniauth_authorize_path(:facebook), :class => "menu_icon" %>
29
- <%= link_to image_tag('btn/linkedin.png'), user_omniauth_authorize_path(:linked_in), :class => "menu_icon" %>
27
+ <%= render :partial => "frontpage/social_networks" %>
30
28
  </div>
31
29
  <% end -%>
32
30
  </div>
@@ -1,2 +1,5 @@
1
- %{sender} added %{who} as contact.
2
-
1
+ <% if activity.receiver.subject.is_a?(User) %>
2
+ <%= t('notification.added.user') %>
3
+ <% else %>
4
+ <%= t('notification.added.other') %>
5
+ <% end %>
@@ -1,5 +1,9 @@
1
1
  <% if activity.direct_object.is_a? Actor or activity.direct_object.respond_to? :actor %>
2
- %{sender} is now %{whose} fan.
2
+ <%= t('notification.fan')%>
3
3
  <% else %>
4
- %{sender} likes %{whose} %{object.name}%>
4
+ <% if activity.receiver.subject.is_a?(User) %>
5
+ <%= t('notification.like.user') %>
6
+ <% else %>
7
+ <%= t('notification.like.other') %>
8
+ <% end %>
5
9
  <% end %>
@@ -1,2 +1,5 @@
1
- %{sender} also added %{who} as contact.
2
-
1
+ <% if activity.receiver.subject.is_a?(User) %>
2
+ <%= t('notification.makefriend.user') %>
3
+ <% else %>
4
+ <%= t('notification.makefriend.other') %>
5
+ <% end %>
@@ -1 +1,6 @@
1
- %{sender} added a %{object} in %{whose} wall
1
+ <% if activity.receiver.subject.is_a?(User) %>
2
+ <%= t('notification.post.user') %>
3
+ <% else %>
4
+ <%= t('notification.post.other') %>
5
+ <% end %>
6
+
@@ -1 +1,5 @@
1
- %{sender} updated a %{object} in %{whose} wall.
1
+ <% if activity.receiver.subject.is_a?(User) %>
2
+ <%= t('notification.update.user') %>
3
+ <% else %>
4
+ <%= t('notification.update.other') %>
5
+ <% end %>
@@ -1 +1,5 @@
1
- %{sender.name} updated a %{object.name} in %{whose} wall
1
+ <% if activity.receiver.subject.is_a?(User) %>
2
+ <%= t('notification.update.user') %>
3
+ <% else %>
4
+ <%= t('notification.update.other') %>
5
+ <% end %>
@@ -1,3 +1,37 @@
1
- <%= div_for post, :class => 'content_size' do %>
2
- <%= simple_format post.text %>
3
- <% end %>
1
+ <% activity = post.post_activity %>
2
+ <%= div_for activity, :class => 'super_activity' do %>
3
+ <div class="actor_logo">
4
+ <%= link_to image_tag(activity.sender_subject.logo.url(:actor),
5
+ :alt => activity.sender_subject.name),
6
+ activity.sender_subject %>
7
+ </div>
8
+ <div class="activity_content">
9
+ <div class="actor_name">
10
+ <%= activity.title(self) %>
11
+ </div>
12
+ <div class="activity_objects">
13
+ <%= link_to post do%>
14
+ <% text = excerpt(strip_tags(post.text),get_search_query_words.first,:radius => 180) %>
15
+ <% if text.length < 400 %>
16
+ <% text = excerpt(strip_tags(post.text),get_search_query_words.first,:radius => 540 - text.length) %>
17
+ <% end %>
18
+ <%= highlight(text,get_search_query_words) %>
19
+ <% end %>
20
+ </div>
21
+ <div class="activity_options">
22
+ <div class="post_time_ago">
23
+ <%= t('time.ago', :time => time_ago_in_words(activity.created_at)) %>
24
+ </div>
25
+ <% if user_signed_in? %>
26
+ ·
27
+ <%= link_to activity.audience_in_words(current_subject, :details => :summary),
28
+ 'javascript:;',
29
+ :class => 'activity_audience_summary' %>
30
+ <div class="activity_audience">
31
+ <%= activity.audience_in_words(current_subject) %>
32
+ </div>
33
+ <% end %>
34
+ </div>
35
+ </div>
36
+ <% end %>
37
+
@@ -5,11 +5,13 @@
5
5
  </div>
6
6
  <div class="sub-block">
7
7
  <div class="brief">
8
+ <%= link_to post do%>
8
9
  <% text = excerpt(strip_tags(post.text),get_search_query_words.first,:radius => 25) %>
9
10
  <% if text.length < 60 %>
10
11
  <% text = excerpt(strip_tags(post.text),get_search_query_words.first,:radius => 30 + (60 - text.length)) %>
11
12
  <% end %>
12
13
  <%= highlight(text,get_search_query_words) %>
14
+ <% end %>
13
15
  <br>
14
16
  </div>
15
17
  </div>
@@ -63,7 +63,7 @@
63
63
  </div>
64
64
  </div>
65
65
  <%end%>
66
- <% if @profile.subject.email? %>
66
+ <% if @profile.subject.email? && user_signed_in? %>
67
67
  <div class="row">
68
68
  <div class="label">
69
69
  <%=t('profile.email')%>:
@@ -18,3 +18,5 @@
18
18
  <% end %>
19
19
 
20
20
  $('#global_search_input').removeClass("searching");
21
+
22
+ setActivityPrivacyTooltips();
@@ -7,5 +7,9 @@
7
7
  <%= yield(:toolbar_menu).empty? ? home_toolbar_menu : yield(:toolbar_menu)%>
8
8
  </div>
9
9
 
10
+ <% if defined?(SocialStream::Presence) %>
11
+ <%= render :partial => 'xmpp/chat' %>
12
+ <% end %>
13
+
10
14
  <div class="block space_center">
11
15
  </div>
@@ -17,6 +17,8 @@ en:
17
17
  privacy: "Privacy"
18
18
  activerecord:
19
19
  attributes:
20
+ contact:
21
+ relation_ids: "Contact type"
20
22
  user:
21
23
  email: "Email"
22
24
  name: "Name"
@@ -91,6 +93,9 @@ en:
91
93
  edit:
92
94
  title: "Edit contact to %{name}"
93
95
  submit: "Edit contact"
96
+ error_count:
97
+ one: "1 error prohibited this contact from being saved:"
98
+ other: "%{count} errors prohibited this contact from being saved:"
94
99
  graph:
95
100
  one: "Graph"
96
101
  empty: "We're sorry but you don't have any contacts yet. You can try the search box to look for somebody!"
@@ -242,14 +247,35 @@ en:
242
247
  sentbox: "Sentbox"
243
248
  trash: "Trash"
244
249
  notification:
250
+ added:
251
+ other: "%{sender} added %{who} as contact."
252
+ user: "%{sender} added %{who} as contact."
245
253
  confirm: "Confirm %{sender.name} as contact?"
246
254
  destroy_sure: "Do you want to delete this notification?"
255
+ fan: "%{sender} is now %{whose} fan."
256
+ like:
257
+ other: "%{sender} likes %{whose} %{object.name}."
258
+ user: "%{sender} likes %{whose} %{object.name}."
247
259
  look: "Take a look at %{sender.name}'s wall"
260
+ makefriend:
261
+ other: "%{sender} also added %{who} as contact."
262
+ user: "%{sender} also added %{who} as contact."
248
263
  one: "Notification"
249
264
  other: "Notifications"
265
+ post:
266
+ other: "%{sender} added a %{object} in %{whose} wall."
267
+ user: "%{sender} added a %{object} in %{whose} wall."
250
268
  read: "Mark as read"
251
269
  read_all: "Mark all as read"
252
270
  unread: "Mark as unread"
271
+ update:
272
+ other: "%{sender} updated a %{object} in %{whose} wall."
273
+ user: "%{sender} updated a %{object} in %{whose} wall."
274
+ who:
275
+ user: "you"
276
+ whose:
277
+ others: "%{receiver}'s"
278
+ user: "your"
253
279
  post:
254
280
  confirm_delete: "Delete post?"
255
281
  form:
@@ -17,6 +17,8 @@ es:
17
17
  privacy: "Privacidad"
18
18
  activerecord:
19
19
  attributes:
20
+ contact:
21
+ relation_ids: "El tipo de contacto"
20
22
  user:
21
23
  email: "Correo"
22
24
  name: "Nombre"
@@ -90,6 +92,9 @@ es:
90
92
  edit:
91
93
  title: "Editar contacto con %{name}"
92
94
  submit: "Editar contacto"
95
+ error_count:
96
+ one: "1 error impidió que se guardara este contacto:"
97
+ other: "%{count} errores impidieron que se guardara este contacto"
93
98
  graph:
94
99
  one: "Gráfico"
95
100
  empty: "Lo sentimos pero aún no tienes contactos, pero ¡puedes probar a buscar en la caja de búsqueda!"
@@ -239,14 +244,35 @@ es:
239
244
  sentbox: "Salida"
240
245
  trash: "Papelera"
241
246
  notification:
247
+ added:
248
+ other: "%{sender} añadió a %{who} como contacto."
249
+ user: "%{sender} te añadió como contacto."
242
250
  confirm: "¿Confirmar contacto con %{sender.name}?"
243
251
  destroy_sure: "¿Borrar notificación?"
252
+ fan: "%{sender} es ahora fan %{whose}."
253
+ like:
254
+ other: "A %{sender} le gusta el %{object.name} %{whose}."
255
+ user: "A %{sender} le gusta tu %{object.name}."
244
256
  look: "Écha un vistazo al muro de %{sender.name}"
257
+ makefriend:
258
+ other: "%{sender} también añadió a %{who} como contacto."
259
+ user: "%{sender} también te añadió como contacto."
245
260
  one: "Notificación"
246
261
  other: "Notificaciones"
262
+ post:
263
+ other: "%{sender} añadió %{object} en el muro %{whose}."
264
+ user: "%{sender} añadió %{object} en tu muro."
247
265
  read: "Marcar como leída"
248
266
  read_all: "Marcar todas como leídas"
249
267
  unread: "Marcar como no leídas"
268
+ update:
269
+ other: "%{sender} actualizó %{object} en el muro %{whose}."
270
+ user: "%{sender} actualizó %{object} en tu muro."
271
+ who:
272
+ user: "tú"
273
+ whose:
274
+ user: "tuyo"
275
+ others: "de %{receiver}"
250
276
  post:
251
277
  confirm_delete: "¿Borrar texto?"
252
278
  form: