typo 5.0.1 → 5.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/accounts_controller.rb +1 -1
- data/app/controllers/admin/cache_controller.rb +2 -2
- data/app/controllers/admin/general_controller.rb +2 -22
- data/app/controllers/admin/settings_controller.rb +58 -0
- data/app/controllers/admin/sidebar_controller.rb +3 -1
- data/app/controllers/articles_controller.rb +2 -1
- data/app/controllers/content_controller.rb +0 -4
- data/app/helpers/admin/base_helper.rb +9 -3
- data/app/helpers/admin/general_helper.rb +0 -16
- data/app/helpers/admin/settings_helper.rb +18 -0
- data/app/models/blog.rb +2 -2
- data/app/models/blog_sweeper.rb +10 -2
- data/app/models/page_cache.rb +8 -2
- data/app/views/admin/advanced/index.html.erb +0 -162
- data/app/views/admin/general/update_database.html.erb +1 -1
- data/app/views/admin/settings/_submit.html.erb +3 -0
- data/app/views/admin/settings/feedback.html.erb +77 -0
- data/app/views/admin/settings/index.html.erb +81 -0
- data/app/views/admin/settings/podcast.html.erb +53 -0
- data/app/views/admin/settings/read.html.erb +38 -0
- data/app/views/admin/settings/spam.html.erb +51 -0
- data/app/views/admin/settings/write.html.erb +71 -0
- data/app/views/admin/sidebar/index.html.erb +1 -3
- data/app/views/admin/textfilters/list.html.erb +0 -2
- data/app/views/admin/themes/editor.html.erb +0 -2
- data/app/views/admin/themes/index.html.erb +0 -2
- data/app/views/layouts/administration.html.erb +3 -2
- data/config/environments/development.rb +1 -1
- data/db/schema_version +1 -1
- data/lib/tasks/release.rake +3 -2
- data/lib/typo_version.rb +1 -1
- data/spec/controllers/accounts_controller_spec.rb +2 -2
- data/spec/models/configuration_spec.rb +3 -3
- data/test/fixtures/blogs.yml +1 -1
- data/test/functional/admin/{general_controller_test.rb → settings_controller_test.rb} +6 -6
- data/test/functional/articles_controller_test.rb +7 -0
- metadata +23 -7
- data/app/controllers/admin/advanced_controller.rb +0 -20
- data/app/views/admin/general/index.html.erb +0 -141
- data/test/functional/admin/advanced_controller_test.rb +0 -21
@@ -0,0 +1,81 @@
|
|
1
|
+
<% @page_heading = _('General settings') %>
|
2
|
+
|
3
|
+
<% content_for('tasks') do -%>
|
4
|
+
<%= subtab _("General settings"), "current", {:controller => "settings"} %>
|
5
|
+
<%= subtab _("Read"), "", { :controller => 'settings', :action => 'read' } %>
|
6
|
+
<%= subtab _("Write"), "", { :controller => 'settings', :action => 'write' } %>
|
7
|
+
<%= subtab _("Feedback"), "", { :controller => 'settings', :action => 'feedback' } %>
|
8
|
+
<%= subtab _("Spam"), "", { :controller => 'settings', :action => 'spam' } %>
|
9
|
+
<%= subtab _("Podcasts"), "", { :controller => 'settings', :action => 'podcast' } %>
|
10
|
+
<%= subtab _("Empty Fragment Cache"), "", {:controller => '/admin/cache', :action => 'sweep'} if this_blog.cache_option == 'caches_action_with_params' %>
|
11
|
+
<%= subtab _("Rebuild cached HTML"), "", {:controller => '/admin/cache', :action => 'sweep_html'} if this_blog.cache_option == 'caches_page' %>
|
12
|
+
<% end -%>
|
13
|
+
|
14
|
+
<% form_tag :action => 'index' do %>
|
15
|
+
|
16
|
+
<div class="admin">
|
17
|
+
<fieldset id="gensettings" class="set" style="margin-top:10px;">
|
18
|
+
<legend><%= _("General options")%></legend>
|
19
|
+
<ul>
|
20
|
+
<li>
|
21
|
+
<label for="blog_name" class="float"><%= _("Blog name")%>:</label>
|
22
|
+
<input name="setting[blog_name]" id="blog_name" type="text" value="<%=h this_blog.blog_name %>" size="<%= this_blog.blog_name.length %>" />
|
23
|
+
</li>
|
24
|
+
<li>
|
25
|
+
<label class="float" for="blog_subtitle"><%= _("Blog subtitle")%>:</label>
|
26
|
+
<input name="setting[blog_subtitle]" id="blog_subtitle" type="text" value="<%=h this_blog.blog_subtitle %>" size="<%= this_blog.blog_subtitle.length%>" />
|
27
|
+
</li>
|
28
|
+
<li>
|
29
|
+
<label class="float" for="base_url"><%= _("Blog URL")%>:</label>
|
30
|
+
<input name="setting[base_url]" id="base_url" type="text" value="<%=h this_blog.base_url %>" size="<%= this_blog.base_url.length %> " />
|
31
|
+
</li>
|
32
|
+
<li>
|
33
|
+
<label class="float" for="lang"><%= _("Language")%>:</label>
|
34
|
+
<select name="setting[lang]">
|
35
|
+
<%= fetch_langs %>
|
36
|
+
</select>
|
37
|
+
</li>
|
38
|
+
<li><%= _("This option let you choose between the simple admin interface or the complete one, displaying much more options and therefore more complicated to use. For advanced users only!") %></li>
|
39
|
+
<li>
|
40
|
+
<label class="float" for="display_advanced">Choose interface:</label>
|
41
|
+
<input type="radio" name="setting[display_advanced]" value="0" id="display_advanced_0" <%= 'checked="checked"' if this_blog.display_advanced == 0 %>/>
|
42
|
+
<label for="display_advanced_0"><%= _("Use simple interface (default)")%></label>
|
43
|
+
<span class="float">
|
44
|
+
<input type="radio" name="setting[display_advanced]" value="1" id="display_advanced_1" <%= 'checked="checked"' if this_blog.display_advanced == 1 %>/>
|
45
|
+
<label for="display_advanced_1"><%= _("Use complete admin")%></label>
|
46
|
+
</span>
|
47
|
+
</li>
|
48
|
+
<li><%= _("By default, Typo generates static HTML pages for your posts. However, if you plan to publish posts in the futur, you may want to use semi dynamic caching") %>.</li>
|
49
|
+
<li>
|
50
|
+
<label class="float" for="caches_page">Choose caching methode:</label>
|
51
|
+
<input type="radio" name="setting[cache_option]" value="caches_page" id="cache_option_0" <%= 'checked="checked"' if this_blog.cache_option == 'caches_page' %>/>
|
52
|
+
<label for="cache_option_0"><%= _("Use static HTML page caching ")%></label>
|
53
|
+
<span class="float">
|
54
|
+
<input type="radio" name="setting[cache_option]" value="caches_action_with_params" id="cache_option_1" <%= 'checked="checked"' if this_blog.cache_option == 'caches_action_with_params' %>/>
|
55
|
+
<label for="cache_option_1"><%= _("Use semi static caching (default)")%></label>
|
56
|
+
</span>
|
57
|
+
</li>
|
58
|
+
</ul>
|
59
|
+
</fieldset>
|
60
|
+
|
61
|
+
<fieldset id="seo" class="set" style="margin-top:10px;">
|
62
|
+
<legend><%= _("Search Engine Optimisation")%></legend>
|
63
|
+
<ul>
|
64
|
+
<li>
|
65
|
+
<label class="float"><%= _("Show blog name")%>:</label>
|
66
|
+
<input type="radio" name="setting[title_prefix]" value="1" id="blog_title_prefix_1" <%= 'checked="checked"' if this_blog.title_prefix == 1 %>/>
|
67
|
+
<label for="blog_title_prefix_1"><%= _("At the beginning of page title")%></label>
|
68
|
+
<span class="float">
|
69
|
+
<input type="radio" name="setting[title_prefix]" value="2" id="blog_title_prefix_2" <%= 'checked="checked"' if this_blog.title_prefix == 2 %>/>
|
70
|
+
<label for="blog_title_prefix_2"><%= _("At the end of page title")%></label>
|
71
|
+
</span>
|
72
|
+
<span class="float">
|
73
|
+
<input type="radio" name="setting[title_prefix]" value="0" id="blog_title_prefix_0" <%= 'checked="checked"' if this_blog.title_prefix == 0 %>/>
|
74
|
+
<label for="blog_title_prefix_0"><%= _("Don't show blog name in page title")%></label>
|
75
|
+
</span>
|
76
|
+
</li>
|
77
|
+
</ul>
|
78
|
+
</fieldset>
|
79
|
+
<%= render :partial => 'submit' %>
|
80
|
+
</div>
|
81
|
+
<% end %>
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<% @page_heading = _('Podcast') %>
|
2
|
+
|
3
|
+
<% content_for('tasks') do -%>
|
4
|
+
<%= subtab _("General settings"), "", {:controller => "settings"} %>
|
5
|
+
<%= subtab _("Read"), "", { :controller => 'settings', :action => 'read' } %>
|
6
|
+
<%= subtab _("Write"), "", { :controller => 'settings', :action => 'write' } %>
|
7
|
+
<%= subtab _("Feedback"), "", { :controller => 'settings', :action => 'feedback' } %>
|
8
|
+
<%= subtab _("Spam"), "", { :controller => 'settings', :action => 'spam' } %>
|
9
|
+
<%= subtab _("Podcasts"), "current", { :controller => 'settings', :action => 'podcast' } %>
|
10
|
+
<% end -%>
|
11
|
+
|
12
|
+
<% form_tag :action => 'podcast' do %>
|
13
|
+
|
14
|
+
<div class="admin">
|
15
|
+
<fieldset id="resources" class="set">
|
16
|
+
<ul>
|
17
|
+
<li><%= _("The below settings act as defaults when you choose to publish an enclosure with iTunes metadata")%>.</li>
|
18
|
+
<li>
|
19
|
+
<label for="itunes_author" class="float"><%= _("Author")%>:</label>
|
20
|
+
<input name="setting[itunes_author]" size="25" id="itunes_author" type="text" value="<%= this_blog.itunes_author %>" />
|
21
|
+
</li>
|
22
|
+
<li>
|
23
|
+
<label for="itunes_subtitle" class="float"><%= _("Subtitle")%>: <span class="mandatory">*</span></label>
|
24
|
+
<input name="setting[itunes_subtitle]" size="25" id="itunes_subtitle" type="text" value="<%= this_blog.itunes_subtitle %>" />
|
25
|
+
</li>
|
26
|
+
<li>
|
27
|
+
<label class="float" for="itunes_summary"><%= _("Summary")%>: <span class="mandatory">*</span></label>
|
28
|
+
<textarea name="setting[itunes_summary]" cols="40" rows="3"><%=h this_blog.itunes_summary %></textarea>
|
29
|
+
<span class="float mandatory">* <%= _("Setting for channel")%></span>
|
30
|
+
</li>
|
31
|
+
<li>
|
32
|
+
<label class="float" for="itunes_email"><%= _("Email")%>: <span class="mandatory">**</span></label>
|
33
|
+
<input name="setting[itunes_email]" size="25" id="itunes_email" type="text" value="<%= this_blog.itunes_email %>" />
|
34
|
+
</li>
|
35
|
+
<li>
|
36
|
+
<label class="float" for="itunes_name"><%= _("Optional Name")%>: <span class="mandatory">**</span></label>
|
37
|
+
<input name="setting[itunes_name]" size="25" id="itunes_name" type="text" value="<%= this_blog.itunes_name %>" />
|
38
|
+
<span class="float mandatory">** <%= _("Not published by Apple")%></span>
|
39
|
+
</li>
|
40
|
+
<li>
|
41
|
+
<label class="float" for="itunes_copyright"><%= _("Copyright Information")%>:</label>
|
42
|
+
<input name="setting[itunes_copyright]" size="25" id="itunes_copyright" type="text" value="<%= this_blog.itunes_copyright %>" />
|
43
|
+
</li>
|
44
|
+
<li class="checkbox">
|
45
|
+
<label class="float" for="itunes_explicit"><%= _("Explicit")%>:</label>
|
46
|
+
<input name="setting[itunes_explicit]" id="itunes_explicit" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.itunes_explicit%> />
|
47
|
+
<input name="setting[itunes_explicit]" type="hidden" value="0" />
|
48
|
+
</li>
|
49
|
+
</ul>
|
50
|
+
</fieldset>
|
51
|
+
<%= render :partial => 'submit' %>
|
52
|
+
</div>
|
53
|
+
<% end %>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<% @page_heading = _('Read') %>
|
2
|
+
|
3
|
+
<% content_for('tasks') do -%>
|
4
|
+
<%= subtab _("General settings"), "", {:controller => 'settings'} %>
|
5
|
+
<%= subtab _("Read"), "current", { :controller => 'settings', :action => 'read' } %>
|
6
|
+
<%= subtab _("Write"), "", { :controller => 'settings', :action => 'write' } %>
|
7
|
+
<%= subtab _("Feedback"), "", { :controller => 'settings', :action => 'feedback' } %>
|
8
|
+
<%= subtab _("Spam"), "", { :controller => 'settings', :action => 'spam' } %>
|
9
|
+
<%= subtab _("Podcasts"), "", { :controller => 'settings', :action => 'podcast' } %>
|
10
|
+
<% end -%>
|
11
|
+
|
12
|
+
<% form_tag :action => 'read' do %>
|
13
|
+
|
14
|
+
<div class="admin">
|
15
|
+
<fieldset id="read" class="set">
|
16
|
+
<ul>
|
17
|
+
<li>
|
18
|
+
<label for="limit_article_display" class="float"><%= _("Display")%> </label>
|
19
|
+
<input name="setting[limit_article_display]" size="4" id="limit_article_display" type="text" value="<%= this_blog.limit_article_display %>" />
|
20
|
+
<%= _("articles on my homepage by default")%>
|
21
|
+
</li>
|
22
|
+
<li>
|
23
|
+
<label for="limit_rss_display" class="float"><%= _("Display")%> </label>
|
24
|
+
<input name="setting[limit_rss_display]" size="4" id="limit_rss_display" type="text" value="<%= this_blog.limit_rss_display %>" />
|
25
|
+
<%= _("articles in my news feed by default")%>.
|
26
|
+
</li>
|
27
|
+
<li class="checkbox">
|
28
|
+
<label class="float" for="show_extended_on_rss"><%= _("Show full article on feed")%>:</label>
|
29
|
+
<input name="setting[show_extended_on_rss]" id="show_extended_on_rss" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.show_extended_on_rss%> />
|
30
|
+
<input name="setting[show_extended_on_rss]" type="hidden" value="0" />
|
31
|
+
</li>
|
32
|
+
</ul>
|
33
|
+
</fieldset>
|
34
|
+
|
35
|
+
<%= render :partial => 'submit' %>
|
36
|
+
|
37
|
+
</div>
|
38
|
+
<% end %>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<% @page_heading = _('Spam') %>
|
2
|
+
|
3
|
+
<% content_for('tasks') do -%>
|
4
|
+
<%= subtab _("General settings"), "", {:controller => "settings"} %>
|
5
|
+
<%= subtab _("Read"), "", { :controller => 'settings', :action => 'read' } %>
|
6
|
+
<%= subtab _("Write"), "", { :controller => 'settings', :action => 'write' } %>
|
7
|
+
<%= subtab _("Feedback"), "", { :controller => 'settings', :action => 'feedback' } %>
|
8
|
+
<%= subtab _("Spam"), "current", { :controller => 'settings', :action => 'spam' } %>
|
9
|
+
<%= subtab _("Podcasts"), "", { :controller => 'settings', :action => 'podcast' } %>
|
10
|
+
<% end -%>
|
11
|
+
|
12
|
+
<% form_tag :action => 'spam' do %>
|
13
|
+
|
14
|
+
<div class="admin">
|
15
|
+
<fieldset id="spam" class="set">
|
16
|
+
<ul>
|
17
|
+
<li><%= _("Enabling spam protection will make typo compare the IP address of posters as well as the contents of their posts against local and remote blacklists. Good defense against spam bots")%>.</li>
|
18
|
+
<li class="checkbox">
|
19
|
+
<label for="sp_global" class="float"><%= _("Enable spam protection")%>:</label>
|
20
|
+
<input name="setting[sp_global]" id="sp_global" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.sp_global%> /><input name="setting[sp_global]" type="hidden" value="0" />
|
21
|
+
</li>
|
22
|
+
<li><%= _("Typo can (optionally) use the %s spam-filtering service. You need to register with Akismet and receive an API key before you can use their service. If you have an Akismet key, enter it here", '<a href="http://akismet.com">Akismet</a>')%> .
|
23
|
+
</li>
|
24
|
+
<li>
|
25
|
+
<label class="float" for="sp_akismet_key"><%= _("Akismet Key")%>:</label>
|
26
|
+
<input name="setting[sp_akismet_key]" id="sp_akismet_key" type="text" value="<%=h this_blog.sp_akismet_key %>" />
|
27
|
+
</li>
|
28
|
+
<li>
|
29
|
+
<%= _("You can optionally disable non-Ajax comments. Typo will always use Ajax for comment submission if Javascript is enabled, so non-Ajax comments are either from spammers or users without Javascript.")%>
|
30
|
+
</li>
|
31
|
+
<li class="checkbox">
|
32
|
+
<label for="sp_allow_non_ajax_comments" class="float"><%= _("Allow non-ajax comments") %>:</label>
|
33
|
+
<input name="setting[sp_allow_non_ajax_comments]" id="sp_allow_non_ajax_comments" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.sp_allow_non_ajax_comments%> />
|
34
|
+
<input name="setting[sp_allow_non_ajax_comments]" type="hidden" value="0" />
|
35
|
+
</li>
|
36
|
+
<li>
|
37
|
+
<label for="sp_article_auto_close" class="float"><%= _("Disable comments after")%></label>
|
38
|
+
<input name="setting[sp_article_auto_close]" size="4" id="sp_article_auto_close" type="text" value="<%= this_blog.sp_article_auto_close %>" /> <%= _("days") %>
|
39
|
+
<span class="float"><%= _("Set to 0 to never disable comments")%></span>
|
40
|
+
</li>
|
41
|
+
<li>
|
42
|
+
<p><%= _("Typo will automatically reject comments and trackbacks which contain over a certain amount of links in them")%>.</p>
|
43
|
+
<label class="float" for="sp_url_limit"><%= _("Max Links")%>:</label>
|
44
|
+
<input name="setting[sp_url_limit]" size="4" id="sp_url_limit" type="text" value="<%= this_blog.sp_url_limit %>" />
|
45
|
+
<span class="float"><%= _("Set to 0 to never reject comments")%></span>
|
46
|
+
</li>
|
47
|
+
</ul>
|
48
|
+
</fieldset>
|
49
|
+
<%= render :partial => 'submit' %>
|
50
|
+
</div>
|
51
|
+
<% end %>
|
@@ -0,0 +1,71 @@
|
|
1
|
+
<% @page_heading = _('Write') %>
|
2
|
+
|
3
|
+
<% content_for('tasks') do -%>
|
4
|
+
<%= subtab _("General settings"), "", {:controller => "settings"} %>
|
5
|
+
<%= subtab _("Read"), "", { :controller => 'settings', :action => 'read' } %>
|
6
|
+
<%= subtab _("Write"), "current", { :controller => 'settings', :action => 'write' } %>
|
7
|
+
<%= subtab _("Feedback"), "", { :controller => 'settings', :action => 'feedback' } %>
|
8
|
+
<%= subtab _("Spam"), "", { :controller => 'settings', :action => 'spam' } %>
|
9
|
+
<%= subtab _("Podcasts"), "", { :controller => 'settings', :action => 'podcast' } %>
|
10
|
+
<% end -%>
|
11
|
+
|
12
|
+
<% form_tag :action => 'write' do %>
|
13
|
+
|
14
|
+
<div class="admin">
|
15
|
+
<fieldset id="write" class="set">
|
16
|
+
<legend><%= _("Write")%></legend>
|
17
|
+
<ul>
|
18
|
+
<li>
|
19
|
+
<label class="float"><%= _("Editor")%>:</label>
|
20
|
+
<input type="radio" name="setting[editor]" value="2" id="editor_2" <%= 'checked="checked"' if this_blog.editor == 2 %>/>
|
21
|
+
<label for="editor_2"><%= _("Use visual rich editor")%></label>
|
22
|
+
<span class="float">
|
23
|
+
<input type="radio" name="setting[editor]" value="1" id="editor_1" <%= 'checked="checked"' if this_blog.editor == 1 %>/>
|
24
|
+
<label for="editor_1"><%= _("Use simple editor with live preview (default)")%></label>
|
25
|
+
</span>
|
26
|
+
<span class="float">
|
27
|
+
<input type="radio" name="setting[editor]" value="0" id="editor_0" <%= 'checked="checked"' if this_blog.editor == 0 %>/>
|
28
|
+
<label for="editor_0"><%= _("Use simple editor without live preview")%></label>
|
29
|
+
</span>
|
30
|
+
</li>
|
31
|
+
<li>
|
32
|
+
<label class="float" for="text_filter"><%= _("Article filter")%>:</label>
|
33
|
+
<select name="setting[text_filter]" id="text_filter">
|
34
|
+
<%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.text_filter) %>
|
35
|
+
</select>
|
36
|
+
</li>
|
37
|
+
<li>
|
38
|
+
<label for="comment_text_filter" class="float"><%= _("Comments filter")%>:</label>
|
39
|
+
<select name="setting[comment_text_filter]" id="comment_text_filter">
|
40
|
+
<%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.comment_text_filter) %>
|
41
|
+
</select>
|
42
|
+
</li>
|
43
|
+
</ul>
|
44
|
+
</fieldset>
|
45
|
+
|
46
|
+
<fieldset id="publish" class="set">
|
47
|
+
<legend><%= _("Publish")%></legend>
|
48
|
+
<ul>
|
49
|
+
<li>
|
50
|
+
<%= _("When publishing articles, Typo can send trackbacks to websites that you link to. This should be disabled for private blogs as it will leak non-public information to sites that you're discussing. For public blogs, there's no real point in disabling this.")%>
|
51
|
+
</li>
|
52
|
+
<li class="checkbox">
|
53
|
+
<label class="float" for="send_outbound_pings"><%= _("Send trackbacks")%>:</label>
|
54
|
+
<input name="setting[send_outbound_pings]" id="send_outbound_pings" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.send_outbound_pings%> />
|
55
|
+
<input name="setting[send_outbound_pings]" type="hidden" value="0" />
|
56
|
+
</li>
|
57
|
+
<li>
|
58
|
+
<label class="float" for="ping_urls"><%= _("URLs to ping automatically")%>:</label>
|
59
|
+
<textarea name="setting[ping_urls]" id="ping_urls" rows="5" cols="50"><%=h this_blog.ping_urls %></textarea>
|
60
|
+
</li>
|
61
|
+
<li>
|
62
|
+
<label class="float" for="geourl_location"><%= _("Latitude, Longitude")%>:</label>
|
63
|
+
<input name="setting[geourl_location]" size="20" id="geourl_location" type="text" value="<%= this_blog.geourl_location %>" />
|
64
|
+
<span class="float"><%= _("Display")%> <a href="http://geourl.org"><%= _("your lattitude and longitude")%></a> (<%= _("exemple")%> <tt>47.774,-122.201</tt>)</span>
|
65
|
+
</li>
|
66
|
+
|
67
|
+
</ul>
|
68
|
+
</fieldset>
|
69
|
+
<%= render :partial => 'submit' %>
|
70
|
+
</div>
|
71
|
+
<% end %>
|
@@ -1,9 +1,7 @@
|
|
1
1
|
<% @page_heading = 'Sidebar' %>
|
2
2
|
<% content_for('tasks') do %>
|
3
3
|
<%= subtab _("Sidebar"), "current", {:controller=>"sidebar", :action=>"index"} %>
|
4
|
-
<%= subtab
|
5
|
-
<%= subtab _("Theme editor"), "", {:controller=>"themes", :action=>"editor"} %>
|
6
|
-
<%= subtab(_("Text Filters"), "", {:controller=>"textfilters", :action=>"list"}) if this_blog.display_advanced == 1 %>
|
4
|
+
<%= subtab(_("Text Filters"), "", {:controller=>"textfilters", :action=>"list"}) %>
|
7
5
|
<% end %>
|
8
6
|
<p class="paginate l">You can download and install sidebar plugins from our official <a href="http://svn.typosphere.org/typo/plugins/">plugin repository</a> running script/plugins install http://svn.typosphere.org/typo/plugins/myplugin, or upload them in the vendors/plugin directory.</p>
|
9
7
|
|
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
<% content_for('tasks') do %>
|
4
4
|
<%= subtab _("Sidebar"), "", {:controller=>"sidebar", :action=>"index"} %>
|
5
|
-
<%= subtab _("Choose theme"), "", {:controller=>"themes", :action=>"index"} %>
|
6
|
-
<%= subtab _("Theme editor"), "", {:controller=>"themes", :action=>"editor"} %>
|
7
5
|
<%= subtab _("Text Filters"), "current", {:controller=>"textfilters", :action=>"list"} %>
|
8
6
|
<% end %>
|
9
7
|
|
@@ -1,9 +1,7 @@
|
|
1
1
|
<% @page_heading = _('Theme editor') %>
|
2
2
|
<% content_for('tasks') do %>
|
3
|
-
<%= subtab _("Sidebar"), "", {:controller=>"sidebar", :action=>"index"} %>
|
4
3
|
<%= subtab _("Choose themes"), "", {:controller=>"themes", :action=>"index"} %>
|
5
4
|
<%= subtab _("Theme editor"), "current", {:controller=>"themes", :action=>"editor"} %>
|
6
|
-
<%= subtab _("Text Filters"), "", {:controller=>"textfilters", :action=>"list"} if (this_blog.display_advanced == 1) %>
|
7
5
|
<% end %>
|
8
6
|
|
9
7
|
<div id="theme_list">
|
@@ -1,9 +1,7 @@
|
|
1
1
|
<% @page_heading = _('Choose a theme') %>
|
2
2
|
<% content_for('tasks') do %>
|
3
|
-
<%= subtab _("Sidebar"), "", {:controller=>"sidebar", :action=>"index"} %>
|
4
3
|
<%= subtab _("Choose theme"), "current", {:controller=>"themes", :action=>"index"} %>
|
5
4
|
<%= subtab _("Theme editor"), "", {:controller=>"themes", :action=>"editor"} %>
|
6
|
-
<%= subtab(_("Text Filters"), "", {:controller=>"textfilters", :action=>"list"}) if (this_blog.display_advanced == 1) %>
|
7
5
|
<% end %>
|
8
6
|
|
9
7
|
<p class="paginate l">
|
@@ -19,9 +19,10 @@
|
|
19
19
|
<%= content_tag :li, (link_to _("Write"), {:controller=>"content", :action => 'new'}, :class=>class_write) %>
|
20
20
|
<%= content_tag :li, (link_to _("Manage"), {:controller=>"content", :action => 'index'}, :class=>class_manage) %>
|
21
21
|
<%= content_tag :li, (link_to _("Feedback"), {:controller=>"feedback", :action => 'index'}, :class=>class_feedback) %>
|
22
|
-
<%= content_tag :li, (link_to _("
|
22
|
+
<%= content_tag :li, (link_to _("Themes"), {:controller=>"themes", :action => 'index'}, :class=>class_themes) %>
|
23
|
+
<%= content_tag :li, (link_to _("Plugins"), {:controller=>"sidebar", :action => 'index'}, :class=>class_plugins) %>
|
23
24
|
<%= content_tag :li, (link_to _("Users"), {:controller=>"users", :action => 'index'}, :class=>class_users) %>
|
24
|
-
<%= content_tag :li, (link_to _("Settings"), {:controller=>"
|
25
|
+
<%= content_tag :li, (link_to _("Settings"), {:controller=>"settings", :action => 'index'}, :class=>class_admin) %>
|
25
26
|
<li><%= current_user_notice %></li>
|
26
27
|
<%= tab _('your blog'), :controller => "/articles" %>
|
27
28
|
</ul>
|
@@ -8,7 +8,7 @@ config.whiny_nils = true
|
|
8
8
|
|
9
9
|
# Show full error reports and disable caching
|
10
10
|
config.action_controller.consider_all_requests_local = true
|
11
|
-
config.action_controller.perform_caching =
|
11
|
+
config.action_controller.perform_caching = false
|
12
12
|
|
13
13
|
# Don't care if the mailer can't send
|
14
14
|
config.action_mailer.raise_delivery_errors = false
|
data/db/schema_version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
62
|
data/lib/tasks/release.rake
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rake/gempackagetask'
|
2
2
|
require 'rake/contrib/rubyforgepublisher'
|
3
3
|
|
4
|
-
PKG_VERSION = "5.0.
|
4
|
+
PKG_VERSION = "5.0.2"
|
5
5
|
PKG_NAME = "typo"
|
6
6
|
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
7
7
|
RUBY_FORGE_PROJECT = 'typo'
|
@@ -31,7 +31,7 @@ spec = Gem::Specification.new do |s|
|
|
31
31
|
s.executables = ['typo']
|
32
32
|
|
33
33
|
s.add_dependency("rails", ">= 2.0.2")
|
34
|
-
s.add_dependency("mongrel", ">= 1.1.
|
34
|
+
s.add_dependency("mongrel", ">= 1.1.3")
|
35
35
|
s.add_dependency("mongrel_cluster", ">= 0.2.0")
|
36
36
|
s.add_dependency("sqlite3-ruby", ">= 1.1.0")
|
37
37
|
s.add_dependency("rails-app-installer", ">= 0.2.0")
|
@@ -39,6 +39,7 @@ spec = Gem::Specification.new do |s|
|
|
39
39
|
s.add_dependency("rcov", ">= 0.8.1")
|
40
40
|
s.add_dependency("flexmock", ">= 0.8.0")
|
41
41
|
s.add_dependency("rspec", ">= 1.1.1")
|
42
|
+
s.add_dependency("ruby-debug", ">= 0.10.0")
|
42
43
|
end
|
43
44
|
|
44
45
|
Rake::GemPackageTask.new(spec) do |p|
|
data/lib/typo_version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
TYPO_VERSION = '5.0.
|
1
|
+
TYPO_VERSION = '5.0.2'
|
@@ -156,9 +156,9 @@ describe 'POST signup with 0 existing users' do
|
|
156
156
|
assigns[:user].should == @user
|
157
157
|
end
|
158
158
|
|
159
|
-
it 'redirects to /admin/
|
159
|
+
it 'redirects to /admin/settings' do
|
160
160
|
post 'signup', params
|
161
|
-
response.should redirect_to(:controller => 'admin/
|
161
|
+
response.should redirect_to(:controller => 'admin/settings', :action => 'index')
|
162
162
|
end
|
163
163
|
|
164
164
|
it 'session gets a user' do
|
@@ -43,9 +43,9 @@ describe 'Given a new blog' do
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
it '#text_filter and #comment_text_filter should be
|
47
|
-
@blog.text_filter.should == ''
|
48
|
-
@blog.comment_text_filter.should == ''
|
46
|
+
it '#text_filter and #comment_text_filter should be markdown smartypants' do
|
47
|
+
@blog.text_filter.should == 'markdown smartypants'
|
48
|
+
@blog.comment_text_filter.should == 'markdown smartypants'
|
49
49
|
end
|
50
50
|
|
51
51
|
it '#limit_article_display and #limit_rss_display should be 10' do
|
data/test/fixtures/blogs.yml
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../../test_helper'
|
2
|
-
require 'admin/
|
2
|
+
require 'admin/settings_controller'
|
3
3
|
|
4
4
|
# Re-raise errors caught by the controller.
|
5
|
-
class Admin::
|
5
|
+
class Admin::SettingsController; def rescue_action(e) raise e end; end
|
6
6
|
|
7
|
-
class Admin::
|
7
|
+
class Admin::SettingsControllerTest < Test::Unit::TestCase
|
8
8
|
fixtures :users
|
9
9
|
|
10
10
|
def setup
|
11
|
-
@controller = Admin::
|
11
|
+
@controller = Admin::SettingsController.new
|
12
12
|
@request = ActionController::TestRequest.new
|
13
13
|
@response = ActionController::TestResponse.new
|
14
14
|
@request.session = { :user_id => users(:tobi).id }
|
@@ -21,6 +21,6 @@ class Admin::GeneralControllerTest < Test::Unit::TestCase
|
|
21
21
|
|
22
22
|
def test_redirect
|
23
23
|
get :redirect
|
24
|
-
assert_response :redirect, :controller => 'admin/
|
24
|
+
assert_response :redirect, :controller => 'admin/settings', :action => 'index'
|
25
25
|
end
|
26
|
-
end
|
26
|
+
end
|
@@ -56,6 +56,13 @@ class ArticlesControllerTest < Test::Unit::TestCase
|
|
56
56
|
assert_template "index"
|
57
57
|
end
|
58
58
|
|
59
|
+
# index with page
|
60
|
+
def test_index_with_page
|
61
|
+
get :index, :page => 2
|
62
|
+
assert_response :success
|
63
|
+
assert_template "index"
|
64
|
+
end
|
65
|
+
|
59
66
|
# Archives page
|
60
67
|
def test_archives
|
61
68
|
get :archives
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Fr\xC3\xA9d\xC3\xA9ric de Villamil"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2008-01-06 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -28,7 +28,7 @@ dependencies:
|
|
28
28
|
requirements:
|
29
29
|
- - ">="
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
version: 1.1.
|
31
|
+
version: 1.1.3
|
32
32
|
version:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: mongrel_cluster
|
@@ -93,6 +93,15 @@ dependencies:
|
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: 1.1.1
|
95
95
|
version:
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: ruby-debug
|
98
|
+
version_requirement:
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.10.0
|
104
|
+
version:
|
96
105
|
description:
|
97
106
|
email: frederic@de-villamil.com
|
98
107
|
executables:
|
@@ -111,7 +120,6 @@ files:
|
|
111
120
|
- app/controllers
|
112
121
|
- app/controllers/accounts_controller.rb
|
113
122
|
- app/controllers/admin
|
114
|
-
- app/controllers/admin/advanced_controller.rb
|
115
123
|
- app/controllers/admin/base_controller.rb
|
116
124
|
- app/controllers/admin/blacklist_controller.rb
|
117
125
|
- app/controllers/admin/cache_controller.rb
|
@@ -124,6 +132,7 @@ files:
|
|
124
132
|
- app/controllers/admin/pages_controller.rb
|
125
133
|
- app/controllers/admin/profiles_controller.rb
|
126
134
|
- app/controllers/admin/resources_controller.rb
|
135
|
+
- app/controllers/admin/settings_controller.rb
|
127
136
|
- app/controllers/admin/sidebar_controller.rb
|
128
137
|
- app/controllers/admin/textfilters_controller.rb
|
129
138
|
- app/controllers/admin/themes_controller.rb
|
@@ -157,6 +166,7 @@ files:
|
|
157
166
|
- app/helpers/admin/general_helper.rb
|
158
167
|
- app/helpers/admin/pages_helper.rb
|
159
168
|
- app/helpers/admin/resources_helper.rb
|
169
|
+
- app/helpers/admin/settings_helper.rb
|
160
170
|
- app/helpers/admin/sidebar_helper.rb
|
161
171
|
- app/helpers/admin/textfilters_helper.rb
|
162
172
|
- app/helpers/admin/themes_helper.rb
|
@@ -272,7 +282,6 @@ files:
|
|
272
282
|
- app/views/admin/feedback/_item.html.erb
|
273
283
|
- app/views/admin/feedback/list.html.erb
|
274
284
|
- app/views/admin/general
|
275
|
-
- app/views/admin/general/index.html.erb
|
276
285
|
- app/views/admin/general/update_database.html.erb
|
277
286
|
- app/views/admin/pages
|
278
287
|
- app/views/admin/pages/_form.html.erb
|
@@ -295,6 +304,14 @@ files:
|
|
295
304
|
- app/views/admin/resources/destroy.html.erb
|
296
305
|
- app/views/admin/resources/list.html.erb
|
297
306
|
- app/views/admin/resources/new.html.erb
|
307
|
+
- app/views/admin/settings
|
308
|
+
- app/views/admin/settings/_submit.html.erb
|
309
|
+
- app/views/admin/settings/feedback.html.erb
|
310
|
+
- app/views/admin/settings/index.html.erb
|
311
|
+
- app/views/admin/settings/podcast.html.erb
|
312
|
+
- app/views/admin/settings/read.html.erb
|
313
|
+
- app/views/admin/settings/spam.html.erb
|
314
|
+
- app/views/admin/settings/write.html.erb
|
298
315
|
- app/views/admin/shared
|
299
316
|
- app/views/admin/shared/_edit.html.erb
|
300
317
|
- app/views/admin/sidebar
|
@@ -909,17 +926,16 @@ files:
|
|
909
926
|
- test/functional
|
910
927
|
- test/functional/accounts_controller_test.rb
|
911
928
|
- test/functional/admin
|
912
|
-
- test/functional/admin/advanced_controller_test.rb
|
913
929
|
- test/functional/admin/article_preview_test.rb
|
914
930
|
- test/functional/admin/blacklist_controller_test.rb
|
915
931
|
- test/functional/admin/categories_controller_test.rb
|
916
932
|
- test/functional/admin/comments_controller_test.rb
|
917
933
|
- test/functional/admin/content_controller_test.rb
|
918
934
|
- test/functional/admin/feedback_controller_test.rb
|
919
|
-
- test/functional/admin/general_controller_test.rb
|
920
935
|
- test/functional/admin/pages_controller_test.rb
|
921
936
|
- test/functional/admin/profiles_controller_test.rb
|
922
937
|
- test/functional/admin/resources_controller_test.rb
|
938
|
+
- test/functional/admin/settings_controller_test.rb
|
923
939
|
- test/functional/admin/textfilters_controller_test.rb
|
924
940
|
- test/functional/admin/themes_controller_test.rb
|
925
941
|
- test/functional/admin/trackbacks_controller_test.rb
|
@@ -1,20 +0,0 @@
|
|
1
|
-
class Admin::AdvancedController < Admin::BaseController
|
2
|
-
def index
|
3
|
-
if this_blog.base_url.blank?
|
4
|
-
this_blog.base_url = blog_base_url
|
5
|
-
end
|
6
|
-
end
|
7
|
-
|
8
|
-
def update
|
9
|
-
if request.post?
|
10
|
-
Blog.transaction do
|
11
|
-
params[:setting].each { |k,v| this_blog.send("#{k.to_s}=", v) }
|
12
|
-
this_blog.save
|
13
|
-
flash[:notice] = _('config updated.')
|
14
|
-
end
|
15
|
-
redirect_to :action => 'index'
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
end
|