typo 5.4.4 → 5.5
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.
- data/CHANGELOG +59 -28
- data/MAINTAINERS +9 -17
- data/README +28 -20
- data/UPGRADE +6 -2
- data/app/controllers/accounts_controller.rb +1 -1
- data/app/controllers/admin/content_controller.rb +1 -1
- data/app/controllers/admin/feedback_controller.rb +3 -3
- data/app/controllers/admin/pages_controller.rb +2 -0
- data/app/controllers/application_controller.rb +6 -1
- data/app/controllers/articles_controller.rb +13 -1
- data/app/helpers/application_helper.rb +5 -2
- data/app/helpers/authors_helper.rb +14 -3
- data/app/models/article.rb +6 -4
- data/app/models/blog.rb +0 -4
- data/app/models/blog_sweeper.rb +1 -1
- data/app/models/content.rb +10 -5
- data/app/models/page_cache.rb +6 -7
- data/app/models/user.rb +1 -0
- data/app/views/admin/content/_form.html.erb +13 -11
- data/app/views/admin/content/_images.html.erb +1 -1
- data/app/views/admin/content/_simple_editor.html.erb +1 -0
- data/app/views/admin/content/_visual_editor.html.erb +1 -0
- data/app/views/admin/dashboard/_overview.html.erb +7 -7
- data/app/views/admin/pages/_form.html.erb +1 -0
- data/app/views/admin/pages/_images.html.erb +18 -0
- data/app/views/admin/pages/_simple_editor.html.erb +1 -2
- data/app/views/admin/pages/_visual_editor.html.erb +2 -1
- data/app/views/admin/pages/index.html.erb +1 -1
- data/app/views/admin/settings/feedback.html.erb +2 -1
- data/app/views/admin/tags/edit.html.erb +1 -1
- data/app/views/articles/_article.html.erb +17 -13
- data/app/views/articles/_article_content.html.erb +1 -0
- data/app/views/articles/_comment_box.html.erb +1 -1
- data/app/views/articles/_password_form.html.erb +10 -0
- data/app/views/articles/groupings.html.erb +1 -1
- data/app/views/articles/index.html.erb +1 -2
- data/app/views/articles/read.html.erb +1 -4
- data/app/views/articles/search.html.erb +1 -1
- data/app/views/layouts/administration.html.erb +1 -1
- data/app/views/shared/_search.html.erb +1 -1
- data/config/ckeditor.yml +14 -0
- data/config/environment.rb +13 -25
- data/config/environments/test.rb +1 -3
- data/config/filemanager.yml +16 -0
- data/config/initializers/access_rules.rb +5 -0
- data/config/routes.rb +5 -1
- data/db/migrate/004_add_sidebars.rb +3 -9
- data/db/migrate/089_drop_cache_information_table.rb +31 -0
- data/db/migrate/090_remove_keywords_from_posts.rb +9 -0
- data/db/migrate/091_adds_password_protection_to_posts.rb +9 -0
- data/doc/CACHE.SETUP.README +36 -0
- data/lang/de_DE.rb +6 -1
- data/lang/pl_PL.rb +221 -89
- data/lib/filemanager.rb +53 -0
- data/lib/filemanager/controller.rb +217 -0
- data/lib/i18n_interpolation_deprecation.rb +26 -0
- data/lib/rails_patch/active_support.rb +4 -0
- data/lib/tasks/release.rake +4 -131
- data/lib/typo_version.rb +1 -1
- data/public/.htaccess +6 -5
- data/public/filemanager/images/avi.gif +0 -0
- data/public/filemanager/images/box.gif +0 -0
- data/public/filemanager/images/bullet.gif +0 -0
- data/public/filemanager/images/close.gif +0 -0
- data/public/filemanager/images/closelabel.gif +0 -0
- data/public/filemanager/images/doc.gif +0 -0
- data/public/filemanager/images/donate-button.gif +0 -0
- data/public/filemanager/images/download-icon.gif +0 -0
- data/public/filemanager/images/folder.gif +0 -0
- data/public/filemanager/images/gif.gif +0 -0
- data/public/filemanager/images/htm.gif +0 -0
- data/public/filemanager/images/html.gif +0 -0
- data/public/filemanager/images/image-1.jpg +0 -0
- data/public/filemanager/images/image.gif +0 -0
- data/public/filemanager/images/jpg.gif +0 -0
- data/public/filemanager/images/loading.gif +0 -0
- data/public/filemanager/images/mov.gif +0 -0
- data/public/filemanager/images/nextlabel.gif +0 -0
- data/public/filemanager/images/pdf.gif +0 -0
- data/public/filemanager/images/png.gif +0 -0
- data/public/filemanager/images/ppt.gif +0 -0
- data/public/filemanager/images/prevlabel.gif +0 -0
- data/public/filemanager/images/rar.gif +0 -0
- data/public/filemanager/images/rm.gif +0 -0
- data/public/filemanager/images/rmvb.gif +0 -0
- data/public/filemanager/images/separator.gif +0 -0
- data/public/filemanager/images/spacer.gif +0 -0
- data/public/filemanager/images/swf.gif +0 -0
- data/public/filemanager/images/thumb-1.jpg +0 -0
- data/public/filemanager/images/tool_copy.gif +0 -0
- data/public/filemanager/images/tool_cut.gif +0 -0
- data/public/filemanager/images/tool_del.gif +0 -0
- data/public/filemanager/images/tool_folder.gif +0 -0
- data/public/filemanager/images/tool_imagemanager.gif +0 -0
- data/public/filemanager/images/tool_new.gif +0 -0
- data/public/filemanager/images/tool_paste.gif +0 -0
- data/public/filemanager/images/tool_props.gif +0 -0
- data/public/filemanager/images/tool_refresh.gif +0 -0
- data/public/filemanager/images/tool_unzip.gif +0 -0
- data/public/filemanager/images/tool_upload.gif +0 -0
- data/public/filemanager/images/tool_zip.gif +0 -0
- data/public/filemanager/images/txt.gif +0 -0
- data/public/filemanager/images/unknown.gif +0 -0
- data/public/filemanager/images/wmv.gif +0 -0
- data/public/filemanager/images/xls.gif +0 -0
- data/public/filemanager/images/zip.gif +0 -0
- data/public/filemanager/javascripts/filemanager.js +6 -0
- data/public/filemanager/javascripts/lang/en.js +31 -0
- data/public/filemanager/javascripts/lang/zh_CN.js +31 -0
- data/public/filemanager/javascripts/lightbox.js +497 -0
- data/public/filemanager/javascripts/translate.js +42 -0
- data/public/filemanager/resources/resources.txt +1 -0
- data/public/filemanager/stylesheets/filelist.css +147 -0
- data/public/filemanager/stylesheets/general.css +135 -0
- data/public/filemanager/stylesheets/lightbox.css +27 -0
- data/public/javascripts/prototype_ext.js +117 -0
- data/public/stylesheets/administration.css +19 -2
- data/themes/dirtylicious/views/articles/_article.html.erb +16 -12
- data/themes/dirtylicious/views/articles/_article_content.html.erb +1 -0
- data/themes/dirtylicious/views/articles/_password_form.html.erb +10 -0
- data/themes/scribbish/views/articles/_article.html.erb +18 -14
- data/themes/scribbish/views/articles/_article_content.html.erb +1 -0
- data/themes/scribbish/views/articles/_password_form.html.erb +10 -0
- data/themes/standard_issue/views/articles/_article.html.erb +16 -12
- data/themes/standard_issue/views/articles/_article_content.html.erb +1 -0
- data/themes/standard_issue/views/articles/_password_form.html.erb +10 -0
- data/themes/true-blue-3/helpers/theme_helper.rb +2 -2
- data/themes/true-blue-3/images/submit_form.jpg +0 -0
- data/themes/true-blue-3/stylesheets/style.css +27 -3
- data/themes/true-blue-3/views/articles/_article.html.erb +13 -8
- data/themes/true-blue-3/views/articles/_article_content.html.erb +1 -0
- data/themes/true-blue-3/views/articles/_comment_form.html.erb +1 -1
- data/themes/true-blue-3/views/articles/_password_form.html.erb +10 -0
- data/themes/true-blue-3/views/categories/_article.html.erb +5 -0
- data/themes/true-blue-3/views/tags/_article.html.erb +4 -0
- data/themes/typographic/views/articles/_article.html.erb +16 -12
- data/themes/typographic/views/articles/_article_content.html.erb +1 -0
- data/themes/typographic/views/articles/_password_form.html.erb +10 -0
- data/vendor/plugins/easy-ckeditor/app/controllers/ckeditor_controller.rb +2 -1
- data/vendor/plugins/easy-ckeditor/lib/ckeditor.rb +1 -20
- data/vendor/plugins/easy-ckeditor/{tasks → lib/tasks}/ckeditor_tasks.rake +0 -0
- data/vendor/plugins/filemanager/app/controllers/fm/filemanager_controller.rb +22 -0
- data/vendor/plugins/filemanager/app/views/fm/filemanager/index.html.erb +512 -0
- data/vendor/plugins/filemanager/app/views/fm/filemanager/view.html.erb +67 -0
- data/vendor/plugins/filemanager/filemanager.yml +16 -0
- data/vendor/plugins/static_sidebar/lib/static_sidebar.rb +4 -2
- data/vendor/plugins/typo_converter/{tasks → lib/tasks}/typo_converters_tasks.rake +0 -0
- data/vendor/plugins/typo_login_system/lib/access_control.rb +24 -1
- data/vendor/plugins/typo_textfilter_code/{tasks → lib/tasks}/typo_textfilter_code_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_code/lib/typo_textfilter_code.rb +4 -3
- data/vendor/plugins/typo_textfilter_flickr/{tasks → lib/tasks}/typo_textfilter_flickr_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_htmlfilter/{tasks → lib/tasks}/typo_textfilter_htmlfilter_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_lightbox/{tasks → lib/tasks}/typo_textfilter_lightbox_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_markdown/{tasks → lib/tasks}/typo_textfilter_markdown_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_none/{tasks → lib/tasks}/typo_textfilter_none_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_smartypants/{tasks → lib/tasks}/typo_textfilter_smartypants_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_textile/{tasks → lib/tasks}/typo_textfilter_textile_tasks.rake +0 -0
- data/vendor/plugins/typo_textfilter_textile_and_markdown/{tasks → lib/tasks}/typo_textfilter_textile_and_markdown_tasks.rake +0 -0
- data/vendor/plugins/xml_sidebar/views/content.rhtml +1 -1
- metadata +190 -195
- data/app/controllers/admin/cache_controller.rb +0 -9
- data/app/models/cache_information.rb +0 -19
- data/db/schema.rb +0 -242
- data/doc/test_themes.rb +0 -50
- data/public/javascripts/ckeditor/config.js +0 -27
- data/spec/controllers/accounts_controller_spec.rb +0 -414
- data/spec/controllers/admin/cache_controller_spec.rb +0 -18
- data/spec/controllers/admin/categories_controller_spec.rb +0 -73
- data/spec/controllers/admin/content_controller_spec.rb +0 -443
- data/spec/controllers/admin/dashboard_controller_spec.rb +0 -13
- data/spec/controllers/admin/feedback_controller_spec.rb +0 -308
- data/spec/controllers/admin/pages_controller_spec.rb +0 -80
- data/spec/controllers/admin/profiles_controller_spec.rb +0 -22
- data/spec/controllers/admin/resources_controller_spec.rb +0 -53
- data/spec/controllers/admin/settings_controller_spec.rb +0 -80
- data/spec/controllers/admin/tags_controller_spec.rb +0 -64
- data/spec/controllers/admin/textfilters_controller_spec.rb +0 -20
- data/spec/controllers/admin/themes_controller_spec.rb +0 -30
- data/spec/controllers/admin/users_controller_spec.rb +0 -109
- data/spec/controllers/application_controller_spec.rb +0 -18
- data/spec/controllers/articles_controller_spec.rb +0 -440
- data/spec/controllers/authors_controller_spec.rb +0 -42
- data/spec/controllers/backend_controller_spec.rb +0 -337
- data/spec/controllers/categories_controller_spec.rb +0 -117
- data/spec/controllers/comments_controller_spec.rb +0 -137
- data/spec/controllers/routes/articles_routing_spec.rb +0 -31
- data/spec/controllers/routes/xml_routing_spec.rb +0 -71
- data/spec/controllers/setup_controller_spec.rb +0 -24
- data/spec/controllers/tags_controller_spec.rb +0 -147
- data/spec/controllers/textfilter_controller_spec.rb +0 -192
- data/spec/controllers/theme_controller_spec.rb +0 -39
- data/spec/controllers/xml_controller_spec.rb +0 -185
- data/spec/factories.rb +0 -69
- data/spec/helpers/application_helper_spec.rb +0 -25
- data/spec/helpers/content_helper_spec.rb +0 -28
- data/spec/lib/text_filter_plugin_spec.rb +0 -15
- data/spec/models/amazon_sidebar_spec.rb +0 -40
- data/spec/models/article_closing_spec.rb +0 -42
- data/spec/models/article_spec.rb +0 -515
- data/spec/models/blog_spec.rb +0 -116
- data/spec/models/cache_information_spec.rb +0 -42
- data/spec/models/cache_support_spec.rb +0 -51
- data/spec/models/category_spec.rb +0 -44
- data/spec/models/comment_spec.rb +0 -240
- data/spec/models/configuration_spec.rb +0 -91
- data/spec/models/content_state/feedback_states_spec.rb +0 -64
- data/spec/models/notification_spec.rb +0 -8
- data/spec/models/page_cache_spec.rb +0 -30
- data/spec/models/page_spec.rb +0 -91
- data/spec/models/ping_pinger_spec.rb +0 -33
- data/spec/models/ping_spec.rb +0 -154
- data/spec/models/redirect_spec.rb +0 -17
- data/spec/models/resource_spec.rb +0 -39
- data/spec/models/route_cache_spec.rb +0 -11
- data/spec/models/sidebar_spec.rb +0 -7
- data/spec/models/static_sidebar_spec.rb +0 -17
- data/spec/models/tag_spec.rb +0 -65
- data/spec/models/text_filter_spec.rb +0 -34
- data/spec/models/theme_spec.rb +0 -45
- data/spec/models/trackback_spec.rb +0 -60
- data/spec/models/trigger_spec.rb +0 -40
- data/spec/models/user_spec.rb +0 -198
- data/spec/rcov.opts +0 -2
- data/spec/spec.opts +0 -4
- data/spec/spec_helper.rb +0 -133
- data/spec/views/articles/index_spec.rb +0 -63
- data/spec/views/articles/read_spec.rb +0 -67
- data/spec/views/comments/html_sanitization_spec.rb +0 -119
- data/test/fixtures/blogs.yml +0 -27
- data/test/fixtures/categories.yml +0 -29
- data/test/fixtures/categorizations.yml +0 -31
- data/test/fixtures/contents.yml +0 -231
- data/test/fixtures/feedback.yml +0 -180
- data/test/fixtures/notification_mailer/article +0 -3
- data/test/fixtures/notification_mailer/comment +0 -3
- data/test/fixtures/notification_mailer/trackback +0 -3
- data/test/fixtures/notifications.yml +0 -0
- data/test/fixtures/page_caches.yml +0 -7
- data/test/fixtures/profiles.yml +0 -27
- data/test/fixtures/redirects.yml +0 -10
- data/test/fixtures/resources.yml +0 -21
- data/test/fixtures/sidebars.yml +0 -10
- data/test/fixtures/tags.yml +0 -10
- data/test/fixtures/text_filters.yml +0 -37
- data/test/fixtures/triggers.yml +0 -1
- data/test/fixtures/users.yml +0 -101
- data/test/mocks/test/dns_mock.rb +0 -13
- data/test/mocks/test/flickr_mock.rb +0 -30
- data/test/mocks/test/http_mock.rb +0 -39
- data/test/mocks/test/theme_mock.rb +0 -5
- data/test/mocks/test/xmlrpc_mock.rb +0 -28
- data/test/mocks/themes/123-numbers-in-path/about.markdown +0 -0
- data/test/mocks/themes/CamelCaseDirectory/about.markdown +0 -0
- data/test/mocks/themes/i-have-special-chars/about.markdown +0 -0
- data/test/mocks/themes/typographic/about.markdown +0 -7
- data/test/mocks/themes/typographic/images/Thumbs.db +0 -0
- data/test/mocks/themes/typographic/images/accept.png +0 -0
- data/test/mocks/themes/typographic/images/accept50.png +0 -0
- data/test/mocks/themes/typographic/images/bg_body.jpg +0 -0
- data/test/mocks/themes/typographic/images/bg_white.png +0 -0
- data/test/mocks/themes/typographic/images/bg_wrapper.jpg +0 -0
- data/test/mocks/themes/typographic/images/bullet_bottom.png +0 -0
- data/test/mocks/themes/typographic/images/bullet_right.png +0 -0
- data/test/mocks/themes/typographic/images/email_open.png +0 -0
- data/test/mocks/themes/typographic/images/email_open50.png +0 -0
- data/test/mocks/themes/typographic/images/meta.png +0 -0
- data/test/mocks/themes/typographic/images/page_edit.png +0 -0
- data/test/mocks/themes/typographic/images/page_edit50.png +0 -0
- data/test/mocks/themes/typographic/images/tag.png +0 -0
- data/test/mocks/themes/typographic/images/user.png +0 -0
- data/test/mocks/themes/typographic/images/user50.png +0 -0
- data/test/mocks/themes/typographic/images/world_link.png +0 -0
- data/test/mocks/themes/typographic/images/world_link50.png +0 -0
- data/test/mocks/themes/typographic/layouts/default.html.erb +0 -42
- data/test/mocks/themes/typographic/preview.png +0 -0
- data/test/mocks/themes/typographic/stylesheets/colors.css +0 -51
- data/test/mocks/themes/typographic/stylesheets/layout.css +0 -346
- data/test/mocks/themes/typographic/stylesheets/reset.css +0 -5
- data/test/mocks/themes/typographic/stylesheets/style.css +0 -36
- data/test/mocks/themes/typographic/views/articles/_article.html.erb +0 -41
- data/test/mocks/themes/typographic/views/articles/_comment.html.erb +0 -14
- data/test/mocks/themes/typographic/views/articles/_comment_form.html.erb +0 -48
- data/test/mocks/themes/typographic/views/articles/_comment_list.html.erb +0 -7
- data/test/mocks/themes/typographic/views/articles/_trackback.html.erb +0 -9
- data/test/mocks/themes/typographic/views/articles/comment_preview.html.erb +0 -10
- data/test/mocks/themes/typographic/views/articles/index.html.erb +0 -5
- data/test/mocks/themes/typographic/views/articles/read.html.erb +0 -42
- data/test/mocks/themes/typographic/views/shared/_search.html.erb +0 -17
- data/test/mocks/themes/typographic/views/theme/static_view_test.html.erb +0 -1
- data/test/test_helper.rb +0 -13
- data/themes/true-blue-3/images/frederic-de-villamil.jpg +0 -0
- data/themes/true-blue-3/images/textarea_bg.jpg +0 -0
data/app/models/page_cache.rb
CHANGED
|
@@ -13,20 +13,17 @@ class PageCache
|
|
|
13
13
|
|
|
14
14
|
# Delete all file save in path_cache by page_cache system
|
|
15
15
|
def self.sweep_all
|
|
16
|
-
|
|
17
|
-
CacheInformation.all.each{|c| c.destroy}
|
|
18
|
-
else
|
|
19
|
-
logger.debug "PageCache - OOOOPS table is missing"
|
|
20
|
-
end
|
|
21
|
-
self.sweep_theme_cache
|
|
16
|
+
self.zap_pages(%w{*})
|
|
22
17
|
end
|
|
23
18
|
|
|
24
|
-
|
|
25
19
|
def self.sweep_theme_cache
|
|
26
20
|
self.zap_pages(%w{images/theme/* stylesheets/theme/* javascripts/theme/*})
|
|
27
21
|
end
|
|
28
22
|
|
|
29
23
|
def self.zap_pages(paths)
|
|
24
|
+
# Ensure no one is going to wipe his own blog public directory
|
|
25
|
+
# It happened once on a release and was no fun at all
|
|
26
|
+
return if public_path == "#{RAILS_ROOT}/public"
|
|
30
27
|
srcs = paths.inject([]) { |o,v|
|
|
31
28
|
o + Dir.glob(public_path + "/#{v}")
|
|
32
29
|
}
|
|
@@ -36,6 +33,7 @@ class PageCache
|
|
|
36
33
|
FileUtils.mv(srcs, trash, :force => true)
|
|
37
34
|
FileUtils.rm_rf(trash)
|
|
38
35
|
end
|
|
36
|
+
|
|
39
37
|
|
|
40
38
|
# DEPRECATED
|
|
41
39
|
#
|
|
@@ -60,4 +58,5 @@ class PageCache
|
|
|
60
58
|
self.zap_pages([*1990..2020].collect { |y| "#{y}.*" })
|
|
61
59
|
end
|
|
62
60
|
end
|
|
61
|
+
|
|
63
62
|
end
|
data/app/models/user.rb
CHANGED
|
@@ -182,6 +182,7 @@ class User < ActiveRecord::Base
|
|
|
182
182
|
end
|
|
183
183
|
|
|
184
184
|
validates_uniqueness_of :login, :on => :create
|
|
185
|
+
validates_uniqueness_of :email, :on => :create
|
|
185
186
|
validates_length_of :password, :within => 5..40, :if => Proc.new { |user|
|
|
186
187
|
user.read_attribute('password').nil? or user.password.to_s.length > 0
|
|
187
188
|
}
|
|
@@ -7,14 +7,16 @@
|
|
|
7
7
|
|
|
8
8
|
<div id='editor-right'>
|
|
9
9
|
<div class='ui-accordion ui-widget ui-helper-reset ui-accordion-icons settings'>
|
|
10
|
-
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Publish settings")%></h3>
|
|
10
|
+
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Publish settings") %></h3>
|
|
11
11
|
<div class='ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active'>
|
|
12
12
|
<%= check_box 'article', 'allow_comments' %>
|
|
13
13
|
<label for="article_allow_comments"><%= _("Allow comments") %></label><br />
|
|
14
14
|
<%= check_box 'article', 'allow_pings' %>
|
|
15
|
-
<label for="article_allow_pings"><%= _("Allow trackbacks")%></label><br />
|
|
15
|
+
<label for="article_allow_pings"><%= _("Allow trackbacks") %></label><br />
|
|
16
16
|
<%= check_box 'article', 'published' %>
|
|
17
|
-
<label for="article_published"><%= _("Published")%></label><br />
|
|
17
|
+
<label for="article_published"><%= _("Published") %></label><br />
|
|
18
|
+
<label for="article_password"><%= _("Password:") %></label><br />
|
|
19
|
+
<%= password_field(:article, :password) %>
|
|
18
20
|
<p class='right'>
|
|
19
21
|
<input id='save_draft' type="submit" value="<%= _('Save as draft') %>" name="article[draft]" class='ui-state-default ui-corner-all' />
|
|
20
22
|
<%= save( _("Publish") + " »") %><br />
|
|
@@ -26,7 +28,7 @@
|
|
|
26
28
|
</div>
|
|
27
29
|
|
|
28
30
|
<div class='ui-accordion ui-widget ui-helper-reset ui-accordion-icons settings'>
|
|
29
|
-
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Categories")%></h3>
|
|
31
|
+
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Categories") %></h3>
|
|
30
32
|
<div class='ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active'>
|
|
31
33
|
<%- Category.all.each do |cat| %>
|
|
32
34
|
<%= check_box_tag('categories[]', cat.id, (@article.categories.map(&:id).include? cat.id), :id => "category_#{h(cat.id)}") %>
|
|
@@ -38,7 +40,7 @@
|
|
|
38
40
|
|
|
39
41
|
<div id='editor-left'>
|
|
40
42
|
<div class='settings'>
|
|
41
|
-
<h2><label for="article_title"><%= _("Title")%></label></h2>
|
|
43
|
+
<h2><label for="article_title"><%= _("Title") %></label></h2>
|
|
42
44
|
<p class='input_text'>
|
|
43
45
|
<%= text_field 'article', 'title', :class => 'large' %>
|
|
44
46
|
</p>
|
|
@@ -77,15 +79,15 @@
|
|
|
77
79
|
</div>
|
|
78
80
|
|
|
79
81
|
<div class='ui-accordion ui-widget ui-helper-reset ui-accordion-icons settings'>
|
|
80
|
-
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Excerpt")%></h3>
|
|
82
|
+
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Excerpt") %></h3>
|
|
81
83
|
<div class='ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active'>
|
|
82
|
-
<p><%=_("Excerpts are posts summaries that are shown on your blog homepage only but won’t appear on the post itself")%></p>
|
|
84
|
+
<p><%=_("Excerpts are posts summaries that are shown on your blog homepage only but won’t appear on the post itself") %></p>
|
|
83
85
|
<%= text_area 'article', 'excerpt', {:height => '150', :class => 'large', :rows => '5'} %>
|
|
84
86
|
</div>
|
|
85
87
|
</div>
|
|
86
88
|
|
|
87
89
|
<div class='ui-accordion ui-widget ui-helper-reset ui-accordion-icons settings'>
|
|
88
|
-
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Uploads")%></h3>
|
|
90
|
+
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Uploads") %></h3>
|
|
89
91
|
<div class='ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active'>
|
|
90
92
|
<p>Uploads will be displayed as attachments in your RSS feed, but won't appear in your articles.</p>
|
|
91
93
|
|
|
@@ -96,10 +98,10 @@
|
|
|
96
98
|
</div>
|
|
97
99
|
|
|
98
100
|
<div class='ui-accordion ui-widget ui-helper-reset ui-accordion-icons settings'>
|
|
99
|
-
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Post settings")%></h3>
|
|
101
|
+
<h3 class='ui-accordion-header ui-helper-reset ui-state-active ui-corner-top'><span class='ui-icon ui-icon-pencil'> </span><%= _("Post settings") %></h3>
|
|
100
102
|
<div class='ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active'>
|
|
101
103
|
<div class='setting'>
|
|
102
|
-
<label class='float'><%= _("Publish at")%></label>
|
|
104
|
+
<label class='float'><%= _("Publish at") %></label>
|
|
103
105
|
<div class='input_text'>
|
|
104
106
|
<%= calendar_date_select 'article', 'published_at' %>
|
|
105
107
|
</div>
|
|
@@ -111,7 +113,7 @@
|
|
|
111
113
|
</div>
|
|
112
114
|
</div>
|
|
113
115
|
<div class='setting clear'>
|
|
114
|
-
<label class='float' for="text_filter"><%= _("Article filter")%></label>
|
|
116
|
+
<label class='float' for="text_filter"><%= _("Article filter") %></label>
|
|
115
117
|
<div class='input_text'>
|
|
116
118
|
<select name="article[text_filter]" id="text_filter">
|
|
117
119
|
<%= options_for_select text_filter_options, @article.text_filter %>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
<a href="javascript:" class="carousel-control" rel="prev">Previous</a>
|
|
3
3
|
-->
|
|
4
|
-
<div id="carousel-wrapper"
|
|
4
|
+
<div id="carousel-wrapper" <%= 'style="display: none;"' if current_user.editor == 'visual' %>>
|
|
5
5
|
<div id="carousel-content">
|
|
6
6
|
<% @images.each do |image| %>
|
|
7
7
|
<div class="slide">
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
$('text_filter').value = 'none';
|
|
8
8
|
html = $('article_body_and_extended').value;
|
|
9
9
|
$('simple_editor').innerHTML = '';
|
|
10
|
+
$('carousel-wrapper').style.display = 'none';
|
|
10
11
|
|
|
11
12
|
if (CKEDITOR.instances.article__body_and_extended_editor &&
|
|
12
13
|
typeof(CKEDITOR.instances.article__body_and_extended_editor) == 'object') {
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
<div class='ui-state-highlight ui-corner-all' style='padding: 0pt 0.7em;'>
|
|
3
3
|
<p>
|
|
4
4
|
<span class='ui-icon ui-icon-info' style='float: left; margin-right: 0.3em;'></span>
|
|
5
|
-
<%= _("This place gives you a quick overview of what happens on your Typo blog and what you can do. Maybe will you want to %s, %s or %s." ,
|
|
6
|
-
link_to(_('write a post'), :controller => 'content', :action => 'new'),
|
|
7
|
-
link_to(_('write a page'), :controller => '
|
|
5
|
+
<%= _("This place gives you a quick overview of what happens on your Typo blog and what you can do. Maybe will you want to %s, %s or %s." ,
|
|
6
|
+
link_to(_('write a post'), :controller => 'content', :action => 'new'),
|
|
7
|
+
link_to(_('write a page'), :controller => 'pages', :action => 'new') ,
|
|
8
8
|
link_to(_("update your profile or change your password"), :controller => 'users', :action => 'edit', :id => session[:user_id]) ) -%>.</p>
|
|
9
9
|
<p> <%= _("You can also do a bit of design, %s or %s." ,
|
|
10
|
-
link_to(_("change your blog presentation"), :controller => 'themes') ,
|
|
10
|
+
link_to(_("change your blog presentation"), :controller => 'themes') ,
|
|
11
11
|
link_to(_("enable plugins"), :controller => 'sidebar') ) -%></p>
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
<p>
|
|
14
|
-
If you need help, <a href="http://typosphere.org">read our documentation</a>. You can also browse our
|
|
15
|
-
<a href="http://typogarden.org">theme catalogue</a>
|
|
14
|
+
If you need help, <a href="http://typosphere.org">read our documentation</a>. You can also browse our
|
|
15
|
+
<a href="http://typogarden.org">theme catalogue</a>
|
|
16
16
|
or <a href='http://plugins.typosphere.org'>download some plugins</a> to customize your Typo blog.
|
|
17
17
|
</p>
|
|
18
18
|
</div>
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
<p class='input_text'>
|
|
19
19
|
<%= text_field 'page', 'title', :class => 'large' %>
|
|
20
20
|
</p>
|
|
21
|
+
<%= render(:partial => 'images', :object => @images) unless @images.empty? %>
|
|
21
22
|
<div id="editor-menu">
|
|
22
23
|
<span id="f" class="<%= 'active' if current_user.editor == 'visual' %>">
|
|
23
24
|
<%= build_editor_link("Visual", 'insert_editor', 'fck', 'simple_editor', 'visual') %>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
<a href="javascript:" class="carousel-control" rel="prev">Previous</a>
|
|
3
|
+
-->
|
|
4
|
+
<div id="carousel-wrapper" <%= 'style="display: none;"' if current_user.editor == 'visual' %>>
|
|
5
|
+
<div id="carousel-content">
|
|
6
|
+
<% @images.each do |image| %>
|
|
7
|
+
<div class="slide">
|
|
8
|
+
<%= show_thumbnail_for_editor(image) %>
|
|
9
|
+
</div>
|
|
10
|
+
<% end %>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<!--
|
|
14
|
+
<a href="javascript:" class="carousel-control" rel="next">Next</a>
|
|
15
|
+
-->
|
|
16
|
+
<script type='text/javascript'>
|
|
17
|
+
new Carousel('carousel-wrapper', $$('#carousel-content .slide'), $$('a.carousel-control', 'a.carousel-jumper'), {duration: 0.4, circular: false});
|
|
18
|
+
</script>
|
|
@@ -6,11 +6,10 @@
|
|
|
6
6
|
$('text_filter').value = $('user_textfilter').value;
|
|
7
7
|
content = CKEDITOR.instances.page__body_editor.getData();
|
|
8
8
|
</script>
|
|
9
|
-
|
|
10
9
|
<%= text_area('page', 'body', {:class => 'large', :height => '300px', :rows => '20'}) %>
|
|
11
|
-
|
|
12
10
|
<script type="text/javascript">
|
|
13
11
|
$('visual_editor').innerHTML = "";
|
|
14
12
|
$('visual_editor').style.display = 'none';
|
|
15
13
|
$('page_body').innerHTML = content;
|
|
14
|
+
$('carousel-wrapper').style.display = 'block';
|
|
16
15
|
</script>
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
$('f').className = 'active';
|
|
7
7
|
$('text_filter').value = 'none';
|
|
8
8
|
html = $('page_body').value;
|
|
9
|
-
$('simple_editor').
|
|
9
|
+
$('simple_editor').innerHTML = '';
|
|
10
|
+
$('carousel-wrapper').style.display = 'none';
|
|
10
11
|
|
|
11
12
|
if (CKEDITOR.instances.page__body_editor &&
|
|
12
13
|
typeof(CKEDITOR.instances.page__body_editor) == 'object') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<% @page_heading = _('Manage pages') %>
|
|
2
|
-
<% @link_to_new = link_to(_("New Page"), {:controller => '
|
|
2
|
+
<% @link_to_new = link_to(_("New Page"), {:controller => 'pages', :action => 'new'}, :id => 'dialog-link', :class => 'ui-state-default ui-corner-all') %>
|
|
3
3
|
<% subtabs_for(:content) %>
|
|
4
4
|
|
|
5
5
|
<table cellspacing="1" cellpadding="0">
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
<div class='setting clear'>
|
|
36
36
|
<label class="float" for="setting_use_gravatar"><%= _("Enable gravatars")%></label>
|
|
37
37
|
<div class='input_text'>
|
|
38
|
-
<%= check_box(:setting, :use_gravatar)
|
|
38
|
+
<%= check_box(:setting, :use_gravatar)%>
|
|
39
39
|
</div>
|
|
40
40
|
</div>
|
|
41
41
|
<div class='setting clear'>
|
|
@@ -82,6 +82,7 @@
|
|
|
82
82
|
<label class="float" for="setting_global_pings_disable"><%= _("Disable trackbacks site-wide")%></label>
|
|
83
83
|
<div class='input_text'>
|
|
84
84
|
<%= check_box(:setting, :global_pings_disable)%>
|
|
85
|
+
<span><%= _("This setting allows you to disable trackbacks for every article in your blog. It won't remove existing trackbacks, but it will prevent any further attempt to add a trackback anywhere on your blog.")%></span>
|
|
85
86
|
</div>
|
|
86
87
|
</div>
|
|
87
88
|
<div class='setting clear'>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<% @page_heading = _("Editing ") + " #{h @tag.display_name}" %>
|
|
2
2
|
|
|
3
3
|
<% content_for('tasks') do %>
|
|
4
|
-
<%= subtab _("Back to tags list") + " »",
|
|
4
|
+
<%= subtab _("Back to tags list") + " »", {:controller=>"tags", :action=>"list"} %>
|
|
5
5
|
<% end %>
|
|
6
6
|
|
|
7
7
|
<% form_tag :action=>"edit", :id => @tag.id do %>
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
<h2><%= link_to_permalink article,article.title %></h2>
|
|
2
2
|
<p class="auth"><%= _("Posted by")%> <%= author_link(article) %>
|
|
3
3
|
<%= js_distance_of_time_in_words_to_now article.published_at %></p>
|
|
4
|
-
<%
|
|
5
|
-
<%
|
|
6
|
-
|
|
4
|
+
<% if article.password.nil? or article.password.empty? %>
|
|
5
|
+
<% unless controller.action_name == 'redirect' %>
|
|
6
|
+
<% if article.excerpt? %>
|
|
7
|
+
<%= article.excerpt %>
|
|
8
|
+
<% else %>
|
|
9
|
+
<%= article.html(:body) %>
|
|
10
|
+
<% if article.extended? %>
|
|
11
|
+
<div class="extended">
|
|
12
|
+
<p><%= link_to_permalink article, _("Continue reading") + "..." %></p>
|
|
13
|
+
</div>
|
|
14
|
+
<% end %>
|
|
15
|
+
<% end %>
|
|
7
16
|
<% else %>
|
|
8
17
|
<%= article.html(:body) %>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
</div>
|
|
13
|
-
<% end %>
|
|
18
|
+
<div class="extended">
|
|
19
|
+
<%= article.html(:extended) %>
|
|
20
|
+
</div>
|
|
14
21
|
<% end %>
|
|
15
22
|
<% else %>
|
|
16
|
-
<%=
|
|
17
|
-
|
|
18
|
-
<%= article.html(:extended) %>
|
|
19
|
-
</div>
|
|
20
|
-
<% end %>
|
|
23
|
+
<%= render :partial => 'articles/password_form', :locals => { :article => article } %>
|
|
24
|
+
<% end %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= @article.html(:all) %>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<table cellpadding="4" cellspacing="0" class="frm-tbl">
|
|
17
17
|
<tr>
|
|
18
18
|
<td><p><label for="comment_author"><%= _("Your name")%></label></p></td>
|
|
19
|
-
<td> <%= text_field "comment", "author", :size => 20 %> <small><%= link_to_function(_(
|
|
19
|
+
<td> <%= text_field "comment", "author", :size => 20 %> <small><%= link_to_function("(#{_('leave url/email')} »)", "Element.toggle('guest_url'); Element.toggle('guest_email')") %></small></td>
|
|
20
20
|
</tr>
|
|
21
21
|
<tr id="guest_url" style="display:none;">
|
|
22
22
|
<td><p><label for="comment_url"><%= _("Your blog")%></label></p></td>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<div id='content-<%= article.id %>'>
|
|
2
|
+
<p>This post is password protected. Please fill in your password or login to view the content</p>
|
|
3
|
+
<% remote_form_for :articles, article, :url => { :action => 'check_password'}, :update => "content-#{article.id}" do |f| %>
|
|
4
|
+
<%= password_field(:article, :password) %>
|
|
5
|
+
<input type='hidden' name='article[id]' value='<%= article.id %>' />
|
|
6
|
+
<%= submit_to_remote('check_password', _('Submit') + '!',
|
|
7
|
+
:update => "content-#{article.id}",
|
|
8
|
+
:url => {:action => 'check_password'}) %>
|
|
9
|
+
<% end %>
|
|
10
|
+
</div>
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
<% for article in @articles -%>
|
|
2
2
|
<div class="post">
|
|
3
3
|
<%= render :partial => "articles/article", :object => article %>
|
|
4
|
-
<%= link_to_permalink article, _("Read more") + "..." if article.extended? %>
|
|
5
4
|
<p class="meta"><%= article_links article %></p>
|
|
6
5
|
</div>
|
|
7
6
|
<% end -%>
|
|
8
7
|
|
|
9
|
-
<%= will_paginate @articles %>
|
|
8
|
+
<%= will_paginate @articles, :next_label => "#{_("Next page")} »", :previous_label => "« #{_('Previous page')}" %>
|
|
@@ -18,10 +18,7 @@
|
|
|
18
18
|
<div class="post"<%= onhover_show_admin_tools(:article) %>>
|
|
19
19
|
<%= link_to("edit", { :controller => "admin/content", :action => "edit", :id => @article.id },
|
|
20
20
|
:class => "admintools", :style => "display: none", :id => "admin_article") %>
|
|
21
|
-
|
|
22
|
-
<p class="auth"><%= _("Posted by")%> <%= author_link(@article) %>
|
|
23
|
-
<%= js_distance_of_time_in_words_to_now @article.published_at.utc %></p>
|
|
24
|
-
<%= html(@article) %>
|
|
21
|
+
<%= render :partial => 'articles/article', :locals => { :article => @article } %>
|
|
25
22
|
</div>
|
|
26
23
|
<p class="meta">
|
|
27
24
|
<%= article_links @article %>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<meta http-equiv="imagetoolbar" content="no" />
|
|
8
8
|
<%= stylesheet_link_tag "growler", "administration", "lightbox" %>
|
|
9
9
|
<%= stylesheet_link_tag "administration_rtl" if ( _("Localization.rtl") == "1") %>
|
|
10
|
-
<%= javascript_include_tag "prototype", "effects", "builder", "dragdrop", "controls", "typo", "lightbox", "quicktags", "growler", "typo_carousel", "administration",
|
|
10
|
+
<%= javascript_include_tag "prototype", "effects", "builder", "dragdrop", "controls", "typo", "lightbox", "quicktags", "growler", "typo_carousel", "administration", "ckeditor/ckeditor" %>
|
|
11
11
|
<%= calendar_date_select_includes %>
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<% form_tag({:controller => 'articles', :action => 'search'}, {:method => 'get', :id => 'sform'}) do %>
|
|
2
|
-
|
|
2
|
+
<label for="q"><%= _('Live Search') %></label><input type="text" id="q" name="q" value="" size="15" />
|
|
3
3
|
<%= image_tag "spinner-blue.gif", :id => 'search_spinner', :style => 'display:none;' %>
|
|
4
4
|
<% end %>
|
|
5
5
|
<%= observe_field "q", :frequency => 1,
|
data/config/ckeditor.yml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
default: &default
|
|
2
|
+
public_path: "#{path_to_your_public_directory}/files"
|
|
3
|
+
public_uri: /files
|
|
4
|
+
file_manager_uri: /fm/filemanager
|
|
5
|
+
file_manager_upload_uri: /ckeditor/upload
|
|
6
|
+
|
|
7
|
+
development:
|
|
8
|
+
<<: *default
|
|
9
|
+
|
|
10
|
+
test:
|
|
11
|
+
<<: *default
|
|
12
|
+
|
|
13
|
+
production:
|
|
14
|
+
<<: *default
|
data/config/environment.rb
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# (Use only when you can't set environment variables through your web/app server)
|
|
5
5
|
# ENV['RAILS_ENV'] = 'production'
|
|
6
6
|
|
|
7
|
-
RAILS_GEM_VERSION = '2.3.
|
|
7
|
+
RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION
|
|
8
8
|
|
|
9
9
|
# Bootstrap the Rails environment, frameworks, and default configuration
|
|
10
10
|
require File.join(File.dirname(__FILE__), 'boot')
|
|
@@ -13,8 +13,10 @@ Rails::Initializer.run do |config|
|
|
|
13
13
|
# Skip frameworks you're not going to use
|
|
14
14
|
config.frameworks -= [ :active_resource ]
|
|
15
15
|
|
|
16
|
-
#
|
|
17
|
-
|
|
16
|
+
# Setup the cache path
|
|
17
|
+
config.action_controller.page_cache_directory = "#{RAILS_ROOT}/public/cache/"
|
|
18
|
+
config.cache_store=:file_store, "#{RAILS_ROOT}/public/cache/"
|
|
19
|
+
|
|
18
20
|
|
|
19
21
|
# I need the localization plugin to load first
|
|
20
22
|
# Otherwise, I can't localize plugins <= localization
|
|
@@ -42,16 +44,13 @@ Rails::Initializer.run do |config|
|
|
|
42
44
|
config.gem 'calendar_date_select'
|
|
43
45
|
config.gem 'bluecloth', :version => '~> 2.0.5'
|
|
44
46
|
config.gem 'coderay', :version => '~> 0.8'
|
|
45
|
-
config.gem '
|
|
46
|
-
:source => 'http://gems.github.com'
|
|
47
|
+
config.gem 'will_paginate', :version => '~> 2.3.11'
|
|
47
48
|
config.gem 'RedCloth', :version => '~> 4.2.2'
|
|
48
|
-
config.gem '
|
|
49
|
+
config.gem 'fdv-actionwebservice', :version => '2.3.8', :lib => 'actionwebservice'
|
|
49
50
|
config.gem 'addressable', :version => '~> 2.1.0', :lib => 'addressable/uri'
|
|
50
51
|
config.gem 'mini_magick', :version => '~> 1.2.5', :lib => 'mini_magick'
|
|
51
52
|
|
|
52
|
-
# Use the
|
|
53
|
-
# (create the session table with 'rake create_sessions_table')
|
|
54
|
-
# config.action_controller.session_store = :active_record_store
|
|
53
|
+
# Use the filesystem for sessions instead of the database
|
|
55
54
|
config.action_controller.session = { :key => "_typo_session", :secret => "8d7879bd56b9470b659cdcae88792622" }
|
|
56
55
|
|
|
57
56
|
# Disable use of the Accept header, since it causes bad results with our
|
|
@@ -69,37 +68,26 @@ require 'uuidtools'
|
|
|
69
68
|
|
|
70
69
|
require 'migrator'
|
|
71
70
|
require 'rails_patch/active_record'
|
|
71
|
+
require 'rails_patch/active_support'
|
|
72
72
|
require 'login_system'
|
|
73
73
|
require 'typo_version'
|
|
74
74
|
$KCODE = 'u'
|
|
75
75
|
require 'jcode'
|
|
76
76
|
require 'transforms'
|
|
77
77
|
|
|
78
|
+
$FM_OVERWRITE = true
|
|
79
|
+
require 'filemanager'
|
|
80
|
+
|
|
78
81
|
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
|
|
79
82
|
:long_weekday => '%a %B %e, %Y %H:%M'
|
|
80
83
|
)
|
|
81
84
|
|
|
82
85
|
ActionMailer::Base.default_charset = 'utf-8'
|
|
83
86
|
|
|
84
|
-
# I wanted to put this as a "setup" page, but it seems I can't catch the
|
|
85
|
-
# exception fast enough and get a 500 error
|
|
86
|
-
#if RAILS_ENV != 'test'
|
|
87
|
-
# begin
|
|
88
|
-
# ActiveRecord::Base.connection.select_all("select * from sessions")
|
|
89
|
-
# rescue
|
|
90
|
-
# begin
|
|
91
|
-
# ActiveRecord::Base.connection.current_database
|
|
92
|
-
# Migrator.migrate
|
|
93
|
-
# rescue
|
|
94
|
-
# # if there are no database, migrator doesn't no start
|
|
95
|
-
# use case : rake db:create in rails tasks
|
|
96
|
-
# end
|
|
97
|
-
# end
|
|
98
|
-
#end
|
|
99
|
-
|
|
100
87
|
# Work around interpolation deprecation problem: %d is replaced by
|
|
101
88
|
# {{count}}, even when we don't want them to.
|
|
102
89
|
# FIXME: We should probably fully convert to standard Rails I18n.
|
|
90
|
+
require 'i18n_interpolation_deprecation'
|
|
103
91
|
class I18n::Backend::Simple
|
|
104
92
|
def interpolate(locale, string, values = {})
|
|
105
93
|
interpolate_without_deprecated_syntax(locale, string, values)
|