social_stream 0.30.0 → 0.30.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -2
- data/base/app/assets/javascripts/social_stream.wall.js.erb +1 -1
- data/base/app/helpers/contacts_helper.rb +7 -1
- data/base/app/models/activity.rb +16 -5
- data/base/app/models/activity_verb.rb +1 -1
- data/base/app/models/comment.rb +1 -1
- data/base/app/models/site.rb +16 -0
- data/base/app/views/notification_mailer/new_notification_email.text.erb +6 -2
- data/base/app/views/notifications/_notification.html.erb +10 -1
- data/base/app/views/notifications/activities/_join.html.erb +15 -0
- data/base/app/views/notifications/activities/_join.text.erb +8 -0
- data/base/config/locales/en.yml +2 -1
- data/base/config/locales/zh.yml +552 -0
- data/base/db/migrate/20121031111857_create_sites.rb +9 -0
- data/base/lib/social_stream/base/version.rb +1 -1
- data/base/lib/social_stream/controllers/objects.rb +1 -0
- data/base/spec/models/site_spec.rb +21 -0
- data/events/lib/social_stream/events/version.rb +1 -1
- data/events/social_stream-events.gemspec +1 -1
- data/events/vendor/assets/javascripts/fullcalendar.js +31 -21
- data/events/vendor/assets/stylesheets/fullcalendar.css +2 -2
- data/events/vendor/assets/stylesheets/fullcalendar.print.css +2 -2
- data/lib/social_stream/version.rb +1 -1
- data/social_stream.gemspec +2 -2
- metadata +12 -6
data/Gemfile
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
# Freeze
|
4
|
-
|
3
|
+
# Freeze rails version
|
4
|
+
# https://github.com/ging/social_stream/issues/291
|
5
|
+
gem 'rails', '3.2.8'
|
5
6
|
|
6
7
|
# Uncomment the following lines if you are planing to
|
7
8
|
# use a local code of any of these gems
|
@@ -34,7 +34,7 @@ SocialStream.Wall = (function(SS, $, undefined){
|
|
34
34
|
$('.activity_form_selector').removeClass('selected');
|
35
35
|
$(this).addClass('selected');
|
36
36
|
$('#wrapper_activities_header form').hide();
|
37
|
-
$('#
|
37
|
+
$('#' + this.id.replace(/^select/, 'new')).show();
|
38
38
|
});
|
39
39
|
}
|
40
40
|
|
@@ -18,7 +18,13 @@ module ContactsHelper
|
|
18
18
|
if user_signed_in?
|
19
19
|
contact_link current_subject.contact_to!(a)
|
20
20
|
else
|
21
|
-
|
21
|
+
if SocialStream.relation_model == :follow
|
22
|
+
form_tag new_user_session_path do |f|
|
23
|
+
submit_tag t('contact.follow')
|
24
|
+
end
|
25
|
+
else
|
26
|
+
link_to t("contact.new.link"), new_user_session_path
|
27
|
+
end
|
22
28
|
end
|
23
29
|
end
|
24
30
|
end
|
data/base/app/models/activity.rb
CHANGED
@@ -197,8 +197,8 @@ class Activity < ActiveRecord::Base
|
|
197
197
|
case verb
|
198
198
|
when "follow", "make-friend", "like"
|
199
199
|
I18n.t "activity.verb.#{ verb }.#{ receiver.subject_type }.title",
|
200
|
-
|
201
|
-
|
200
|
+
:subject => view.link_name(sender_subject),
|
201
|
+
:contact => view.link_name(receiver_subject)
|
202
202
|
when "post", "update"
|
203
203
|
if sender == receiver
|
204
204
|
view.link_name sender_subject
|
@@ -207,6 +207,11 @@ class Activity < ActiveRecord::Base
|
|
207
207
|
:sender => view.link_name(sender_subject),
|
208
208
|
:receiver => view.link_name(receiver_subject)
|
209
209
|
end
|
210
|
+
when 'join'
|
211
|
+
I18n.t('notification.join.one',
|
212
|
+
:sender => view.link_name(sender_subject),
|
213
|
+
:thing => I18n.t(direct_object.class.to_s.underscore+'.one'),
|
214
|
+
:title => title_of(direct_object))
|
210
215
|
else
|
211
216
|
"Must define activity title"
|
212
217
|
end.html_safe
|
@@ -230,20 +235,20 @@ class Activity < ActiveRecord::Base
|
|
230
235
|
def stream_content
|
231
236
|
stream_title
|
232
237
|
end
|
233
|
-
|
238
|
+
|
234
239
|
def notificable?
|
235
240
|
is_root? or ['post','update'].include?(root.verb)
|
236
241
|
end
|
237
242
|
|
238
243
|
def notify
|
239
244
|
return true unless notificable?
|
240
|
-
#Avaible verbs: follow, like, make-friend, post, update
|
245
|
+
#Avaible verbs: follow, like, make-friend, post, update, join
|
241
246
|
|
242
247
|
if direct_object.is_a? Comment
|
243
248
|
participants.each do |p|
|
244
249
|
p.notify(notification_subject, "Youre not supposed to see this", self) unless p == sender
|
245
250
|
end
|
246
|
-
elsif ['like','follow','make-friend','post','update'].include? verb and !reflexive?
|
251
|
+
elsif ['like','follow','make-friend','post','update', 'join'].include? verb and !reflexive?
|
247
252
|
receiver.notify(notification_subject, "Youre not supposed to see this", self)
|
248
253
|
end
|
249
254
|
true
|
@@ -346,6 +351,12 @@ class Activity < ActiveRecord::Base
|
|
346
351
|
:whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
|
347
352
|
:receiver => receiver_name),
|
348
353
|
:thing => I18n.t(direct_object.class.to_s.underscore+'.one'))
|
354
|
+
when 'join'
|
355
|
+
I18n.t('notification.join.one' ,
|
356
|
+
:sender => sender_name,
|
357
|
+
:thing => I18n.t(direct_object.class.to_s.underscore+'.title.one'),
|
358
|
+
:title => title_of(direct_object))
|
359
|
+
|
349
360
|
else
|
350
361
|
t('notification.default')
|
351
362
|
end
|
data/base/app/models/comment.rb
CHANGED
@@ -37,7 +37,7 @@ class Comment < ActiveRecord::Base
|
|
37
37
|
def decrement_comment_count
|
38
38
|
return if self.post_activity.blank? || self.post_activity.parent.blank?
|
39
39
|
|
40
|
-
self.post_activity.parent.direct_activity_object.
|
40
|
+
self.post_activity.parent.direct_activity_object.try(:decrement!, :comment_count)
|
41
41
|
end
|
42
42
|
|
43
43
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Site is used to store the global configuration. Example:
|
2
|
+
#
|
3
|
+
# Site.config[:host] = 'example.com'
|
4
|
+
# Site.save!
|
5
|
+
class Site < ActiveRecord::Base
|
6
|
+
attr_accessible :config
|
7
|
+
|
8
|
+
serialize :config, Hash
|
9
|
+
|
10
|
+
class << self
|
11
|
+
def current
|
12
|
+
@current ||=
|
13
|
+
first || create!
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -2,9 +2,13 @@
|
|
2
2
|
<% locale_as @receiver.subject %>
|
3
3
|
<%= t('notification.hello', :receiver => @receiver.name)%>
|
4
4
|
|
5
|
-
|
5
|
+
<% if @notification.notified_object.verb == 'join' %>
|
6
|
+
<%= render :partial => "notifications/activities/join_#{ @notification.notified_object.direct_object.class.to_s.underscore }",
|
7
|
+
:locals =>{:activity => @notification.notified_object} %>
|
8
|
+
<% else %>
|
9
|
+
<%= render :partial => "notifications/activities/#{ @notification.notified_object.verb }",
|
6
10
|
:locals =>{:activity => @notification.notified_object}%>
|
7
|
-
|
11
|
+
<% end %>
|
8
12
|
|
9
13
|
-----------------------------------------------
|
10
14
|
<%= raw t('notification.visit', :url=> notifications_url)%>
|
@@ -15,10 +15,19 @@
|
|
15
15
|
<%= t('time.ago', :time => time_ago_in_words(notification.created_at)) %>
|
16
16
|
</div>
|
17
17
|
</div>
|
18
|
+
|
19
|
+
|
20
|
+
|
18
21
|
<div class="content_right">
|
19
22
|
<div class="briefing">
|
20
|
-
|
23
|
+
<% if notification.notified_object.verb == 'join' %>
|
24
|
+
<%= render :partial => "notifications/activities/join_#{ notification.notified_object.direct_object.class.to_s.underscore }",
|
25
|
+
:locals =>{:activity => notification.notified_object} %>
|
26
|
+
<% else %>
|
27
|
+
|
28
|
+
<%= render :partial => "notifications/activities/#{ notification.notified_object.verb }",
|
21
29
|
:locals =>{:activity => notification.notified_object} %>
|
30
|
+
<% end %>
|
22
31
|
</div>
|
23
32
|
<div class="clearfloat">
|
24
33
|
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<div class="subject">
|
2
|
+
<%= raw t('notification.join.one' ,
|
3
|
+
:sender => link_to(truncate_name(activity.sender.name), polymorphic_url(activity.sender.subject)),
|
4
|
+
:thing => I18n.t(activity.direct_object.class.to_s.underscore+'.one'),
|
5
|
+
:title => title_of(activity.direct_object)) %>
|
6
|
+
</div>
|
7
|
+
<div class="briefing">
|
8
|
+
<% if activity.direct_object.respond_to? :text %>
|
9
|
+
"<%= link_to(sanitize(activity.direct_object.text.truncate(100, :separator =>' ')),
|
10
|
+
notification_url_of(activity.direct_object, @notification))%>"
|
11
|
+
<% else%>
|
12
|
+
<%= link_to(t('notification.watch_it'),
|
13
|
+
notification_url_of( activity.direct_object, @notification))%>
|
14
|
+
<%end%>
|
15
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%= raw t('notification.join.one' ,
|
2
|
+
:sender => link_to(truncate_name(activity.sender.name), polymorphic_url(activity.sender.subject)),
|
3
|
+
:thing => I18n.t(activity.direct_object.class.to_s.underscore+'.one'),
|
4
|
+
:title => title_of(activity.direct_object)) %>
|
5
|
+
|
6
|
+
<%= raw t('notification.look', :sender => truncate_name(activity.sender.name))%>: <%=polymorphic_url(activity.sender.subject)%>
|
7
|
+
<%= raw t('notification.confirm', :sender => truncate_name(activity.sender.name)) %> <%= edit_contact_url(activity.receiver.contact_to!(activity.sender),
|
8
|
+
:s => activity.receiver.slug)%>
|
data/base/config/locales/en.yml
CHANGED
@@ -66,7 +66,6 @@ en:
|
|
66
66
|
atom_title: "Activity Stream from %{subject}"
|
67
67
|
title:
|
68
68
|
follow: "%{author} added %{activity_object} as contact"
|
69
|
-
unfollow: "%{author} removed %{activity_object} as contact"
|
70
69
|
like: "%{author} likes %{activity_object}"
|
71
70
|
make-friend: "%{author} also added %{activity_object} as contact"
|
72
71
|
post: "%{author} posted %{activity_object}"
|
@@ -89,6 +88,8 @@ en:
|
|
89
88
|
Group:
|
90
89
|
title: "%{subject} is a fan of %{contact}."
|
91
90
|
message: "%{name} is now your fan."
|
91
|
+
join:
|
92
|
+
one: "%{sender} joined the %{title} %{thing}."
|
92
93
|
make-friend:
|
93
94
|
User:
|
94
95
|
title: "%{subject} and %{contact} are now connected."
|
@@ -0,0 +1,552 @@
|
|
1
|
+
zh:
|
2
|
+
language_name: "中文"
|
3
|
+
actor:
|
4
|
+
name: "姓名"
|
5
|
+
action:
|
6
|
+
send: "送出"
|
7
|
+
accept: "接收"
|
8
|
+
account:
|
9
|
+
cancel: "取消帐号"
|
10
|
+
edit: "编辑帐号"
|
11
|
+
email:
|
12
|
+
change: "更改邮箱地址"
|
13
|
+
lang:
|
14
|
+
change: "切换语言"
|
15
|
+
one: "帐号"
|
16
|
+
password:
|
17
|
+
change: "修改密码"
|
18
|
+
new: "新密码"
|
19
|
+
retype: "再次输入新密码"
|
20
|
+
privacy: "私隐"
|
21
|
+
activerecord:
|
22
|
+
attributes:
|
23
|
+
contact:
|
24
|
+
relation_ids: "联系方式"
|
25
|
+
relation/custom:
|
26
|
+
name: "姓名"
|
27
|
+
user:
|
28
|
+
email: "邮箱"
|
29
|
+
name: "姓名"
|
30
|
+
password: "密码"
|
31
|
+
password_confirmation: "确定密码"
|
32
|
+
remember_me: "记住我"
|
33
|
+
activity:
|
34
|
+
audience:
|
35
|
+
hidden:
|
36
|
+
summary: "禁止"
|
37
|
+
full: "连接分享 %{audience}"
|
38
|
+
public:
|
39
|
+
summary: "公开"
|
40
|
+
full: "分享给网络"
|
41
|
+
show: "展示"
|
42
|
+
visible:
|
43
|
+
summary: "禁止"
|
44
|
+
full: "分享 %{audience}"
|
45
|
+
confirm_delete: "刪除活动?"
|
46
|
+
delete: "删除"
|
47
|
+
last: "次前活动"
|
48
|
+
like: "我喜爱"
|
49
|
+
like_sentence:
|
50
|
+
one: "%{likers} 喜欢这个"
|
51
|
+
other: "%{likers} 喜欢这个"
|
52
|
+
more:
|
53
|
+
one: "一个活动"
|
54
|
+
other: "很多活动"
|
55
|
+
privacy:
|
56
|
+
myself:
|
57
|
+
contacts:
|
58
|
+
group: "所有会员"
|
59
|
+
user: "发送给"
|
60
|
+
outside:
|
61
|
+
contacts:
|
62
|
+
group: "会员的 %{receiver}"
|
63
|
+
user: "联系的 %{receiver}"
|
64
|
+
sending: "传送中"
|
65
|
+
stream:
|
66
|
+
atom_title: "%{subject}的活动流"
|
67
|
+
title:
|
68
|
+
follow: "%{author}已加了%{activity_object}為关连"
|
69
|
+
like: "%{author}喜欢%{activity_object}"
|
70
|
+
make-friend: "%{author}还加了%{activity_object}为关连"
|
71
|
+
post: "%{author}发布了%{activity_object}"
|
72
|
+
updated: "%{author}更新了%{activity_object}"
|
73
|
+
title: "活动"
|
74
|
+
to_comment: "评论"
|
75
|
+
unlike: "我不再喜欢了"
|
76
|
+
verb:
|
77
|
+
follow:
|
78
|
+
User:
|
79
|
+
title: "%{subject} 已加 %{contact} 作为联络."
|
80
|
+
message: "%{name} 已加您作为联系人."
|
81
|
+
Group:
|
82
|
+
title: "%{subject} 已加 %{contact} 作为联络."
|
83
|
+
message: "%{name} 已加您作为联络."
|
84
|
+
like:
|
85
|
+
User:
|
86
|
+
title: "%{subject} 已成为粉丝 %{contact}."
|
87
|
+
message: "%{name} 已成为你的粉丝."
|
88
|
+
Group:
|
89
|
+
title: "%{subject} 已成为粉丝 %{contact}."
|
90
|
+
message: "%{name} 已成为你的粉丝."
|
91
|
+
make-friend:
|
92
|
+
User:
|
93
|
+
title: "%{subject} 和 %{contact} 现已連结."
|
94
|
+
message: "%{姓名} 已加您作为联系人."
|
95
|
+
Group:
|
96
|
+
title: "%{subject} 已加 %{contact} 联络."
|
97
|
+
message: "%{name} 已加您作为联系人."
|
98
|
+
post:
|
99
|
+
title:
|
100
|
+
other_wall: "%{sender} → %{receiver}"
|
101
|
+
activity_action:
|
102
|
+
follow: "关注"
|
103
|
+
sentence:
|
104
|
+
follow:
|
105
|
+
one: "%{followers} 关注这个"
|
106
|
+
other: "%{followers} 关注这个"
|
107
|
+
more:
|
108
|
+
one: "%{count} 一个人"
|
109
|
+
other: "%{count} 再多些人"
|
110
|
+
unfollow: "不再关注"
|
111
|
+
browse: "浏览"
|
112
|
+
button:
|
113
|
+
cancel: "取消"
|
114
|
+
create: "创建"
|
115
|
+
save: "保存"
|
116
|
+
update: "更新"
|
117
|
+
cheesecake:
|
118
|
+
changes:
|
119
|
+
details: "更改详情"
|
120
|
+
none: "沒有更改"
|
121
|
+
save: "保存更改"
|
122
|
+
saving: "保存中..."
|
123
|
+
form:
|
124
|
+
editing: "编辑中..."
|
125
|
+
fields:
|
126
|
+
color: "颜色"
|
127
|
+
name: "姓名"
|
128
|
+
permissions: "权限"
|
129
|
+
subsector: "界别分组"
|
130
|
+
select:
|
131
|
+
hint: "点击图片以便选择"
|
132
|
+
comment:
|
133
|
+
input: "请填写评论..."
|
134
|
+
confirm_delete: "删除评论?"
|
135
|
+
name: "评论"
|
136
|
+
one: "一篇评论"
|
137
|
+
title:
|
138
|
+
one: "评论"
|
139
|
+
other: "所有评论"
|
140
|
+
view_all: "查看所有评论 "
|
141
|
+
contact:
|
142
|
+
addressbook: "我的通讯录"
|
143
|
+
all_n: "所有联系(%{count})"
|
144
|
+
confirm_delete: "刪除联系?"
|
145
|
+
current: "近期"
|
146
|
+
delete: "刪除"
|
147
|
+
edit:
|
148
|
+
title: "编辑联络 %{name}"
|
149
|
+
submit: "编辑联络"
|
150
|
+
error_count:
|
151
|
+
one: "一个错误导致不能保存这个联络 :"
|
152
|
+
other: "%{count} 有一些错误导致不能保存这个联络:"
|
153
|
+
follow: "关注"
|
154
|
+
following: "关注中"
|
155
|
+
graph:
|
156
|
+
one: "图片"
|
157
|
+
empty: "对不起, 您沒有任何联系人. 您可以通过查找功能去查找可能认识的朋友!"
|
158
|
+
in_common:
|
159
|
+
one: "一个共同联系人"
|
160
|
+
other: "%{count} 共同联系人"
|
161
|
+
new:
|
162
|
+
link: "+ 加入联络"
|
163
|
+
title: "加入 %{name} 到您的联系人列表"
|
164
|
+
menu: "加入联络"
|
165
|
+
submit: "加入联络"
|
166
|
+
one: "联络"
|
167
|
+
other: "联系"
|
168
|
+
pending:
|
169
|
+
other: "暂缓"
|
170
|
+
all: "所有"
|
171
|
+
all_n: "查看所有暂缓申请 (%{count})"
|
172
|
+
relation:
|
173
|
+
one: "联络类别"
|
174
|
+
new: "新类别"
|
175
|
+
reply:
|
176
|
+
link: "+ 回复联系人"
|
177
|
+
title: "回复联络申请至 %{name}"
|
178
|
+
submit: "回复"
|
179
|
+
link: "+ 回复联系人"
|
180
|
+
suggestion:
|
181
|
+
one: "建议"
|
182
|
+
other: "建议"
|
183
|
+
all: "所有"
|
184
|
+
type:
|
185
|
+
new: "+ 新类别"
|
186
|
+
unfollow: "不再关注"
|
187
|
+
copyright: "2010 版权 - 版权所有"
|
188
|
+
delete:
|
189
|
+
confirm: 刪除 %{element}}?
|
190
|
+
devise:
|
191
|
+
links:
|
192
|
+
sign_in: "登录"
|
193
|
+
sign_up: "注册"
|
194
|
+
forgot_password: "忘了您的密码?"
|
195
|
+
confirmation_instructions: "还没收到激活指引吗?"
|
196
|
+
unlock_instructions: "还没收到解锁指引吗?"
|
197
|
+
sign_in_with: "以 %{provider} 登录"
|
198
|
+
passwords:
|
199
|
+
confirm: "确认密码"
|
200
|
+
forgot: "忘了?"
|
201
|
+
instructions: "请输入你的帐号关联的邮箱, 以便我们给您发送更改指示:"
|
202
|
+
update: "更改您的密码"
|
203
|
+
follower:
|
204
|
+
follower:
|
205
|
+
title: "粉丝"
|
206
|
+
following:
|
207
|
+
title: "关注"
|
208
|
+
n:
|
209
|
+
one: "一个粉丝"
|
210
|
+
other: "%{count} 粉丝"
|
211
|
+
forgot_password: "忘了您的密码吗?"
|
212
|
+
frontpage:
|
213
|
+
collaborate:
|
214
|
+
default: "合作"
|
215
|
+
sentence1: "组织您的习作和活动"
|
216
|
+
sentence2: "参与会议和活动"
|
217
|
+
sentence3: "创建您的群组和会议"
|
218
|
+
elements:
|
219
|
+
comments: "评论"
|
220
|
+
conferences: "发布会"
|
221
|
+
networks: "社交网络"
|
222
|
+
organizers: "主办单位"
|
223
|
+
participants: "参加者"
|
224
|
+
groups: "群组"
|
225
|
+
tags: "标记"
|
226
|
+
main_title: "社交视频互动是我们建立社交网的核心."
|
227
|
+
meet:
|
228
|
+
default: "认识"
|
229
|
+
sentence1: "认识有趣的人和群组"
|
230
|
+
sentence2: " 寻找于你相关的最新活动"
|
231
|
+
register: "请注册!"
|
232
|
+
share:
|
233
|
+
default: "分享"
|
234
|
+
sentence1: " 您的习作和活动"
|
235
|
+
sentence2: "近况, 照片, 音频 和 视频"
|
236
|
+
stats: "%{users} 用户 和 %{groups} 已注册的群组"
|
237
|
+
group:
|
238
|
+
one: "群组"
|
239
|
+
other: "群组"
|
240
|
+
all: "所有群组"
|
241
|
+
all_n: "所有群组 (%{count})"
|
242
|
+
by: "被群组"
|
243
|
+
destroy:
|
244
|
+
one: "删除群组"
|
245
|
+
explanation: "所有和这个群组相关的活动的资料和联系会被删除!"
|
246
|
+
go_ahead: "是, 我肯定. 删除所有東西!"
|
247
|
+
last_confirm: "这是您最后机会. 您肯定吗?"
|
248
|
+
form:
|
249
|
+
title: "群组"
|
250
|
+
input: "这个群组叫什么名称?"
|
251
|
+
last: "最後的群组"
|
252
|
+
my: "我的群组"
|
253
|
+
new:
|
254
|
+
action: "新群组"
|
255
|
+
name: "名称"
|
256
|
+
description: "描述"
|
257
|
+
participants: "参与者"
|
258
|
+
cloud: "群组标记云"
|
259
|
+
most:
|
260
|
+
followed: "最多人关注"
|
261
|
+
liked: "最受欢迎"
|
262
|
+
tags: "标记"
|
263
|
+
title:
|
264
|
+
one: "群组"
|
265
|
+
other: "群组们"
|
266
|
+
help: "帮助"
|
267
|
+
helpers:
|
268
|
+
submit:
|
269
|
+
relation_custom:
|
270
|
+
create: "保存"
|
271
|
+
update: "更新"
|
272
|
+
home: "主页"
|
273
|
+
inbox:
|
274
|
+
one: "收件箱"
|
275
|
+
invitation:
|
276
|
+
e-mails: "电子邮箱"
|
277
|
+
error: "您的申请未能被处理. 请确定您的邮箱地址是否正确无误."
|
278
|
+
invited: "%{sender} 已邀请您到 %{site}!"
|
279
|
+
join: "邀请其他人加入 %{site}!"
|
280
|
+
join_me: "跟我一起在 %{site}!"
|
281
|
+
one: "邀请"
|
282
|
+
other: "邀请"
|
283
|
+
toolbar: "邀请"
|
284
|
+
success: "您的邀请已成功发送"
|
285
|
+
text: "写上您的讯息"
|
286
|
+
like:
|
287
|
+
n:
|
288
|
+
one: "一个粉丝"
|
289
|
+
other: "%{count} 粉丝们"
|
290
|
+
location:
|
291
|
+
message: "您在此 > %{location}"
|
292
|
+
base: "您在此"
|
293
|
+
separator: " > "
|
294
|
+
mailboxer:
|
295
|
+
delete: "刪除"
|
296
|
+
delete_confirm: "您要把 '%{object}' 移除到垃圾桶?"
|
297
|
+
form:
|
298
|
+
body: "主体"
|
299
|
+
recipients: "收件人"
|
300
|
+
subject: "主题"
|
301
|
+
mark_as_read: "标记已读"
|
302
|
+
message_mailer:
|
303
|
+
has_sent_new:
|
304
|
+
event: "己发送新讯息 %{receiver}"
|
305
|
+
group: "己发送新讯息 %{receiver}"
|
306
|
+
user: "己给您发送新讯息"
|
307
|
+
has_sent_reply:
|
308
|
+
event: "已给您回复 %{receiver}"
|
309
|
+
group: "已给您回复 %{receiver}"
|
310
|
+
user: "已给您回复"
|
311
|
+
subject_new: "%{subject}"
|
312
|
+
subject_reply: "%{subject}"
|
313
|
+
notification_mailer:
|
314
|
+
subject: "%{subject}"
|
315
|
+
reply: "回复"
|
316
|
+
send: "发送讯息"
|
317
|
+
sent: "您的讯息已发送"
|
318
|
+
menu:
|
319
|
+
options: "菜單选择"
|
320
|
+
information: "个人资料"
|
321
|
+
wall: "最新發佈"
|
322
|
+
message:
|
323
|
+
answer: "写上答案"
|
324
|
+
inbox: "收件箱"
|
325
|
+
look: "请留意这个对话"
|
326
|
+
new: "新讯息"
|
327
|
+
one: "讯息"
|
328
|
+
other: "讯息"
|
329
|
+
participants: "参与者"
|
330
|
+
send: "发送讯息"
|
331
|
+
sentbox: "寄件备份"
|
332
|
+
trash: "垃圾桶"
|
333
|
+
notification:
|
334
|
+
all_text: "在 %{url} 阅读所有內容"
|
335
|
+
confirm: "确定 %{sender} 作为联络?"
|
336
|
+
default: "您有新通知"
|
337
|
+
destroy_sure: "您是否想删除这个通知?"
|
338
|
+
fan: "%{sender} 现在是 %{whose} 粉丝."
|
339
|
+
follow:
|
340
|
+
chamber: "%{sender} 已加入 %{name}."
|
341
|
+
group: "%{sender} 已加到 %{who} 作为联络."
|
342
|
+
user: "%{sender} 已加到 %{who} 作为联络."
|
343
|
+
hello: "您好 %{receiver},"
|
344
|
+
join:
|
345
|
+
one: "%{sender}參加了%{thing}%{title}."
|
346
|
+
like:
|
347
|
+
group: "%{sender} 喜欢 %{whose} %{thing}."
|
348
|
+
user: "%{sender} 喜欢 %{whose} %{thing}."
|
349
|
+
look: "请看看这个 %{sender} 的最新发布"
|
350
|
+
makefriend:
|
351
|
+
group: "%{sender} 另加至 %{who} 作为联络."
|
352
|
+
user: "%{sender} 另加至 %{who} 作为联络."
|
353
|
+
one: "通知"
|
354
|
+
other: "通知"
|
355
|
+
post:
|
356
|
+
group: "%{title} -- %{sender} 發佈給 %{whose} "
|
357
|
+
user: "%{title} -- %{sender} 發佈給 %{whose} "
|
358
|
+
read: "标记已读"
|
359
|
+
read_all: "标记全部已读"
|
360
|
+
unread: "标记未读"
|
361
|
+
update:
|
362
|
+
group: "%{sender} 在 %{whose} 的最新发布已更新 %{thing} "
|
363
|
+
user: "%{sender} 在 %{whose} 的最新发布已更新 %{thing}"
|
364
|
+
visit: "浏览 %{url} 和检查您的所有通知."
|
365
|
+
watch: "在这里 %{url}查看这里"
|
366
|
+
watch_it: "查看这里!"
|
367
|
+
who:
|
368
|
+
group: "%{name}"
|
369
|
+
user: "您"
|
370
|
+
whose:
|
371
|
+
group: "%{receiver} 的"
|
372
|
+
user: "您的"
|
373
|
+
post:
|
374
|
+
confirm_delete: "删除近況吗?"
|
375
|
+
form:
|
376
|
+
title: "近況"
|
377
|
+
input: "您有什么近況?"
|
378
|
+
name: "近況"
|
379
|
+
one: "一条近況"
|
380
|
+
title:
|
381
|
+
one: "近況"
|
382
|
+
other: "近況"
|
383
|
+
preposition:
|
384
|
+
and: "和"
|
385
|
+
on: "在上"
|
386
|
+
profile:
|
387
|
+
one: "个人背景资料"
|
388
|
+
age: "年齡"
|
389
|
+
is_on: "有效"
|
390
|
+
must_be_signed_id: "您必须持有有效证件"
|
391
|
+
group:
|
392
|
+
about: "关于我们"
|
393
|
+
birthday: "周年"
|
394
|
+
experience: "经验范畴"
|
395
|
+
info: "群组资料"
|
396
|
+
tags: "群组标记"
|
397
|
+
user:
|
398
|
+
about: "关于我"
|
399
|
+
birthday: "生日"
|
400
|
+
experience: "经验"
|
401
|
+
info: "个人资料"
|
402
|
+
tags: "标记"
|
403
|
+
actualcity: "上课城市"
|
404
|
+
address: "地址"
|
405
|
+
contact: "联络资料"
|
406
|
+
country: "国家"
|
407
|
+
email: "邮箱"
|
408
|
+
empty: "这些空格未填上. 请更新."
|
409
|
+
fax: "传真"
|
410
|
+
mobile: "手机"
|
411
|
+
organization: "组织"
|
412
|
+
phone: "电话"
|
413
|
+
profile: "编辑个人背景资料"
|
414
|
+
tags:
|
415
|
+
default: "社交, 视频,"
|
416
|
+
other: "标记"
|
417
|
+
website: "网站"
|
418
|
+
update:
|
419
|
+
error: "请重组您的个人背景资料:"
|
420
|
+
success: "您的个人背景资料已更新"
|
421
|
+
public:
|
422
|
+
other: "大家"
|
423
|
+
permission:
|
424
|
+
description:
|
425
|
+
default:
|
426
|
+
brief:
|
427
|
+
create:
|
428
|
+
activity: "贴到您的最新发布"
|
429
|
+
follow:
|
430
|
+
nil: "关注他们的活动"
|
431
|
+
read:
|
432
|
+
activity: "阅读您的最新发布"
|
433
|
+
represent:
|
434
|
+
nil: "管理"
|
435
|
+
notify:
|
436
|
+
nil: "通知"
|
437
|
+
detailed:
|
438
|
+
create:
|
439
|
+
activity:
|
440
|
+
positive: "他们将会在您的最新发布标贴新的活动"
|
441
|
+
negative: "他们不能在您的最新发布标贴新的活动"
|
442
|
+
follow:
|
443
|
+
nil:
|
444
|
+
positive: "已有联系的活动 %{relation} 将出现在您主页的最新发布上"
|
445
|
+
negative: "已有联系的活动 %{relation} 将不会出现在您主页的最新发布上"
|
446
|
+
read:
|
447
|
+
activity:
|
448
|
+
positive: "他们能夠阅读在您的最新发布的內容, 除了那些有特別联系的分享"
|
449
|
+
negative: "他们能夠阅读在您的最新发布的內容, 除了那些被标识为公开"
|
450
|
+
represent:
|
451
|
+
nil:
|
452
|
+
positive: "他们将更改环节及作为 %{subject}"
|
453
|
+
negative: "他们不能更改环节及作为 %{subject}"
|
454
|
+
notify:
|
455
|
+
nil:
|
456
|
+
positive: "活动将会通知 %{name} 的联系"
|
457
|
+
negative: "活动将不会通知 %{name} 的联系"
|
458
|
+
of_relation:
|
459
|
+
choose: "2. <strong>%{name}</strong>圈內的权限"
|
460
|
+
privacy:
|
461
|
+
intro: "拥有 <strong>%{relation}</strong>级别的联系只容许作出以下行为:"
|
462
|
+
rule:
|
463
|
+
add: "加上"
|
464
|
+
title: "私隐规则"
|
465
|
+
saved: "私隐规则己保存"
|
466
|
+
relation_custom:
|
467
|
+
choose: "1. 选择圈子"
|
468
|
+
confirm_delete: "删除这个圈子?"
|
469
|
+
delete: "刪除"
|
470
|
+
edit: "更改名称"
|
471
|
+
new: "+ 新圈子"
|
472
|
+
title: "私隐和內容"
|
473
|
+
relation_public:
|
474
|
+
name: "公众"
|
475
|
+
representation:
|
476
|
+
notice: "您的环节已更改. 现在您以%{subject}的身份行动. 请使用右上角菜单回到您的环节"
|
477
|
+
switch: "转换环节"
|
478
|
+
required: "(*) 以上空格必須填写"
|
479
|
+
search:
|
480
|
+
all_results: "查找所有 %{subject} (%{count})"
|
481
|
+
at_least: "写下最少两个字符"
|
482
|
+
global:
|
483
|
+
name: "全球搜查"
|
484
|
+
first_result:
|
485
|
+
more: "展示首回 %{count} 结果."
|
486
|
+
one: "首回结果展示中."
|
487
|
+
query: "查看更多结果 %{query} >"
|
488
|
+
name: "搜索"
|
489
|
+
no_subject_found: "沒有搜索到关于 %{subject} 的结果."
|
490
|
+
nothing: "沒有查询到任何结果"
|
491
|
+
searching: "查找中: %{query}"
|
492
|
+
show_all: "所有"
|
493
|
+
write: "写下您的问题 ..."
|
494
|
+
wrong: "搜查器发生了问题"
|
495
|
+
settings:
|
496
|
+
api_key:
|
497
|
+
briefing: "管理您的API钥匙"
|
498
|
+
confirm: "您肯定吗?"
|
499
|
+
empty: "沒有"
|
500
|
+
explanation: "这是您的的 API 钥匙"
|
501
|
+
name: "API 钥匙"
|
502
|
+
regenerate: "重新获取 API 钥匙"
|
503
|
+
cancel_account:
|
504
|
+
briefing: "让您注销帐号"
|
505
|
+
email_change:
|
506
|
+
briefing: "更改您的邮箱"
|
507
|
+
lang_change:
|
508
|
+
briefing: "更改您的语言"
|
509
|
+
name: "更改您的语言"
|
510
|
+
error: "当您保存更改时, 出现一些错误"
|
511
|
+
for: "为....设定"
|
512
|
+
main: "设定"
|
513
|
+
manage:
|
514
|
+
name: "行政联络"
|
515
|
+
briefing: "联系设定"
|
516
|
+
explanation: "更改联系允许"
|
517
|
+
notifications:
|
518
|
+
briefing: "关于通知行为和邮件提示的设定"
|
519
|
+
name: "通知"
|
520
|
+
by_email:
|
521
|
+
name: "当我收到通知时发邮件给我"
|
522
|
+
always: "经常"
|
523
|
+
never: "永不"
|
524
|
+
one: "设定"
|
525
|
+
password_change:
|
526
|
+
briefing: "更改密码"
|
527
|
+
success: "您的设定已成功更改"
|
528
|
+
share: "Share"
|
529
|
+
sign_in: "登录"
|
530
|
+
sign_out: "退出"
|
531
|
+
sign_up: "注册"
|
532
|
+
site:
|
533
|
+
name: "Gocess.com"
|
534
|
+
subject:
|
535
|
+
this_is_you: "这是您!"
|
536
|
+
sure: "您肯定吗?"
|
537
|
+
time:
|
538
|
+
ago: "%{time} 之前"
|
539
|
+
unknown: "不明"
|
540
|
+
user:
|
541
|
+
all: "所有用户"
|
542
|
+
all_n: "所有用户 (%{count})"
|
543
|
+
by: "被用户"
|
544
|
+
one: "用户"
|
545
|
+
other: "用户们"
|
546
|
+
title:
|
547
|
+
one: "用户"
|
548
|
+
other: "用户们"
|
549
|
+
welcome: "欢迎来到 %{site}!"
|
550
|
+
lang:
|
551
|
+
browser: "自动搜查浏览器语言"
|
552
|
+
none: "语言自主內容"
|
@@ -77,6 +77,7 @@ module SocialStream
|
|
77
77
|
def set_author_ids
|
78
78
|
resource_params.first[:author_id] = current_subject.try(:actor_id)
|
79
79
|
resource_params.first[:user_author_id] = current_user.try(:actor_id)
|
80
|
+
resource_params.first[:owner_id] ||= current_subject.try(:actor_id)
|
80
81
|
end
|
81
82
|
|
82
83
|
def collection_variable_get
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Site do
|
4
|
+
it "should access configuration" do
|
5
|
+
Site.current.config[:test] = "test"
|
6
|
+
|
7
|
+
Site.current.config[:test].should eq("test")
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should save configuration" do
|
11
|
+
Site.current.config[:test] = "test"
|
12
|
+
|
13
|
+
Site.current.save!
|
14
|
+
|
15
|
+
Site.instance_variable_defined?("@current").should be_true
|
16
|
+
|
17
|
+
Site.instance_variable_set "@current", nil
|
18
|
+
|
19
|
+
Site.current.config[:test].should eq("test")
|
20
|
+
end
|
21
|
+
end
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.files = `git ls-files`.split("\n")
|
13
13
|
|
14
14
|
# Gem dependencies
|
15
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.24.
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.24.1')
|
16
16
|
s.add_runtime_dependency('rails-scheduler', '~> 0.0.8')
|
17
17
|
|
18
18
|
# Development Gem dependencies
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @preserve
|
3
|
-
* FullCalendar v1.5.
|
3
|
+
* FullCalendar v1.5.4
|
4
4
|
* http://arshaw.com/fullcalendar/
|
5
5
|
*
|
6
6
|
* Use fullcalendar.css for basic styling.
|
@@ -11,7 +11,7 @@
|
|
11
11
|
* Dual licensed under the MIT and GPL licenses, located in
|
12
12
|
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
|
13
13
|
*
|
14
|
-
* Date:
|
14
|
+
* Date: Tue Sep 4 23:38:33 2012 -0700
|
15
15
|
*
|
16
16
|
*/
|
17
17
|
|
@@ -111,7 +111,7 @@ var rtlDefaults = {
|
|
111
111
|
|
112
112
|
|
113
113
|
|
114
|
-
var fc = $.fullCalendar = { version: "1.5.
|
114
|
+
var fc = $.fullCalendar = { version: "1.5.4" };
|
115
115
|
var fcViews = fc.views = {};
|
116
116
|
|
117
117
|
|
@@ -1658,7 +1658,7 @@ function sliceSegs(events, visEventEnds, start, end) {
|
|
1658
1658
|
msLength: segEnd - segStart
|
1659
1659
|
});
|
1660
1660
|
}
|
1661
|
-
}
|
1661
|
+
}
|
1662
1662
|
return segs.sort(segCmp);
|
1663
1663
|
}
|
1664
1664
|
|
@@ -1742,29 +1742,26 @@ function setOuterHeight(element, height, includeMargins) {
|
|
1742
1742
|
}
|
1743
1743
|
|
1744
1744
|
|
1745
|
-
// TODO: curCSS has been deprecated (jQuery 1.4.3 - 10/16/2010)
|
1746
|
-
|
1747
|
-
|
1748
1745
|
function hsides(element, includeMargins) {
|
1749
1746
|
return hpadding(element) + hborders(element) + (includeMargins ? hmargins(element) : 0);
|
1750
1747
|
}
|
1751
1748
|
|
1752
1749
|
|
1753
1750
|
function hpadding(element) {
|
1754
|
-
return (parseFloat($.
|
1755
|
-
(parseFloat($.
|
1751
|
+
return (parseFloat($.css(element[0], 'paddingLeft', true)) || 0) +
|
1752
|
+
(parseFloat($.css(element[0], 'paddingRight', true)) || 0);
|
1756
1753
|
}
|
1757
1754
|
|
1758
1755
|
|
1759
1756
|
function hmargins(element) {
|
1760
|
-
return (parseFloat($.
|
1761
|
-
(parseFloat($.
|
1757
|
+
return (parseFloat($.css(element[0], 'marginLeft', true)) || 0) +
|
1758
|
+
(parseFloat($.css(element[0], 'marginRight', true)) || 0);
|
1762
1759
|
}
|
1763
1760
|
|
1764
1761
|
|
1765
1762
|
function hborders(element) {
|
1766
|
-
return (parseFloat($.
|
1767
|
-
(parseFloat($.
|
1763
|
+
return (parseFloat($.css(element[0], 'borderLeftWidth', true)) || 0) +
|
1764
|
+
(parseFloat($.css(element[0], 'borderRightWidth', true)) || 0);
|
1768
1765
|
}
|
1769
1766
|
|
1770
1767
|
|
@@ -1774,20 +1771,20 @@ function vsides(element, includeMargins) {
|
|
1774
1771
|
|
1775
1772
|
|
1776
1773
|
function vpadding(element) {
|
1777
|
-
return (parseFloat($.
|
1778
|
-
(parseFloat($.
|
1774
|
+
return (parseFloat($.css(element[0], 'paddingTop', true)) || 0) +
|
1775
|
+
(parseFloat($.css(element[0], 'paddingBottom', true)) || 0);
|
1779
1776
|
}
|
1780
1777
|
|
1781
1778
|
|
1782
1779
|
function vmargins(element) {
|
1783
|
-
return (parseFloat($.
|
1784
|
-
(parseFloat($.
|
1780
|
+
return (parseFloat($.css(element[0], 'marginTop', true)) || 0) +
|
1781
|
+
(parseFloat($.css(element[0], 'marginBottom', true)) || 0);
|
1785
1782
|
}
|
1786
1783
|
|
1787
1784
|
|
1788
1785
|
function vborders(element) {
|
1789
|
-
return (parseFloat($.
|
1790
|
-
(parseFloat($.
|
1786
|
+
return (parseFloat($.css(element[0], 'borderTopWidth', true)) || 0) +
|
1787
|
+
(parseFloat($.css(element[0], 'borderBottomWidth', true)) || 0);
|
1791
1788
|
}
|
1792
1789
|
|
1793
1790
|
|
@@ -1956,7 +1953,6 @@ function firstDefined() {
|
|
1956
1953
|
}
|
1957
1954
|
|
1958
1955
|
|
1959
|
-
|
1960
1956
|
fcViews.month = MonthView;
|
1961
1957
|
|
1962
1958
|
function MonthView(element, calendar) {
|
@@ -5157,6 +5153,7 @@ function HoverListener(coordinateGrid) {
|
|
5157
5153
|
|
5158
5154
|
|
5159
5155
|
function mouse(ev) {
|
5156
|
+
_fixUIEvent(ev); // see below
|
5160
5157
|
var newCell = coordinateGrid.cell(ev.pageX, ev.pageY);
|
5161
5158
|
if (!newCell != !cell || newCell && (newCell.row != cell.row || newCell.col != cell.col)) {
|
5162
5159
|
if (newCell) {
|
@@ -5180,6 +5177,19 @@ function HoverListener(coordinateGrid) {
|
|
5180
5177
|
|
5181
5178
|
}
|
5182
5179
|
|
5180
|
+
|
5181
|
+
|
5182
|
+
// this fix was only necessary for jQuery UI 1.8.16 (and jQuery 1.7 or 1.7.1)
|
5183
|
+
// upgrading to jQuery UI 1.8.17 (and using either jQuery 1.7 or 1.7.1) fixed the problem
|
5184
|
+
// but keep this in here for 1.8.16 users
|
5185
|
+
// and maybe remove it down the line
|
5186
|
+
|
5187
|
+
function _fixUIEvent(event) { // for issue 1168
|
5188
|
+
if (event.pageX === undefined) {
|
5189
|
+
event.pageX = event.originalEvent.pageX;
|
5190
|
+
event.pageY = event.originalEvent.pageY;
|
5191
|
+
}
|
5192
|
+
}
|
5183
5193
|
function HorizontalPositionCache(getElement) {
|
5184
5194
|
|
5185
5195
|
var t = this,
|
@@ -5206,5 +5216,5 @@ function HorizontalPositionCache(getElement) {
|
|
5206
5216
|
};
|
5207
5217
|
|
5208
5218
|
}
|
5209
|
-
|
5219
|
+
|
5210
5220
|
})(jQuery);
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/*
|
2
|
-
* FullCalendar v1.5.
|
2
|
+
* FullCalendar v1.5.4 Stylesheet
|
3
3
|
*
|
4
4
|
* Copyright (c) 2011 Adam Shaw
|
5
5
|
* Dual licensed under the MIT and GPL licenses, located in
|
6
6
|
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
|
7
7
|
*
|
8
|
-
* Date:
|
8
|
+
* Date: Tue Sep 4 23:38:33 2012 -0700
|
9
9
|
*
|
10
10
|
*/
|
11
11
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* FullCalendar v1.5.
|
2
|
+
* FullCalendar v1.5.4 Print Stylesheet
|
3
3
|
*
|
4
4
|
* Include this stylesheet on your page to get a more printer-friendly calendar.
|
5
5
|
* When including this stylesheet, use the media='print' attribute of the <link> tag.
|
@@ -9,7 +9,7 @@
|
|
9
9
|
* Dual licensed under the MIT and GPL licenses, located in
|
10
10
|
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
|
11
11
|
*
|
12
|
-
* Date:
|
12
|
+
* Date: Tue Sep 4 23:38:33 2012 -0700
|
13
13
|
*
|
14
14
|
*/
|
15
15
|
|
data/social_stream.gemspec
CHANGED
@@ -11,9 +11,9 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.files = `git ls-files`.split("\n")
|
12
12
|
|
13
13
|
# Gem dependencies
|
14
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.24.
|
14
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.24.1')
|
15
15
|
s.add_runtime_dependency('social_stream-documents', '~> 0.18.0')
|
16
|
-
s.add_runtime_dependency('social_stream-events', '~> 0.16.
|
16
|
+
s.add_runtime_dependency('social_stream-events', '~> 0.16.1')
|
17
17
|
s.add_runtime_dependency('social_stream-linkser', '~> 0.15.0')
|
18
18
|
s.add_runtime_dependency('social_stream-presence', '~> 0.17.0')
|
19
19
|
s.add_runtime_dependency('social_stream-ostatus', '~> 0.2.0')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social_stream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.30.
|
4
|
+
version: 0.30.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-12-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: social_stream-base
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.24.
|
22
|
+
version: 0.24.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ~>
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 0.24.
|
30
|
+
version: 0.24.1
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: social_stream-documents
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -51,7 +51,7 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.16.
|
54
|
+
version: 0.16.1
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -59,7 +59,7 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.16.
|
62
|
+
version: 0.16.1
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
64
|
name: social_stream-linkser
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
@@ -534,6 +534,7 @@ files:
|
|
534
534
|
- base/app/models/relation/reject.rb
|
535
535
|
- base/app/models/relation/single.rb
|
536
536
|
- base/app/models/relation_permission.rb
|
537
|
+
- base/app/models/site.rb
|
537
538
|
- base/app/models/tie.rb
|
538
539
|
- base/app/models/user.rb
|
539
540
|
- base/app/views/activities/_activity.html.erb
|
@@ -667,6 +668,8 @@ files:
|
|
667
668
|
- base/app/views/notifications/_notification.html.erb
|
668
669
|
- base/app/views/notifications/activities/_follow.html.erb
|
669
670
|
- base/app/views/notifications/activities/_follow.text.erb
|
671
|
+
- base/app/views/notifications/activities/_join.html.erb
|
672
|
+
- base/app/views/notifications/activities/_join.text.erb
|
670
673
|
- base/app/views/notifications/activities/_like.html.erb
|
671
674
|
- base/app/views/notifications/activities/_like.text.erb
|
672
675
|
- base/app/views/notifications/activities/_make-friend.html.erb
|
@@ -744,6 +747,7 @@ files:
|
|
744
747
|
- base/config/locales/pt.yml
|
745
748
|
- base/config/locales/rails.es.yml
|
746
749
|
- base/config/locales/rails.pt.yml
|
750
|
+
- base/config/locales/zh.yml
|
747
751
|
- base/config/routes.rb
|
748
752
|
- base/db/migrate/20120326083509_create_social_stream.rb
|
749
753
|
- base/db/migrate/20120403175913_create_activity_object_audiences.rb
|
@@ -752,6 +756,7 @@ files:
|
|
752
756
|
- base/db/migrate/20120526171311_remove_activity_channels.rb
|
753
757
|
- base/db/migrate/20120621135650_add_comment_count_to_activity_object.rb
|
754
758
|
- base/db/migrate/20120627115244_fix_activity_object_follower_count.rb
|
759
|
+
- base/db/migrate/20121031111857_create_sites.rb
|
755
760
|
- base/lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb
|
756
761
|
- base/lib/acts_as_taggable_on/social_stream.rb
|
757
762
|
- base/lib/generators/social_stream/base/install_generator.rb
|
@@ -908,6 +913,7 @@ files:
|
|
908
913
|
- base/spec/models/profile_spec.rb
|
909
914
|
- base/spec/models/relation_follow_spec.rb
|
910
915
|
- base/spec/models/relation_spec.rb
|
916
|
+
- base/spec/models/site_spec.rb
|
911
917
|
- base/spec/models/tie_spec.rb
|
912
918
|
- base/spec/models/user_spec.rb
|
913
919
|
- base/spec/social_stream_activity_streams_spec.rb
|