typo 5.0.1 → 5.0.2
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/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
|