radiant-forum-extension 2.1.6 → 3.0.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +20 -16
- data/Rakefile +0 -16
- data/app/controllers/forum_base_controller.rb +32 -10
- data/app/controllers/posts_controller.rb +37 -14
- data/app/helpers/forum_helper.rb +23 -16
- data/app/models/forum.rb +11 -7
- data/app/models/post.rb +53 -14
- data/app/models/post_attachment.rb +1 -1
- data/app/models/topic.rb +21 -8
- data/app/views/admin/dashboard/_forum_dashboard.html.haml +51 -0
- data/app/views/admin/forums/_form.html.haml +12 -0
- data/app/views/admin/forums/edit.html.haml +1 -1
- data/app/views/admin/forums/index.html.haml +16 -20
- data/app/views/admin/posts/_form.html.haml +2 -2
- data/app/views/admin/posts/edit.html.haml +1 -1
- data/app/views/admin/posts/index.html.haml +5 -5
- data/app/views/admin/reader_configuration/_edit_forum.html.haml +6 -0
- data/app/views/admin/reader_configuration/_forum.html.haml +5 -1
- data/app/views/admin/topics/_form.html.haml +3 -5
- data/app/views/admin/topics/edit.html.haml +1 -1
- data/app/views/admin/topics/index.html.haml +5 -5
- data/app/views/forums/_forum.html.haml +6 -5
- data/app/views/forums/_latest.html.haml +14 -12
- data/app/views/forums/_statistics.html.haml +4 -4
- data/app/views/forums/index.html.haml +8 -10
- data/app/views/forums/index.rss.builder +2 -2
- data/app/views/forums/show.html.haml +12 -15
- data/app/views/pages/_add_comment.html.haml +9 -8
- data/app/views/pages/_comments.html.haml +3 -3
- data/app/views/posts/_attachments.html.haml +1 -1
- data/app/views/posts/_confirm_delete.html.haml +7 -2
- data/app/views/posts/_context.html.haml +5 -5
- data/app/views/posts/_edit_links.html.haml +4 -4
- data/app/views/posts/_form.html.haml +15 -12
- data/app/views/posts/_ineditable.html.haml +7 -0
- data/app/views/posts/_latest.html.haml +3 -8
- data/app/views/posts/_minimal.html.haml +7 -0
- data/app/views/posts/_post.html.haml +20 -17
- data/app/views/posts/_post.rss.builder +2 -2
- data/app/views/posts/_search_form.html.haml +13 -13
- data/app/views/posts/_search_results.html.haml +15 -0
- data/app/views/posts/_search_summary.html.haml +13 -0
- data/app/views/posts/_uploader.html.haml +1 -1
- data/app/views/posts/edit.html.haml +22 -21
- data/app/views/posts/index.html.haml +12 -19
- data/app/views/posts/index.rss.builder +6 -6
- data/app/views/posts/new.html.haml +19 -22
- data/app/views/posts/remove.html.haml +15 -15
- data/app/views/posts/show.html.haml +16 -10
- data/app/views/readers/_forum_messages.html.haml +9 -6
- data/app/views/readers/_messages_summary.html.haml +1 -1
- data/app/views/shared/_standard_forum_parts.html.haml +41 -0
- data/app/views/topics/_busiest.html.haml +9 -8
- data/app/views/topics/_context.html.haml +11 -8
- data/app/views/topics/_latest.html.haml +2 -2
- data/app/views/topics/_locked.html.haml +1 -1
- data/app/views/topics/_minimal.html.haml +2 -2
- data/app/views/topics/_replies.html.haml +4 -3
- data/app/views/topics/_reply.html.haml +13 -8
- data/app/views/topics/_topic.html.haml +5 -9
- data/app/views/topics/_topic.rss.builder +1 -1
- data/app/views/topics/index.html.haml +14 -10
- data/app/views/topics/index.rss.builder +2 -2
- data/app/views/topics/show.html.haml +20 -19
- data/app/views/topics/show.rss.builder +3 -3
- data/config/initializers/radiant_config.rb +4 -1
- data/config/locales/en.yml +202 -178
- data/db/migrate/002_pages_commentable.rb +1 -2
- data/db/migrate/004_sample_layout.rb +38 -15
- data/db/migrate/20110111080550_detach_observer.rb +4 -4
- data/db/migrate/20110613112823_search_text.rb +9 -0
- data/db/migrate/20110613130230_tidy_up.rb +27 -0
- data/db/migrate/20110630083446_page_replied_at.rb +11 -0
- data/forum_extension.rb +13 -11
- data/lib/commentable_model.rb +13 -9
- data/lib/forum_admin_ui.rb +6 -6
- data/lib/forum_page.rb +5 -3
- data/lib/forum_reader.rb +7 -1
- data/lib/forum_reader_sessions_controller.rb +2 -3
- data/lib/forum_tags.rb +126 -11
- data/lib/radiant-forum-extension.rb +8 -0
- data/public/cleditor/images/buttons.gif +0 -0
- data/public/cleditor/images/icons/1.gif +0 -0
- data/public/cleditor/images/icons/10.gif +0 -0
- data/public/cleditor/images/icons/11.gif +0 -0
- data/public/cleditor/images/icons/12.gif +0 -0
- data/public/cleditor/images/icons/2.gif +0 -0
- data/public/cleditor/images/icons/3.gif +0 -0
- data/public/cleditor/images/icons/4.gif +0 -0
- data/public/cleditor/images/icons/5.gif +0 -0
- data/public/cleditor/images/icons/6.gif +0 -0
- data/public/cleditor/images/icons/7.gif +0 -0
- data/public/cleditor/images/icons/8.gif +0 -0
- data/public/cleditor/images/icons/9.gif +0 -0
- data/public/cleditor/images/icons/icons.gif +0 -0
- data/public/cleditor/images/toolbar.gif +0 -0
- data/public/cleditor/jquery.cleditor.css +24 -0
- data/public/cleditor/jquery.cleditor.icon.js +65 -0
- data/public/cleditor/jquery.cleditor.js +1132 -0
- data/public/cleditor/jquery.cleditor.xhtml.js +230 -0
- data/public/javascripts/forum.js +146 -107
- data/public/stylesheets/sass/forum.sass +94 -58
- data/radiant-forum-extension.gemspec +25 -276
- data/spec/controllers/forums_controller_spec.rb +0 -7
- data/spec/controllers/posts_controller_spec.rb +20 -37
- data/spec/controllers/topics_controller_spec.rb +1 -7
- data/spec/datasets/forums_dataset.rb +38 -40
- data/spec/lib/commentable_model_spec.rb +26 -38
- data/spec/lib/forum_reader_spec.rb +0 -4
- data/spec/models/forum_spec.rb +46 -16
- data/spec/models/post_spec.rb +10 -6
- data/spec/models/topic_spec.rb +26 -17
- data/spec/spec_helper.rb +1 -0
- metadata +66 -99
- data/VERSION +0 -1
- data/app/views/forums/_standard_parts.html.haml +0 -59
- data/lib/sanitize/config/forum.rb +0 -49
- data/public/javascripts/gallery.js +0 -275
- data/public/punymce/blank.htm +0 -1
- data/public/punymce/css/content.css +0 -4
- data/public/punymce/css/editor.css +0 -58
- data/public/punymce/i18n/sv.js +0 -28
- data/public/punymce/img/icons.gif +0 -0
- data/public/punymce/img/icons_uncompressed.png +0 -0
- data/public/punymce/plugins/bbcode.js +0 -1
- data/public/punymce/plugins/bbcode_src.js +0 -50
- data/public/punymce/plugins/editsource/css/editor.css +0 -3
- data/public/punymce/plugins/editsource/editsource.js +0 -1
- data/public/punymce/plugins/editsource/editsource_src.js +0 -81
- data/public/punymce/plugins/editsource/img/icons.gif +0 -0
- data/public/punymce/plugins/emoticons/css/content.css +0 -13
- data/public/punymce/plugins/emoticons/css/editor.css +0 -17
- data/public/punymce/plugins/emoticons/emoticons.js +0 -1
- data/public/punymce/plugins/emoticons/emoticons_src.js +0 -303
- data/public/punymce/plugins/emoticons/img/emoticons.gif +0 -0
- data/public/punymce/plugins/emoticons/img/emoticons.png +0 -0
- data/public/punymce/plugins/emoticons/img/trans.gif +0 -0
- data/public/punymce/plugins/entities.js +0 -1
- data/public/punymce/plugins/entities_src.js +0 -37
- data/public/punymce/plugins/forceblocks.js +0 -1
- data/public/punymce/plugins/forceblocks_src.js +0 -465
- data/public/punymce/plugins/forcenl.js +0 -1
- data/public/punymce/plugins/forcenl_src.js +0 -26
- data/public/punymce/plugins/image/css/editor.css +0 -1
- data/public/punymce/plugins/image/image.js +0 -1
- data/public/punymce/plugins/image/image_src.js +0 -30
- data/public/punymce/plugins/image/img/icons.gif +0 -0
- data/public/punymce/plugins/link/css/editor.css +0 -2
- data/public/punymce/plugins/link/img/icons.gif +0 -0
- data/public/punymce/plugins/link/link.js +0 -1
- data/public/punymce/plugins/link/link_src.js +0 -36
- data/public/punymce/plugins/paste.js +0 -1
- data/public/punymce/plugins/paste_src.js +0 -169
- data/public/punymce/plugins/protect.js +0 -1
- data/public/punymce/plugins/protect_src.js +0 -30
- data/public/punymce/plugins/safari2x.js +0 -1
- data/public/punymce/plugins/safari2x_src.js +0 -284
- data/public/punymce/plugins/tabfocus.js +0 -1
- data/public/punymce/plugins/tabfocus_src.js +0 -45
- data/public/punymce/plugins/textcolor/css/editor.css +0 -7
- data/public/punymce/plugins/textcolor/img/icons.gif +0 -0
- data/public/punymce/plugins/textcolor/textcolor.js +0 -1
- data/public/punymce/plugins/textcolor/textcolor_src.js +0 -73
- data/public/punymce/puny_mce.js +0 -1
- data/public/punymce/puny_mce_full.js +0 -1
- data/public/punymce/puny_mce_src.js +0 -1460
@@ -3,24 +3,20 @@
|
|
3
3
|
%div{:id => topic.dom_id}
|
4
4
|
.post
|
5
5
|
.wrapper
|
6
|
-
.
|
7
|
-
= standard_gravatar_for(post.reader, forum_topic_url(topic.forum, topic))
|
6
|
+
= standard_gravatar_for(post.reader, topic_url(topic))
|
8
7
|
.post_header
|
9
8
|
%h2
|
10
|
-
=
|
9
|
+
= link_to_topic(topic)
|
11
10
|
= feed_link(topic_path(topic, :format => :rss))
|
12
11
|
|
13
|
-
|
14
|
-
= render :partial => "topics/context", :locals => {:topic => topic}
|
15
|
-
= render :partial => 'posts/edit_links', :locals => {:post => post}
|
12
|
+
= render :partial => "topics/context", :locals => {:topic => topic}
|
16
13
|
|
17
14
|
.post_body
|
18
|
-
=
|
15
|
+
= truncate_words(scrub_html(post.body), 24)
|
19
16
|
= render :partial => 'posts/attachments', :locals => {:post => post}
|
20
17
|
|
21
18
|
- if topic.has_replies?
|
22
19
|
.post_replies
|
23
|
-
%p.voices
|
24
|
-
= render :partial => 'topics/voices', :locals => {:topic => topic}
|
25
20
|
%p.replies
|
21
|
+
= render :partial => 'topics/voices', :locals => {:topic => topic}
|
26
22
|
= render :partial => 'topics/replies', :locals => {:topic => topic}
|
@@ -5,5 +5,5 @@ xm.item do
|
|
5
5
|
xm.pubDate topic.created_at.to_s(:rfc822)
|
6
6
|
xm.guid [ActionController::Base.session_options[:session_key], topic.forum_id.to_s, topic.id.to_s].join(":"), "isPermaLink" => "false"
|
7
7
|
xm.author h(topic.reader.name)
|
8
|
-
xm.link
|
8
|
+
xm.link topic_url(topic)
|
9
9
|
end
|
@@ -1,27 +1,24 @@
|
|
1
|
-
= render :partial => 'forums/standard_parts'
|
2
|
-
|
3
1
|
- content_for :messages do
|
4
2
|
- if @topics.empty?
|
5
3
|
%p
|
6
|
-
= t('no_topics')
|
4
|
+
= t('forum_extension.no_topics')
|
7
5
|
- else
|
8
6
|
= render :partial => 'topics/topic', :collection => @topics
|
9
7
|
|
10
8
|
- content_for :sidebar do
|
11
|
-
= render :partial => 'posts/search_form', :locals => {:minimal => true}
|
12
9
|
= render :partial => 'forums/latest'
|
13
10
|
= render :partial => 'topics/busiest'
|
14
11
|
|
15
12
|
- content_for :pagination do
|
16
|
-
= pagination_and_summary_for(@topics, t('topics'))
|
13
|
+
= pagination_and_summary_for(@topics, t('forum_extension.topics'))
|
17
14
|
|
18
15
|
- content_for :breadcrumbs do
|
19
|
-
= link_to t('forum').titlecase, topics_url
|
20
|
-
= t('separator')
|
16
|
+
= link_to t('forum_extension.forum').titlecase, topics_url
|
17
|
+
= t('reader_extension.separator')
|
21
18
|
= yield :title
|
22
19
|
|
23
20
|
- content_for :title do
|
24
|
-
= t('topics_heading')
|
21
|
+
= t('forum_extension.topics_heading')
|
25
22
|
|
26
23
|
- content_for :feedurl do
|
27
24
|
= topics_url(:format => :rss)
|
@@ -29,14 +26,21 @@
|
|
29
26
|
- content_for :feedlink do
|
30
27
|
= feed_link(topics_url(:format => :rss))
|
31
28
|
|
29
|
+
- content_for :head do
|
30
|
+
%h1
|
31
|
+
= yield :title
|
32
|
+
|
32
33
|
- content_for :introduction do
|
33
34
|
%p
|
34
|
-
=t('topics_introduction')
|
35
|
+
=t('forum_extension.topics_introduction')
|
36
|
+
|
37
|
+
= render :partial => 'shared/standard_forum_parts'
|
35
38
|
|
36
|
-
|
39
|
+
.forum
|
37
40
|
= yield :pagination if @topics.previous_page
|
38
41
|
= yield :messages
|
39
42
|
= yield :pagination if @topics.next_page
|
43
|
+
= yield :newtopic
|
40
44
|
|
41
45
|
|
42
46
|
|
@@ -4,8 +4,8 @@ xml.channel do
|
|
4
4
|
:rel => 'self', :type => 'application/rss+xml'
|
5
5
|
}
|
6
6
|
|
7
|
-
xml.title "#{@site_title} : #{t('latest_topics')}"
|
8
|
-
xml.description t("latest_topics_description")
|
7
|
+
xml.title "#{@site_title} : #{t('forum_extension.latest_topics')}"
|
8
|
+
xml.description t("forum_extension.latest_topics_description")
|
9
9
|
xml.link topics_url
|
10
10
|
xml.language I18n.locale.to_s
|
11
11
|
xml.ttl "60"
|
@@ -1,15 +1,12 @@
|
|
1
|
-
= render :partial => 'forums/standard_parts'
|
2
|
-
|
3
|
-
- content_for :newtopic do
|
4
|
-
.newmessage
|
5
|
-
= link_to t('new_topic_here'), new_post_url(:forum_id => @forum.id)
|
6
|
-
|
7
1
|
- content_for :pagination do
|
8
|
-
= pagination_and_summary_for(@posts, t('post'))
|
2
|
+
= pagination_and_summary_for(@posts, t('forum_extension.post'))
|
9
3
|
|
10
4
|
- content_for :title do
|
11
5
|
= @topic.name
|
12
6
|
|
7
|
+
- content_for :context do
|
8
|
+
= render :partial => 'topics/context'
|
9
|
+
|
13
10
|
- content_for :person do
|
14
11
|
= standard_gravatar_for(@topic.reader)
|
15
12
|
|
@@ -17,7 +14,6 @@
|
|
17
14
|
= render :partial => 'posts/post', :locals => {:post => @topic.posts.first, :headless => true, :with_context => true}
|
18
15
|
|
19
16
|
- content_for :sidebar do
|
20
|
-
= render :partial => 'posts/search_form', :locals => {:minimal => true}
|
21
17
|
= render :partial => 'topics/latest'
|
22
18
|
|
23
19
|
- content_for :feedurl do
|
@@ -27,16 +23,22 @@
|
|
27
23
|
= feed_link(topic_path(@topic, :format => :rss))
|
28
24
|
|
29
25
|
- content_for :parent do
|
30
|
-
|
26
|
+
- if @topic.forum
|
27
|
+
= link_to @topic.forum.name + ':', forum_url(@topic.forum)
|
31
28
|
|
32
29
|
- content_for :breadhead do
|
33
|
-
|
34
|
-
|
30
|
+
%span.breadhead
|
31
|
+
= link_to t('forum_extension.forum').titlecase, topics_url
|
32
|
+
= t('reader_extension.separator')
|
33
|
+
= yield :parent
|
35
34
|
|
36
35
|
- content_for :breadcrumbs do
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
%p.breadcrumbs
|
37
|
+
= link_to t('forum_extension.forum').titlecase, topics_url
|
38
|
+
= t('reader_extension.separator')
|
39
|
+
= yield :parent
|
40
|
+
= t('reader_extension.separator')
|
41
|
+
= yield :title
|
40
42
|
|
41
43
|
- content_for :messages do
|
42
44
|
= yield :pagination if @posts.previous_page
|
@@ -44,13 +46,12 @@
|
|
44
46
|
= yield :pagination if @posts.next_page
|
45
47
|
|
46
48
|
- content_for :reply_form do
|
47
|
-
|
48
|
-
.wrapper
|
49
|
-
%p.add_reply
|
50
|
-
= link_to t('add_reply'), new_topic_post_url(@topic), :class => 'remote autoload'
|
49
|
+
= render :partial => 'topics/reply'
|
51
50
|
|
51
|
+
= render :partial => 'shared/standard_forum_parts'
|
52
52
|
|
53
|
-
|
53
|
+
.forum
|
54
54
|
= yield :first_post
|
55
55
|
= yield :messages
|
56
56
|
= yield :reply_form unless @posts.next_page
|
57
|
+
|
@@ -1,12 +1,12 @@
|
|
1
1
|
xml.channel do
|
2
2
|
xml.atom :link, nil, {
|
3
|
-
:href =>
|
3
|
+
:href => topic_url(@topic, :format => 'rss'),
|
4
4
|
:rel => 'self', :type => 'application/rss+xml'
|
5
5
|
}
|
6
6
|
|
7
7
|
xml.title "#{@site_title} : #{@topic.name}"
|
8
|
-
xml.description "#{@posts.length} #{t('posts')}, #{t('most_recently')} #{t('from_reader', :name => @posts.last.reader.name)} #{t('on_date', :date => friendly_date(@posts.last.created_at))}"
|
9
|
-
xml.link
|
8
|
+
xml.description "#{@posts.length} #{t('forum_extension.posts')}, #{t('forum_extension.most_recently')} #{t('forum_extension.from_reader', :name => @posts.last.reader.name)} #{t('forum_extension.on_date', :date => friendly_date(@posts.last.created_at))}"
|
9
|
+
xml.link topic_url(@topic)
|
10
10
|
xml.language I18n.locale.to_s
|
11
11
|
xml.ttl "60"
|
12
12
|
|
@@ -1,8 +1,11 @@
|
|
1
1
|
Radiant.config do |config|
|
2
2
|
config.namespace('forum') do |forum|
|
3
3
|
forum.define 'public?', :default => true
|
4
|
+
forum.define 'cached?', :default => true
|
5
|
+
forum.define 'cache_duration', :default => 60, :type => :integer, :units => "minutes"
|
4
6
|
forum.define 'toolbar?', :default => true
|
5
|
-
forum.define 'editable_period', :type => :integer, :default =>
|
7
|
+
forum.define 'editable_period', :type => :integer, :default => 30, :units => "minutes"
|
8
|
+
forum.define 'offer_rss?', :default => false
|
6
9
|
forum.define 'allow_page_comments?', :default => true
|
7
10
|
forum.define 'allow_attachments?', :default => true
|
8
11
|
forum.define 'attachment.content_types'
|
data/config/locales/en.yml
CHANGED
@@ -1,29 +1,13 @@
|
|
1
1
|
en:
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
attach_file: "attach a file"
|
12
|
-
author: "author"
|
13
|
-
begun_on: "begun on %{date}"
|
14
|
-
busy_topics: "Busy topics"
|
15
|
-
busy_readers: "Busiest people"
|
16
|
-
by: "by"
|
17
|
-
by_content_and_author: "by content, author or category."
|
18
|
-
comment: "comment"
|
19
|
-
comment_count:
|
20
|
-
zero: "No comments yet"
|
21
|
-
one: "One comment"
|
22
|
-
other: "%{count} comments."
|
23
|
-
comment_on_page: "a comment added to the page"
|
24
|
-
comments_closed: "Comments closed."
|
25
|
-
comments_on: "Comments on"
|
26
|
-
comments: "comments"
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
post:
|
5
|
+
body: "Your message"
|
6
|
+
topic:
|
7
|
+
forum_id: "File in category"
|
8
|
+
name: "Discussion title"
|
9
|
+
sticky: "Sticky"
|
10
|
+
locked: "Locked"
|
27
11
|
config:
|
28
12
|
forum:
|
29
13
|
allow_attachments?: "Posts have attachments?"
|
@@ -34,165 +18,205 @@ en:
|
|
34
18
|
commentable_period: "Pages commentable for"
|
35
19
|
editable_period: "Posts editable for"
|
36
20
|
layout: "Forum layout"
|
21
|
+
offer_rss?: "Show RSS links"
|
37
22
|
public?: "Forum public?"
|
38
|
-
|
39
|
-
confirm_remove_forum: "Delete forum?"
|
40
|
-
confirm_remove_post: "Delete post?"
|
41
|
-
confirm_remove_topic: "Delete topic?"
|
42
|
-
containing: "containing the phrase"
|
43
|
-
definitely_remove_post: "Yes: delete it"
|
44
|
-
edit_forum: "Edit forum"
|
45
|
-
edit_minimal: "e"
|
46
|
-
edit_post: "Edit post"
|
47
|
-
edit_topic: "Edit topic"
|
48
|
-
edit_your_post: "edit your post"
|
49
|
-
error:
|
50
|
-
message_empty: "Sorry: message can't be empty"
|
51
|
-
no_file: "You must choose a file to upload!"
|
52
|
-
filed_in: "under %{name}"
|
53
|
-
for_comments: "for page comments"
|
23
|
+
toolbar?: "Enable editing toolbar"
|
54
24
|
forum: "Forum"
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
25
|
+
topics: "Topics"
|
26
|
+
forums: "Categories"
|
27
|
+
posts: "Posts"
|
28
|
+
settings: "Settings"
|
29
|
+
forum_extension:
|
30
|
+
a_reply_to: "A reply to"
|
31
|
+
add_post: "Add a %{message_type}"
|
32
|
+
add_comment: "Add a comment"
|
33
|
+
add_reply: "Add a reply"
|
34
|
+
administer_by_browsing: 'The easiest way to administer the forum is by <a href="/forum">browsing around it.</a>'
|
35
|
+
ago: "ago"
|
36
|
+
all: "all"
|
37
|
+
anyone: "anyone"
|
38
|
+
anywhere: "anywhere"
|
39
|
+
attached: "attached"
|
40
|
+
attach_file: "attach a file"
|
41
|
+
author: "author"
|
42
|
+
begun_on: "begun on %{date}"
|
43
|
+
body: "body"
|
44
|
+
by: "by"
|
45
|
+
by_content_and_author: "by content, author or category."
|
46
|
+
comment: "comment"
|
47
|
+
comment_count:
|
48
|
+
zero: "No comments yet"
|
49
|
+
one: "One comment"
|
50
|
+
other: "%{count} comments."
|
51
|
+
comment_count_from:
|
52
|
+
zero: "No comments."
|
53
|
+
one: "One coment, from "
|
54
|
+
other: "%{count} comments, most recently from "
|
55
|
+
comment_on_page: "a comment added to the page"
|
56
|
+
comments_closed: "Comments closed."
|
57
|
+
comments_on: "Comments on"
|
58
|
+
comments: "comments"
|
59
|
+
confirm_removal_of_comment: "Are you sure you want to delete this comment from %{author}? There's no way to get it back if you change your mind."
|
60
|
+
confirm_removal_of_post: "Are you sure you want to delete this post from %{author}? There's no way to get it back if you change your mind."
|
61
|
+
confirm_removal_of_topic: "Are you sure you want to delete this topic and all of its replies? There's no way to get any of it back if you change your mind."
|
62
|
+
confirm_remove_forum: "Delete forum?"
|
63
|
+
confirm_remove_post: "Delete post?"
|
64
|
+
confirm_remove_topic: "Delete topic?"
|
65
|
+
containing: "containing the phrase"
|
66
|
+
definitely_remove_post: "Yes: delete it"
|
67
|
+
description: Description
|
68
|
+
edit_forum: "Edit forum"
|
69
|
+
edit_minimal: "e"
|
70
|
+
edit_post: "Edit post"
|
71
|
+
edit_topic: "Edit topic"
|
72
|
+
edit_your_post: "edit your post"
|
73
|
+
error:
|
74
|
+
message_empty: "Sorry: message can't be empty"
|
75
|
+
no_file: "You must choose a file to upload!"
|
76
|
+
filed_in: "under %{name}"
|
77
|
+
for_comments: "for page comments"
|
87
78
|
forum: "Forum"
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
79
|
+
forums: "Discussion categories"
|
80
|
+
forum_configuration: "Forum settings"
|
81
|
+
forum_messages: "Forum messages from %{name}"
|
82
|
+
forum_search: "Forum Search"
|
83
|
+
forum_show_introduction: ""
|
84
|
+
forums_heading: "Forum categories"
|
85
|
+
forums_introduction: 'These are the broad filing areas we use to organise the forum. You can also see lists of <a href="/forum/topics">all the latest topics</a> or <a href="/forum/posts">posts</a> across all these categories.'
|
86
|
+
from: "from"
|
87
|
+
from_reader: "from %{name}"
|
88
|
+
if_you_not: "If you're not %{name}, please"
|
89
|
+
in: "in"
|
90
|
+
in_forum: "filed under"
|
91
|
+
in_reply_to: "in reply to"
|
92
|
+
last_seen: "last here"
|
93
|
+
latest_activity: "latest activity"
|
94
|
+
latest_forum_activity: "Latest in the forum"
|
95
|
+
latest_discussion: "Latest topics"
|
96
|
+
latest_posts: "Latest posts"
|
97
|
+
latest_posts_description: "Topics and replies from across the forum in descending date order."
|
98
|
+
latest_topics: "Latest topics"
|
99
|
+
latest_topics_description: "Topics most recently posted or replied to."
|
100
|
+
locked: "locked"
|
101
|
+
matching: "matching"
|
102
|
+
messages_from_reader: "Messages from %{name}"
|
103
|
+
most_recently: "most recently"
|
104
|
+
navigation:
|
105
|
+
forum: "Forum"
|
106
|
+
forum_help: "Help"
|
107
|
+
forums: "Categories"
|
108
|
+
readers: "People"
|
109
|
+
new_topic: "New topic"
|
110
|
+
search: "Search"
|
111
|
+
topics: "Latest"
|
112
|
+
new_comment: "Add a comment"
|
113
|
+
new_forum: "New forum"
|
114
|
+
new_reply_to: "New reply to"
|
115
|
+
new_reply_from: "New reply from"
|
116
|
+
new_topic: "Start a new discussion"
|
117
|
+
new_topic_button: "Submit topic"
|
118
|
+
new_topic_heading: "Start a new topic"
|
119
|
+
new_topic_introduction: ""
|
120
|
+
new_topic_here: "start a new<br />topic here"
|
121
|
+
new_topic_started: "New topic started"
|
122
|
+
no_description_provided: "No description provided."
|
123
|
+
no_forums: "No discussion categories defined here yet."
|
124
|
+
no_messages_yet: "No messages yet"
|
125
|
+
no_posts: "The forum is empty."
|
126
|
+
no_posts_found: "No messages found."
|
127
|
+
no_search_results: "Sorry: no messages match your criteria. Please use the form below to broaden your search."
|
128
|
+
no_topics: "No talk here yet."
|
129
|
+
notice:
|
130
|
+
topic_deleted: "Topic '%{name}' was deleted."
|
131
|
+
post_deleted: "Post deleted."
|
132
|
+
now_has: "now has"
|
133
|
+
of: "of"
|
134
|
+
on_date: "on %{date}"
|
135
|
+
pages_with_latest_comments: "Latest page comments"
|
136
|
+
page_locked: "Sorry: comments are not allowed on this page"
|
137
|
+
post: "comment"
|
138
|
+
post_body: "Post body"
|
139
|
+
post_count:
|
140
|
+
zero: ""
|
141
|
+
one: "One reply"
|
142
|
+
other: "%{count} replies"
|
143
|
+
post_post: "Post %{message_type}"
|
144
|
+
post_removed: "Post removed"
|
145
|
+
posted: "posted"
|
146
|
+
posted_and_updated_on: "posted on %{posted} and updated on %{updated}"
|
147
|
+
posted_on: "posted"
|
148
|
+
posted_by: "posted by"
|
149
|
+
post: "message"
|
150
|
+
posts: "Messages"
|
151
|
+
posts_found:
|
152
|
+
zero: "Nothing found"
|
153
|
+
one: "One message found"
|
154
|
+
other: "%{count} messages found"
|
155
|
+
posts_heading: "Search the forum"
|
156
|
+
posts_introduction: 'This begins as a full list of all the posts in the forum. Add criteria below to cut down the list to specific subjects and speakers.'
|
157
|
+
really_remove_post: "Are you sure you want to delete this comment?"
|
158
|
+
recent_topics: "Recent topics"
|
159
|
+
remove_minimal: "x"
|
160
|
+
remove_post: "delete comment"
|
161
|
+
replied_on: "replied on %{date}"
|
162
|
+
reply_from: "reply from"
|
163
|
+
reply_posted: "reply posted"
|
164
|
+
reply_to: "Reply to"
|
165
|
+
reply: "reply"
|
166
|
+
rss: "RSS"
|
167
|
+
rss_feed: "RSS feed"
|
168
|
+
save_changes: "Save changes"
|
169
|
+
save_post: "Save post"
|
92
170
|
search: "Search"
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
recent_topics: "Recent topics"
|
139
|
-
remove_minimal: "x"
|
140
|
-
remove_post: "delete comment"
|
141
|
-
replied_on: "replied on %{date}"
|
142
|
-
reply_from: "reply from"
|
143
|
-
reply_posted: "reply posted"
|
144
|
-
reply_to: "Reply to"
|
145
|
-
reply: "reply"
|
146
|
-
rss: "RSS"
|
147
|
-
rss_feed: "RSS feed"
|
148
|
-
save_changes: "Save changes"
|
149
|
-
save_post: "Save post"
|
150
|
-
search: "Search"
|
151
|
-
search_feed: "Search Results Feed"
|
152
|
-
search_form:
|
153
|
-
forum_label: "In this discussion category"
|
154
|
-
person_label: "From this person"
|
155
|
-
minimal_query_label: "Forum search"
|
156
|
-
query_label: "Search for this text"
|
157
|
-
search_header: "Forum Search"
|
158
|
-
search_introduction: "Please choose a search phrase and/or a person or discussion category."
|
159
|
-
search_results: "Search Results"
|
160
|
-
search_whole_forum: "search the whole forum"
|
161
|
-
separator: ':'
|
162
|
-
showing: "showing"
|
163
|
-
sorry_locked: "Sorry: this topic is locked."
|
164
|
-
start_topic: "Start a new conversation"
|
165
|
-
started: "started"
|
166
|
-
started_by: "Started by"
|
167
|
-
started_topic_in: "started a new topic under"
|
168
|
-
started_topic_on: "started a new topic on %{date}"
|
169
|
-
sticky: "sticky"
|
171
|
+
search_feed: "Search Results Feed"
|
172
|
+
search_form:
|
173
|
+
forum_label: "In this discussion category"
|
174
|
+
person_label: "From this person"
|
175
|
+
minimal_query_label: "Forum search"
|
176
|
+
query_label: "Search for this text"
|
177
|
+
search_header: "Forum Search"
|
178
|
+
search_introduction: "Please choose a search phrase and/or a person or discussion category."
|
179
|
+
search_results: "Search Results"
|
180
|
+
search_whole_forum: "search the whole forum"
|
181
|
+
separator: ':'
|
182
|
+
showing: "showing"
|
183
|
+
sorry_cannot_edit: "Sorry: either you don't have the authority to edit this post, or its editable period has finished."
|
184
|
+
sorry_locked: "Sorry: this topic is locked."
|
185
|
+
start_topic: "Start a new conversation"
|
186
|
+
started: "started"
|
187
|
+
started_by: "Started by"
|
188
|
+
started_topic_in: "started a new topic under"
|
189
|
+
started_topic_on: "started a new topic on %{date}"
|
190
|
+
sticky: "sticky"
|
191
|
+
stopwords: "a about above across after afterwards again against all almost alone along already also although always am among amongst amoungst amount an and another any anyhow anyone anything anyway anywhere are around as at back be became because become becomes becoming been before beforehand behind being below beside besides between beyond bill both bottom but by call can cannot cant co computer con could couldnt cry de describe detail do done down due during each eg eight either eleven else elsewhere empty enough etc even ever every everyone everything everywhere except few fifteen fify fill find fire first five for former formerly forty found four from front full further get give go had has hasnt have he hence her here hereafter hereby herein hereupon hers herse” him himse” his how however hundred i ie if in inc indeed interest into is it its itse” keep last latter latterly least less ltd made many may me meanwhile might mill mine more moreover most mostly move much must my myse” name namely neither never nevertheless next nine no nobody none noone nor not nothing now nowhere of off often on once one only onto or other others otherwise our ours ourselves out over own part per perhaps please put rather re same see seem seemed seeming seems serious several she should show side since sincere six sixty so some somehow someone something sometime sometimes somewhere still such system take ten than that the their them themselves then thence there thereafter thereby therefore therein thereupon these they thick thin third this those though three through throughout thru thus to together too top toward towards twelve twenty two un under until up upon us very via was we well were what whatever when whence whenever where whereafter whereas whereby wherein whereupon wherever whether which while whither who whoever whole whom whose why will with within without would yet you your yours yourself yourselves"
|
192
|
+
time_remaining_to_edit: "You have %{time} left to "
|
193
|
+
to_comment: "To comment"
|
194
|
+
to_post: "To post messages"
|
195
|
+
to_start_topic: "To start a topic"
|
196
|
+
top_topics: "Top topics"
|
197
|
+
top_readers: "Top posters"
|
198
|
+
topic_count:
|
199
|
+
zero: "No discussion."
|
200
|
+
one: "One topic: "
|
201
|
+
other: "%{count} topics, most recently "
|
202
|
+
topic_show_introduction: ""
|
203
|
+
topic_removed: "Topic removed"
|
204
|
+
topics_and_posts: "Topics and messages"
|
205
|
+
to: "to"
|
206
|
+
to_add_post: "To add a %{message_type}"
|
207
|
+
topic: "topic"
|
208
|
+
topic_body: "Opening message"
|
209
|
+
topic_empty: "Topic empty!"
|
210
|
+
topic_name: "Topic name"
|
211
|
+
topics: "Topics"
|
212
|
+
topics_heading: "Latest topics"
|
213
|
+
topics_introduction: 'This is a list of all the discussions going on here, with the most recently updated first. You can also see a more organised list of <a href="/forum/forums">discussion categories</a> or <a href="/forum/posts">search</a> for particular posts and people.'
|
214
|
+
under: "under"
|
215
|
+
unknown_date: "unknown date"
|
170
216
|
time:
|
171
217
|
formats:
|
172
|
-
recently: "%A at %l:%M%p"
|
218
|
+
recently: "on %A at %l:%M%p"
|
173
219
|
standard: "on %B %e, %Y at %l:%M%p"
|
174
|
-
this_year: "%B %e at %l:%M%p"
|
220
|
+
this_year: "on %B %e at %l:%M%p"
|
175
221
|
today: "today at %l:%M%p"
|
176
222
|
yesterday: "yesterday at %l:%M%p"
|
177
|
-
time_remaining_to_edit: "You have %{time} left to "
|
178
|
-
to_comment: "To comment"
|
179
|
-
to_post: "To post messages"
|
180
|
-
to_start_topic: "To start a topic"
|
181
|
-
topic_count:
|
182
|
-
zero: "No discussion."
|
183
|
-
one: "One topic: "
|
184
|
-
other: "%{count} topics, most recently "
|
185
|
-
topic_show_introduction: ""
|
186
|
-
topic_removed: "Topic removed"
|
187
|
-
topics_and_posts: "Topics and messages"
|
188
|
-
to: "to"
|
189
|
-
to_add_post: "To add a %{message_type}"
|
190
|
-
topic: "topic"
|
191
|
-
topic_body: "Opening message"
|
192
|
-
topic_empty: "Topic empty!"
|
193
|
-
topic_name: "Topic name"
|
194
|
-
topics: "Topics"
|
195
|
-
topics_heading: "Latest topics"
|
196
|
-
topics_introduction: 'This is a list of all the discussions going on here, with the most recently updated first. You can also see a more organised list of <a href="/forum/forums">discussion categories</a> or <a href="/forum/posts">search</a> for particular posts and people.'
|
197
|
-
under: "under"
|
198
|
-
unknown_date: "unknown date"
|
@@ -3,8 +3,7 @@ class PagesCommentable < ActiveRecord::Migration
|
|
3
3
|
add_column :pages, :commentable, :boolean, :default => true
|
4
4
|
add_column :pages, :comments_closed, :boolean, :default => false
|
5
5
|
add_column :topics, :page_id, :integer
|
6
|
-
add_index :topics, :page_id
|
7
|
-
|
6
|
+
add_index :topics, :page_id, :name => "index_topics_on_page_id"
|
8
7
|
end
|
9
8
|
|
10
9
|
def self.down
|