typo 5.4 → 5.4.1
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 +23 -30
- data/Typo users guide.pdf +0 -0
- data/app/controllers/admin/content_controller.rb +28 -36
- data/app/controllers/admin/tags_controller.rb +4 -4
- data/app/controllers/articles_controller.rb +119 -1
- data/app/controllers/comments_controller.rb +0 -7
- data/app/controllers/content_controller.rb +1 -0
- data/app/helpers/admin/content_helper.rb +9 -28
- data/app/helpers/admin/themes_helper.rb +4 -6
- data/app/helpers/articles_helper.rb +4 -0
- data/app/models/article.rb +21 -12
- data/app/models/blog.rb +0 -1
- data/app/models/category.rb +1 -6
- data/app/models/content.rb +10 -6
- data/app/models/feedback/states.rb +6 -6
- data/app/models/tag.rb +8 -8
- data/app/views/admin/content/_drafts.html.erb +1 -1
- data/app/views/admin/content/_form.html.erb +7 -4
- data/app/views/admin/content/index.html.erb +3 -3
- data/app/views/admin/feedback/index.html.erb +4 -4
- data/app/views/admin/settings/feedback.html.erb +8 -7
- data/app/views/admin/settings/write.html.erb +71 -72
- data/app/views/admin/tags/index.html.erb +4 -4
- data/app/views/admin/themes/editor.html.erb +13 -10
- data/app/views/articles/_article.html.erb +6 -4
- data/bin/typo +25 -0
- data/config/initializers/access_rules.rb +4 -0
- data/config/routes.rb +2 -2
- data/db/schema.rb +32 -26
- data/db/schema.sqlite3.sql +3 -0
- data/lang/fr_FR.rb +46 -44
- data/lib/tasks/release.rake +1 -1
- data/lib/typo_version.rb +1 -1
- data/public/images/admin/loading.gif +0 -0
- data/public/images/closelabel.gif +0 -0
- data/public/stylesheets/administration.css +28 -8
- data/spec/controllers/admin/content_controller_spec.rb +91 -7
- data/spec/controllers/articles_controller_spec.rb +209 -0
- data/spec/controllers/comments_controller_spec.rb +0 -17
- data/spec/controllers/xml_controller_spec.rb +0 -5
- data/spec/factories.rb +8 -3
- data/spec/models/article_spec.rb +31 -4
- data/spec/models/configuration_spec.rb +0 -4
- data/spec/models/user_spec.rb +13 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/views/articles/index_spec.rb +9 -11
- data/spec/views/articles/read_spec.rb +3 -5
- data/test/fixtures/blogs.yml +0 -1
- data/themes/dirtylicious/views/articles/_article.html.erb +6 -4
- data/themes/scribbish/views/articles/_article.html.erb +6 -4
- data/themes/standard_issue/views/articles/_article.html.erb +6 -4
- data/themes/true-blue-3/views/articles/_article.html.erb +8 -6
- data/themes/true-blue-3/views/categories/_article.html.erb +1 -1
- data/themes/typographic/views/articles/_article.html.erb +7 -5
- metadata +6 -8
- data/app/controllers/admin/previews_controller.rb +0 -10
- data/app/controllers/previews_controller.rb +0 -10
- data/app/controllers/redirect_controller.rb +0 -143
- data/app/helpers/redirect_helper.rb +0 -13
- data/spec/controllers/previews_controller_spec.rb +0 -28
- data/spec/controllers/redirect_controller_spec.rb +0 -165
@@ -27,14 +27,14 @@
|
|
27
27
|
<td colspan="5">
|
28
28
|
<select onchange='window.location=this.options[this.selectedIndex].value;'>
|
29
29
|
<option value=''><%= _("All comments")%></option>
|
30
|
-
<option value='?ham=f' <%= 'selected' if params[:ham] %>><%= _("Limit to ham") %></option>
|
31
|
-
<option value='?confirmed=f' <%= 'selected' if params[:confirmed] %>><%= _("Unapproved comments") %></option>
|
32
|
-
<option value='?published=f' <%= 'selected' if params[:published] %>><%= _("Limit to spam")%></option>
|
30
|
+
<option value='?ham=f' <%= 'selected' if params[:ham] == 'f' %>><%= _("Limit to ham") %></option>
|
31
|
+
<option value='?confirmed=f' <%= 'selected' if params[:confirmed] == 'f' %>><%= _("Unapproved comments") %></option>
|
32
|
+
<option value='?published=f' <%= 'selected' if params[:published] == 'f' %>><%= _("Limit to spam")%></option>
|
33
33
|
</select>
|
34
34
|
</td>
|
35
35
|
</tr>
|
36
36
|
<%= render_void_table(@feedback.size, 9) %>
|
37
|
-
|
37
|
+
|
38
38
|
<%= render :partial => 'item', :collection => @feedback %>
|
39
39
|
<%= display_pagination(@feedback, 6)%>
|
40
40
|
</table>
|
@@ -17,6 +17,14 @@
|
|
17
17
|
<%= check_box(:setting, :default_allow_comments)%>
|
18
18
|
</p>
|
19
19
|
</div>
|
20
|
+
<div>
|
21
|
+
<label for="comment_text_filter" class="float large"><%= _("Comments filter")%></label>
|
22
|
+
<p class='input_text_title'>
|
23
|
+
<select name="setting[comment_text_filter]" id="comment_text_filter">
|
24
|
+
<%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.comment_text_filter) %>
|
25
|
+
</select>
|
26
|
+
</p>
|
27
|
+
</div>
|
20
28
|
<div>
|
21
29
|
<label class="float large" for="setting_use_gravatar"><%= _("Enable gravatars")%></label>
|
22
30
|
<p class='input_text_title'>
|
@@ -73,13 +81,6 @@
|
|
73
81
|
<%= text_field(:setting, :sp_akismet_key, {:class => 'small', :size => 25}) %>
|
74
82
|
</p>
|
75
83
|
</div>
|
76
|
-
<div>
|
77
|
-
<p><%= _("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.")%></p>
|
78
|
-
<label for="setting_sp_allow_non_ajax_comments" class="float"><%= _("Allow non-ajax comments") %></label>
|
79
|
-
<p class='input_text_title'>
|
80
|
-
<%= check_box(:setting, :sp_allow_non_ajax_comments)%>
|
81
|
-
</p>
|
82
|
-
</div>
|
83
84
|
<div>
|
84
85
|
<label for="setting_sp_article_auto_close" class="float"><%= _("Disable comments after")%></label>
|
85
86
|
<p class='input_text_title'>
|
@@ -1,81 +1,80 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
<% form_tag :action => 'update' do %>
|
1
|
+
<% @page_heading = _('Write') %>
|
2
|
+
<% subtabs_for(:settings) %>
|
5
3
|
|
6
|
-
|
7
|
-
<fieldset id="write" class="set">
|
8
|
-
<legend><%= _("Write")%></legend>
|
9
|
-
<ul>
|
10
|
-
<li>
|
11
|
-
<label for="comment_text_filter" class="float"><%= _("Comments filter")%></label>
|
12
|
-
<select name="setting[comment_text_filter]" id="comment_text_filter">
|
13
|
-
<%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.comment_text_filter) %>
|
14
|
-
</select>
|
15
|
-
</li>
|
16
|
-
</ul>
|
17
|
-
</fieldset>
|
18
|
-
|
19
|
-
<fieldset id="publish" class="set">
|
20
|
-
<legend><%= _("Publish")%></legend>
|
21
|
-
<ul>
|
22
|
-
<li>
|
23
|
-
<%= _("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.")%>
|
24
|
-
</li>
|
25
|
-
<li class="checkbox">
|
26
|
-
<label class="float" for="setting_send_outbound_pings"><%= _("Send trackbacks")%></label>
|
27
|
-
<%= check_box(:setting, :send_outbound_pings) %>
|
28
|
-
</li>
|
29
|
-
<li>
|
30
|
-
<label class="float" for="setting_ping_urls"><%= _("URLs to ping automatically")%></label>
|
31
|
-
<%= text_area(:setting, :ping_urls, :cols => 40, :rows => 5) %>
|
32
|
-
</li>
|
33
|
-
<li>
|
34
|
-
<label class="float" for="setting_geourl_location"><%= _("Latitude, Longitude")%></label>
|
35
|
-
<%= text_field(:setting, :geourl_location, :size => 20)%>
|
36
|
-
<span class="float"><%= _("Display")%> <a href="http://geourl.org"><%= _("your lattitude and longitude")%></a> (<%= _("exemple")%> <tt>47.774,-122.201</tt>)</span>
|
37
|
-
</li>
|
4
|
+
<% form_tag :action => 'update' do %>
|
38
5
|
|
39
|
-
|
6
|
+
<fieldset>
|
7
|
+
<legend><%= _("Publish")%></legend>
|
8
|
+
<div>
|
9
|
+
<label class="float" for="setting_send_outbound_pings"><%= _("Send trackbacks")%></label>
|
10
|
+
<p class='input_text_title'>
|
11
|
+
<%= check_box(:setting, :send_outbound_pings) %>
|
12
|
+
</p>
|
13
|
+
<p><%= _("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.")%></p>
|
14
|
+
</div>
|
15
|
+
<div>
|
16
|
+
<label class="float" for="setting_ping_urls"><%= _("URLs to ping automatically")%></label>
|
17
|
+
<p class='input_text_title ml140'>
|
18
|
+
<%= text_area(:setting, :ping_urls, :rows => 3, :class => 'small medium') %>
|
19
|
+
</p>
|
20
|
+
</div>
|
21
|
+
<div>
|
22
|
+
<label class="float" for="setting_geourl_location"><%= _("Latitude, Longitude")%></label>
|
23
|
+
<p class='input_text_title ml140'>
|
24
|
+
<%= text_field(:setting, :geourl_location, { :class => 'small medium'})%><br />
|
25
|
+
<small><%= _("Display")%> <a href="http://geourl.org"><%= _("your lattitude and longitude")%></a> (<%= _("exemple")%> <tt>47.774,-122.201</tt>)</small>
|
26
|
+
</p>
|
27
|
+
</div>
|
40
28
|
</fieldset>
|
41
|
-
|
42
|
-
<fieldset
|
29
|
+
|
30
|
+
<fieldset>
|
43
31
|
<legend><%= _("Podcasts")%></legend>
|
44
|
-
<
|
45
|
-
<
|
46
|
-
<
|
47
|
-
|
48
|
-
<%= text_field(:setting, :itunes_author, :
|
49
|
-
</
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
<
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
</
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
<
|
32
|
+
<div>
|
33
|
+
<p><%= _("The below settings act as defaults when you choose to publish an enclosure with iTunes metadata")%>.</p>
|
34
|
+
<label for="setting_itunes_author" class="float"><%= _("Author")%></label>
|
35
|
+
<p class='input_text_title'>
|
36
|
+
<%= text_field(:setting, :itunes_author, { :class => 'small medium'}) %>
|
37
|
+
</p>
|
38
|
+
</div>
|
39
|
+
<div>
|
40
|
+
<label for="setting_itunes_subtitle" class="float"><%= _("Subtitle")%> <span class="mandatory">*</span></label>
|
41
|
+
<p class='input_text_title'>
|
42
|
+
<%= text_field(:setting, :itunes_subtitle, { :class => 'small medium'}) %>
|
43
|
+
</p>
|
44
|
+
</div>
|
45
|
+
<div>
|
46
|
+
<label class="float" for="setting_itunes_summary"><%= _("Summary")%> <span class="mandatory">*</span></label>
|
47
|
+
<p class='input_text_title ml140'>
|
48
|
+
<%= text_area :setting, :itunes_summary, :rows => 3, :class => 'small medium' %>
|
49
|
+
</p>
|
50
|
+
</div>
|
51
|
+
<div>
|
52
|
+
<label class="float" for="setting_itunes_email"><%= _("Email")%> <span class="mandatory">**</span></label>
|
53
|
+
<p class='input_text_title'>
|
54
|
+
<%= text_field(:setting, :itunes_email, {:class => 'small medium'}) %>
|
55
|
+
</p>
|
56
|
+
</div>
|
57
|
+
<div>
|
58
|
+
<label class="float" for="setting_itunes_name"><%= _("Optional Name")%> <span class="mandatory">**</span></label>
|
59
|
+
<p class='input_text_title'>
|
60
|
+
<%= text_field(:setting, :itunes_name, {:class => 'small medium'}) %><br />
|
61
|
+
<small>** <%= _("Not published by Apple")%></small>
|
62
|
+
</p>
|
63
|
+
</div>
|
64
|
+
<div>
|
65
|
+
<label class="float" for="setting_itunes_copyright"><%= _("Copyright Information")%></label>
|
66
|
+
<p class='input_text_title'>
|
67
|
+
<%= text_field(:setting, :itunes_copyright, {:class => 'small medium'}) %>
|
68
|
+
</p>
|
69
|
+
</div>
|
70
|
+
<div>
|
71
|
+
<label class="float" for="setting_itunes_explicit"><%= _("Explicit")%></label>
|
72
|
+
<p class='input_text_title'>
|
74
73
|
<%= check_box(:setting, :itunes_explicit)%>
|
75
|
-
</
|
76
|
-
</
|
74
|
+
</p>
|
75
|
+
</div>
|
77
76
|
</fieldset>
|
78
77
|
<%= hidden_field_tag 'from', 'write' %>
|
79
78
|
<%= render :partial => 'submit' %>
|
80
79
|
</div>
|
81
|
-
|
80
|
+
<% end %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% @page_heading = _('Manage tags') %>
|
2
2
|
<% subtabs_for(:content) %>
|
3
|
-
|
3
|
+
|
4
4
|
<table cellspacing="1" cellpadding="0">
|
5
5
|
<tr>
|
6
6
|
<th><%= _("Display Name") %></th>
|
@@ -12,8 +12,8 @@
|
|
12
12
|
<tr <%= alternate_class %>>
|
13
13
|
<td> <%= link_to_edit tag.display_name, tag %></td>
|
14
14
|
<td><%= tag.name %></td>
|
15
|
-
<td><%= link_to_permalink tag, tag.
|
16
|
-
</tr>
|
15
|
+
<td><%= link_to_permalink tag, tag.published_articles.count %></td>
|
16
|
+
</tr>
|
17
17
|
<% end %>
|
18
|
-
<%= display_pagination(@tags, 3)%>
|
18
|
+
<%= display_pagination(@tags, 3)%>
|
19
19
|
</table>
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<% @page_heading = _('Theme editor') %>
|
2
2
|
<% subtabs_for(:themes) %>
|
3
3
|
|
4
|
-
|
4
|
+
<% form_tag do %>
|
5
|
+
<div id='editor-right'>
|
5
6
|
<h3>Stylesheets</h3>
|
6
7
|
<div class="theme-filer">
|
7
8
|
<%= fetch_stylesheets %>
|
@@ -11,16 +12,18 @@
|
|
11
12
|
<div class="theme-filer">
|
12
13
|
<%= fetch_layouts %>
|
13
14
|
</div>
|
14
|
-
|
15
|
+
|
15
16
|
</div>
|
16
17
|
|
17
|
-
|
18
|
-
<
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
<%= hidden_field_tag '
|
23
|
-
|
18
|
+
<div id="editor-left">
|
19
|
+
<textarea id="theme_body" name="theme_body" class='large' rows='25'>
|
20
|
+
<%= @file %>
|
21
|
+
</textarea>
|
22
|
+
<%= hidden_field_tag 'type', params[:type] %>
|
23
|
+
<%= hidden_field_tag 'file', params[:file] %>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<p class='right'>
|
27
|
+
<%= cancel_or_save %>
|
24
28
|
</div>
|
25
|
-
<div class="paginate r" style="clear: both; margin-top: 15px"><input type="submit" class="submit" value="<%= _('save') %>" />
|
26
29
|
<% end %>
|
@@ -1,14 +1,16 @@
|
|
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
|
-
<%
|
4
|
+
<% unless controller.action_name == 'redirect' %>
|
5
5
|
<% if article.excerpt? %>
|
6
6
|
<%= article.excerpt %>
|
7
7
|
<% else %>
|
8
8
|
<%= article.html(:body) %>
|
9
|
-
|
10
|
-
<
|
11
|
-
|
9
|
+
<% if article.extended? %>
|
10
|
+
<div class="extended">
|
11
|
+
<p><%= link_to_permalink article, _("Continue reading...") %></p>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
12
14
|
<% end %>
|
13
15
|
<% else %>
|
14
16
|
<%= article.html(:body) %>
|
data/bin/typo
CHANGED
@@ -27,6 +27,31 @@ require 'rails-installer'
|
|
27
27
|
}
|
28
28
|
end
|
29
29
|
end
|
30
|
+
|
31
|
+
class Sqlite3 < RailsInstaller::Database
|
32
|
+
# The name of the sqlite database file
|
33
|
+
def self.db_file(installer)
|
34
|
+
File.join(installer.install_directory,'db','database.sqlite')
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.yml(installer)
|
38
|
+
%q{
|
39
|
+
login: &login
|
40
|
+
adapter: sqlite3
|
41
|
+
database: db/database.sqlite
|
42
|
+
|
43
|
+
development:
|
44
|
+
<<: *login
|
45
|
+
|
46
|
+
production:
|
47
|
+
<<: *login
|
48
|
+
|
49
|
+
test:
|
50
|
+
database: ":memory"
|
51
|
+
<<: *login
|
52
|
+
}
|
53
|
+
end
|
54
|
+
end
|
30
55
|
|
31
56
|
class TypoInstaller < RailsInstaller
|
32
57
|
application_name 'typo'
|
@@ -47,7 +47,11 @@ AccessControl.map :require => [ :admin, :publisher, :contributor ] do |map|
|
|
47
47
|
map.permission "admin/cache"
|
48
48
|
map.permission "admin/dashboard"
|
49
49
|
map.permission "admin/textfilters"
|
50
|
+
# FIXME: For previews, during production 'previews' is needed, during
|
51
|
+
# test, 'articles' is needed. Proposed solution: move previews to
|
52
|
+
# ArticlesController
|
50
53
|
map.permission "previews"
|
54
|
+
map.permission "articles"
|
51
55
|
|
52
56
|
map.project_module :write, nil do |project|
|
53
57
|
project.menu "Write", { :controller => "admin/content", :action => "new" }
|
data/config/routes.rb
CHANGED
@@ -85,7 +85,7 @@ ActionController::Routing::Routes.draw do |map|
|
|
85
85
|
:controller => 'textfilter', :action => 'public_action'
|
86
86
|
end
|
87
87
|
|
88
|
-
map.connect 'previews/:id', :controller => '
|
88
|
+
map.connect 'previews/:id', :controller => 'articles', :action => 'preview'
|
89
89
|
|
90
90
|
# Work around the Bad URI bug
|
91
91
|
%w{ accounts backend files sidebar textfilter xml }.each do |i|
|
@@ -100,7 +100,7 @@ ActionController::Routing::Routes.draw do |map|
|
|
100
100
|
map.connect "/admin/#{i}/:action/:id", :controller => "admin/#{i}", :action => nil, :id => nil
|
101
101
|
end
|
102
102
|
|
103
|
-
map.connect '*from', :controller => '
|
103
|
+
map.connect '*from', :controller => 'articles', :action => 'redirect'
|
104
104
|
|
105
105
|
map.connect(':controller/:action/:id') do |default_route|
|
106
106
|
class << default_route
|
data/db/schema.rb
CHANGED
@@ -17,12 +17,10 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
create_table "blacklist_patterns", :force => true do |t|
|
20
|
-
t.string "type"
|
20
|
+
t.string "type", :limit => 15
|
21
21
|
t.string "pattern"
|
22
22
|
end
|
23
23
|
|
24
|
-
add_index "blacklist_patterns", ["pattern"], :name => "index_blacklist_patterns_on_pattern"
|
25
|
-
|
26
24
|
create_table "blogs", :force => true do |t|
|
27
25
|
t.text "settings"
|
28
26
|
t.string "base_url"
|
@@ -38,14 +36,14 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
38
36
|
|
39
37
|
create_table "categories", :force => true do |t|
|
40
38
|
t.string "name"
|
41
|
-
t.integer "position"
|
39
|
+
t.integer "position", :default => 0, :null => false
|
42
40
|
t.string "permalink"
|
43
41
|
t.text "keywords"
|
44
42
|
t.text "description"
|
45
43
|
t.integer "parent_id"
|
46
44
|
end
|
47
45
|
|
48
|
-
add_index "categories", ["permalink"], :name => "
|
46
|
+
add_index "categories", ["permalink"], :name => "categories_permalink_index"
|
49
47
|
|
50
48
|
create_table "categorizations", :force => true do |t|
|
51
49
|
t.integer "article_id"
|
@@ -77,8 +75,8 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
77
75
|
t.integer "parent_id"
|
78
76
|
end
|
79
77
|
|
80
|
-
add_index "contents", ["published"], :name => "
|
81
|
-
add_index "contents", ["text_filter_id"], :name => "
|
78
|
+
add_index "contents", ["published"], :name => "contents_published_index"
|
79
|
+
add_index "contents", ["text_filter_id"], :name => "contents_text_filter_id_index"
|
82
80
|
|
83
81
|
create_table "feedback", :force => true do |t|
|
84
82
|
t.string "type"
|
@@ -103,8 +101,8 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
103
101
|
t.boolean "status_confirmed"
|
104
102
|
end
|
105
103
|
|
106
|
-
add_index "feedback", ["article_id"], :name => "
|
107
|
-
add_index "feedback", ["text_filter_id"], :name => "
|
104
|
+
add_index "feedback", ["article_id"], :name => "feedback_article_id_index"
|
105
|
+
add_index "feedback", ["text_filter_id"], :name => "feedback_text_filter_id_index"
|
108
106
|
|
109
107
|
create_table "notifications", :force => true do |t|
|
110
108
|
t.integer "content_id"
|
@@ -114,10 +112,10 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
114
112
|
end
|
115
113
|
|
116
114
|
create_table "page_caches", :force => true do |t|
|
117
|
-
t.string "name"
|
115
|
+
t.string "name", :null => false
|
118
116
|
end
|
119
117
|
|
120
|
-
add_index "page_caches", ["name"], :name => "
|
118
|
+
add_index "page_caches", ["name"], :name => "name"
|
121
119
|
|
122
120
|
create_table "pings", :force => true do |t|
|
123
121
|
t.integer "article_id"
|
@@ -125,7 +123,7 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
125
123
|
t.datetime "created_at"
|
126
124
|
end
|
127
125
|
|
128
|
-
add_index "pings", ["article_id"], :name => "
|
126
|
+
add_index "pings", ["article_id"], :name => "article_id"
|
129
127
|
|
130
128
|
create_table "profiles", :force => true do |t|
|
131
129
|
t.string "label"
|
@@ -166,19 +164,20 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
166
164
|
end
|
167
165
|
|
168
166
|
create_table "sessions", :force => true do |t|
|
169
|
-
t.string "sessid"
|
167
|
+
t.string "sessid", :limit => 32
|
170
168
|
t.text "data"
|
171
|
-
t.datetime "created_at"
|
172
169
|
t.datetime "updated_at"
|
173
170
|
end
|
174
171
|
|
175
|
-
add_index "sessions", ["sessid"], :name => "
|
172
|
+
add_index "sessions", ["sessid"], :name => "sessid", :unique => true
|
173
|
+
add_index "sessions", ["sessid"], :name => "sessions_sessid_index"
|
176
174
|
|
177
175
|
create_table "sidebars", :force => true do |t|
|
178
|
-
t.integer
|
179
|
-
t.text
|
180
|
-
t.integer
|
181
|
-
t.
|
176
|
+
t.integer "active_position"
|
177
|
+
t.text "config"
|
178
|
+
t.integer "staged_position"
|
179
|
+
t.datetime "updated_at"
|
180
|
+
t.string "type"
|
182
181
|
end
|
183
182
|
|
184
183
|
create_table "sitealizer", :force => true do |t|
|
@@ -206,6 +205,11 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
206
205
|
t.text "params"
|
207
206
|
end
|
208
207
|
|
208
|
+
create_table "text_link_ads_rss", :force => true do |t|
|
209
|
+
t.string "html", :limit => 1024
|
210
|
+
t.integer "post_id"
|
211
|
+
end
|
212
|
+
|
209
213
|
create_table "triggers", :force => true do |t|
|
210
214
|
t.integer "pending_item_id"
|
211
215
|
t.string "pending_item_type"
|
@@ -214,10 +218,10 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
214
218
|
end
|
215
219
|
|
216
220
|
create_table "users", :force => true do |t|
|
217
|
-
t.string "login"
|
218
|
-
t.string "password"
|
219
|
-
t.
|
220
|
-
t.
|
221
|
+
t.string "login", :limit => 80
|
222
|
+
t.string "password", :limit => 40
|
223
|
+
t.string "name", :limit => 80
|
224
|
+
t.string "email", :limit => 80
|
221
225
|
t.boolean "notify_via_email"
|
222
226
|
t.boolean "notify_on_new_articles"
|
223
227
|
t.boolean "notify_on_comments"
|
@@ -226,9 +230,9 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
226
230
|
t.integer "profile_id"
|
227
231
|
t.string "remember_token"
|
228
232
|
t.datetime "remember_token_expires_at"
|
229
|
-
t.string "text_filter_id",
|
230
|
-
t.string "editor",
|
231
|
-
t.string "state",
|
233
|
+
t.string "text_filter_id", :default => "1"
|
234
|
+
t.string "editor", :default => "simple"
|
235
|
+
t.string "state", :default => "active"
|
232
236
|
t.string "firstname"
|
233
237
|
t.string "lastname"
|
234
238
|
t.string "nickname"
|
@@ -247,4 +251,6 @@ ActiveRecord::Schema.define(:version => 86) do
|
|
247
251
|
t.datetime "last_connection"
|
248
252
|
end
|
249
253
|
|
254
|
+
add_index "users", ["login"], :name => "login", :unique => true
|
255
|
+
|
250
256
|
end
|