typo 5.4.1 → 5.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/CHANGELOG +10 -24
  2. data/app/controllers/accounts_controller.rb +18 -1
  3. data/app/controllers/admin/content_controller.rb +1 -0
  4. data/app/controllers/admin/resources_controller.rb +17 -3
  5. data/app/controllers/application_controller.rb +2 -5
  6. data/app/helpers/admin/base_helper.rb +16 -6
  7. data/app/helpers/admin/resources_helper.rb +6 -0
  8. data/app/helpers/application_helper.rb +7 -8
  9. data/app/models/article.rb +8 -10
  10. data/app/models/blog.rb +26 -24
  11. data/app/models/content.rb +17 -10
  12. data/app/models/feedback.rb +1 -1
  13. data/app/models/page.rb +1 -1
  14. data/app/models/resource.rb +14 -0
  15. data/app/models/user.rb +1 -0
  16. data/app/views/accounts/login.html.erb +2 -1
  17. data/app/views/accounts/recover_password.html.erb +18 -0
  18. data/app/views/admin/content/_form.html.erb +8 -5
  19. data/app/views/admin/content/_images.html.erb +14 -0
  20. data/app/views/admin/content/_visual_editor.html.erb +5 -0
  21. data/app/views/admin/pages/_visual_editor.html.erb +9 -5
  22. data/app/views/admin/resources/_upload.html.erb +10 -0
  23. data/app/views/admin/resources/get_thumbnails.html.erb +5 -0
  24. data/app/views/admin/resources/images.html.erb +28 -0
  25. data/app/views/admin/resources/index.html.erb +42 -11
  26. data/app/views/layouts/administration.html.erb +1 -1
  27. data/app/views/notification_mailer/notif_user.html.erb +1 -1
  28. data/config/environment.rb +1 -1
  29. data/config/initializers/access_rules.rb +2 -1
  30. data/config/initializers/inflector.rb +4 -1
  31. data/db/schema.rb +26 -32
  32. data/lib/tasks/release.rake +1 -1
  33. data/lib/typo_version.rb +1 -1
  34. data/public/images/thumb_blank.jpg +0 -0
  35. data/public/javascripts/base_packaged.js +377 -0
  36. data/public/javascripts/ckeditor/config.bak +27 -11
  37. data/public/javascripts/quicktags.js +11 -0
  38. data/public/javascripts/typo_carousel.js +340 -0
  39. data/public/stylesheets/administration.css +16 -0
  40. data/public/stylesheets/base_packaged.css +100 -0
  41. data/script/about +3 -2
  42. data/script/console +1 -1
  43. data/script/dbconsole +1 -1
  44. data/script/destroy +1 -1
  45. data/script/generate +1 -1
  46. data/script/performance/benchmarker +1 -1
  47. data/script/performance/profiler +1 -1
  48. data/script/plugin +2 -2
  49. data/script/runner +2 -2
  50. data/script/server +2 -2
  51. data/spec/controllers/accounts_controller_spec.rb +47 -0
  52. data/spec/controllers/admin/content_controller_spec.rb +4 -0
  53. data/spec/controllers/admin/resources_controller_spec.rb +8 -0
  54. data/spec/controllers/xml_controller_spec.rb +13 -16
  55. data/spec/factories.rb +14 -1
  56. data/spec/models/article_spec.rb +57 -14
  57. data/spec/models/blog_spec.rb +50 -3
  58. data/spec/models/trackback_spec.rb +1 -1
  59. data/spec/models/user_spec.rb +7 -12
  60. data/spec/spec_helper.rb +1 -1
  61. data/test/fixtures/users.yml +15 -8
  62. data/themes/true-blue-3/images/background.gif +0 -0
  63. data/vendor/plugins/easy-ckeditor/lib/ckeditor.rb +1 -2
  64. data/vendor/plugins/easy-ckeditor/lib/ckeditor_file_utils.rb +2 -2
  65. metadata +11 -11
  66. data/app/views/admin/resources/_resources.html.erb +0 -41
  67. data/script/benchmarker +0 -19
  68. data/script/performance/request +0 -3
  69. data/script/process/inspector +0 -3
  70. data/script/process/reaper +0 -3
  71. data/script/process/spawner +0 -3
  72. data/script/process/spinner +0 -3
  73. data/script/profiler +0 -34
  74. data/script/spec_server +0 -9
@@ -1,4 +1,5 @@
1
1
  require 'tempfile'
2
+ require 'mini_magick'
2
3
 
3
4
  class Resource < ActiveRecord::Base
4
5
  validates_uniqueness_of :filename
@@ -31,6 +32,7 @@ class Resource < ActiveRecord::Base
31
32
  end
32
33
  end
33
34
  end
35
+
34
36
  def fullpath(file = nil)
35
37
  "#{RAILS_ROOT}/public/files/#{file.nil? ? filename : file}"
36
38
  end
@@ -59,6 +61,18 @@ class Resource < ActiveRecord::Base
59
61
  end
60
62
  end
61
63
 
64
+ def create_thumbnail
65
+ return unless self.mime =~ /image/ or File.exists?(fullpath("thumb_#{self.filename}"))
66
+ return unless File.exists?(fullpath("#{self.filename}"))
67
+ begin
68
+ img_orig = MiniMagick::Image.from_file(fullpath(self.filename))
69
+ img_orig = img_orig.resize('125x125')
70
+ img_orig.write(fullpath("thumb_#{self.filename}"))
71
+ rescue
72
+ nil
73
+ end
74
+ end
75
+
62
76
 
63
77
  protected
64
78
  def uniq_filename_on_disk
data/app/models/user.rb CHANGED
@@ -165,6 +165,7 @@ class User < ActiveRecord::Base
165
165
  user = self.class.find(self.id)
166
166
  self.password = user.password
167
167
  else
168
+ send_create_notification
168
169
  write_attribute "password", self.class.sha1(password(true))
169
170
  @password = nil
170
171
  end
@@ -25,7 +25,8 @@
25
25
  </p>
26
26
 
27
27
  <p>
28
- <small><%= link_to "&laquo; #{_('Back to ')} #{this_blog.blog_name}", this_blog.base_url %></small>
28
+ <small><%= link_to "&laquo; #{_('Back to ')} #{this_blog.blog_name}", this_blog.base_url %></small><br />
29
+ <small><%= link_to "#{_("I've lost my password")} &raquo;", :action => 'recover_password' %></small>
29
30
  </p>
30
31
  <% end %>
31
32
  </div>
@@ -0,0 +1,18 @@
1
+ <%= content_tag :h3, link_to(image_tag("/images/admin/typologo.gif", :alt=>"Typo website"), "http://typosphere.org") %>
2
+
3
+ <p id="flash"><%= render_flash rescue nil %></p>
4
+
5
+ <% form_tag :action=> "recover_password" do %>
6
+ <div>
7
+ <h2><label for="user_login"><%= _("Username or email") %>:</label></h2>
8
+ <p class='input_text_title'>
9
+ <%= text_field(:user, :login, {:class => 'title large'})%>
10
+ </p>
11
+ </div>
12
+ <p><input type="submit" id="submit" class='save large' value="<%= _('Submit')%>" /></p>
13
+ <p>
14
+ <small><%= link_to "&laquo; #{_('Back to ')} #{this_blog.blog_name}", this_blog.base_url %></small>
15
+ </p>
16
+
17
+ <% end %>
18
+
@@ -50,13 +50,16 @@
50
50
  </span>
51
51
  </div>
52
52
  <div id="editor">
53
+ <%= render(:partial => 'images', :object => @images) unless @images.empty? %>
53
54
  <div id='quicktags' style='<%= "display: none;" if current_user.editor == 'visual' %>'>
54
55
  <script type="text/javascript">edToolbar('article_body_and_extended');</script>
55
56
  </div>
56
- <div id='<%= alternate_editor %>_editor' style='display: none;'></div>
57
- <div id='<%= "#{current_user.editor}_editor" %>'>
58
- <%= t_textarea('article', 'body_and_extended', {:height => '300px', :class => 'large', :height => '300px', :rows => '15'}) %>
59
- <%= render_macros(@macros) if current_user.editor == 'simple' %>
57
+ <div id ='visual_editor' <%= "style='display: none;'" if current_user.editor == 'simple'%> >
58
+ <%= ckeditor_textarea('article', 'body_and_extended', {:height => '300px', :class => 'large', :height => '300px', :rows => '15'}) if current_user.editor == 'visual' %>
59
+ </div>
60
+ <div id='simple_editor' <%= "style='display: none;'" if current_user.editor == 'visual'%> >
61
+ <%= text_area('article', 'body_and_extended', {:height => '300px', :class => 'large', :height => '300px', :rows => '15'}) %>
62
+ <%= render_macros(@macros) if current_user.editor == 'simple' %>
60
63
  </div>
61
64
  </div>
62
65
  <div class='editor_bottom'>
@@ -72,7 +75,7 @@
72
75
 
73
76
  <h3><label for='article_excerpt'><%= _("Excerpt") %></label></h3>
74
77
  <div class='blue_block'>
75
- <%= t_textarea 'article', 'excerpt', {:height => '150', :class => 'large', :rows => '4'} %>
78
+ <%= text_area 'article', 'excerpt', {:height => '150', :class => 'large', :rows => '5'} %>
76
79
  <p><%=_("Excerpts are posts summaries that are shown on your blog homepage only but won’t appear on the post itself")%></p>
77
80
  </div>
78
81
 
@@ -0,0 +1,14 @@
1
+ <a href="javascript:" class="carousel-control" rel="prev">Previous</a>
2
+ <div id="carousel-wrapper">
3
+ <div id="carousel-content">
4
+ <% @images.each do |image| %>
5
+ <div class="slide">
6
+ <%= show_thumbnail_for_editor(image) %>
7
+ </div>
8
+ <% end %>
9
+ </div>
10
+ </div>
11
+ <a href="javascript:" class="carousel-control" rel="next">Next</a>
12
+ <script type='text/javascript'>
13
+ new Carousel('carousel-wrapper', $$('#carousel-content .slide'), $$('a.carousel-control', 'a.carousel-jumper'), {duration: 0.4, circular: false});
14
+ </script>
@@ -6,6 +6,11 @@
6
6
  $('f').className = 'active';
7
7
  $('text_filter').value = 'none';
8
8
  html = $('article_body_and_extended').value;
9
+
10
+ if (CKEDITOR.instances.article__body_and_extended_editor &&
11
+ typeof(CKEDITOR.instances.article__body_and_extended_editor) == 'object') {
12
+ delete(CKEDITOR.instances.article__body_and_extended_editor);
13
+ }
9
14
  </script>
10
15
  <%= ckeditor_textarea('article', 'body_and_extended', {:height => '300', :class => 'medium'}) %>
11
16
  <script type="text/javascript">
@@ -4,11 +4,15 @@
4
4
  $('visual_editor').style.display = 'block';
5
5
  $('s').className = 'inactive';
6
6
  $('f').className = 'active';
7
+ html = $('page_body').value;
7
8
 
8
- if (typeof(html2) != 'undefined') {
9
- html2 = null;
10
- }
11
- html2 = $('page_body').innerHTML;
12
-
9
+ if (CKEDITOR.instances.page__body_editor &&
10
+ typeof(CKEDITOR.instances.page__body_editor) == 'object') {
11
+ delete(CKEDITOR.instances.page__body_editor);
12
+ }
13
+
13
14
  </script>
14
15
  <%= ckeditor_textarea('page', 'body', {:height => '300', :class => 'medium'}) %>
16
+ <script type="text/javascript">
17
+ content = CKEDITOR.instances.page__body_editor.setData(html);
18
+ </script>
@@ -0,0 +1,10 @@
1
+ <%= form_tag_with_upload_progress({:action => 'upload'}, { :begin => "new Effect.Appear('status')", :finish => "$('message').innertHTML = arguments[0]" }) %>
2
+
3
+ <fieldset>
4
+ <legend><%= _('Upload a File to your Site') %></legend>
5
+ <label for="upload_filename"><%= _('File') %>:</label> <%= file_field('upload', 'filename') -%>
6
+ <%= submit_tag(_('Upload'), {:class => 'save'}) -%>
7
+ <div id='status' style="display: none"><%= upload_status_tag %></div>
8
+ <div id="message"><%= @message %></div>
9
+ </fieldset>
10
+ </form>
@@ -0,0 +1,5 @@
1
+ <% @resources.each do |image| %>
2
+ <div class="slide">
3
+ <%= show_thumbnail_for_editor(image) %>
4
+ </div>
5
+ <% end %>
@@ -0,0 +1,28 @@
1
+ <% @page_heading = _('Images') %>
2
+ <% subtabs_for(:content) %>
3
+
4
+ <%= render :partial => 'upload' -%>
5
+
6
+ <table>
7
+ <tr>
8
+ <th><%= _("Thumbnail")%> <small>(<%= _('right-click for link')%>)</small></th>
9
+ <th><%= _("Content Type")%></th>
10
+ <th><%= _("File Size")%></th>
11
+ <th><%= _("Date")%></th>
12
+ <th><%= _("Delete")%></th>
13
+ </tr>
14
+ <%= render_void_table(@resources.size, 6) %>
15
+ <% @resources.each do |image| %>
16
+ <tr>
17
+ <td>
18
+ <a href='<%= "#{this_blog.base_url}/files/#{image.filename}" %>' rel='lightbox'>
19
+ <%= show_thumbnail(image) %>
20
+ </a>
21
+ </td>
22
+ <td><%= image.mime %></td>
23
+ <td><%=h image.size rescue 0 -%> bytes</td>
24
+ <td><%=h image.created_at.strftime('%Y-%m-%d %H:%M:%S') -%></td>
25
+ <td class="operation"><%= link_to _("delete"), {:action => 'destroy', :id => image.id, :search => params[:search], :page => params[:page] }, :confirm => _("Are you sure?"), :method => :post %></td></tr>
26
+ <% end %>
27
+
28
+ </table>
@@ -1,15 +1,46 @@
1
1
  <% @page_heading = _('Uploads') %>
2
2
  <% subtabs_for(:content) %>
3
3
 
4
- <%= form_tag_with_upload_progress({:action => 'upload'}, { :begin => "new Effect.Appear('status')", :finish => "$('message').innertHTML = arguments[0]" }) %>
4
+ <%= render :partial => 'upload' -%>
5
5
 
6
- <fieldset>
7
- <legend><%= _('Upload a File to your Site') %></legend>
8
- <label for="upload_filename"><%= _('File') %>:</label> <%= file_field('upload', 'filename') -%>
9
- <%= submit_tag(_('Upload'), {:class => 'save'}) -%>
10
- <div id='status' style="display: none"><%= upload_status_tag %></div>
11
- <div id="message"><%= @message %></div>
12
- </fieldset>
13
- </form>
14
-
15
- <%= render :partial => 'resources' -%>
6
+ <table>
7
+ <tr>
8
+ <th><%= _("Filename")%> <small>(<%= _('right-click for link')%>)</small></th>
9
+ <th><%= _("Content Type")%></th>
10
+ <th><%= _("MetaData")%></th>
11
+ <th><%= _("File Size")%></th>
12
+ <th><%= _("Date")%></th>
13
+ <th><%= _("Delete")%></th>
14
+ </tr>
15
+ <%= render_void_table(@resources.size, 6) %>
16
+ <% for upload in @resources -%>
17
+ <tr <%= alternate_class -%>>
18
+ <td><%= link_to ("#{upload.filename}", "#{this_blog.base_url}/files/#{upload.filename}", {:rel => 'lightbox'}) -%></td>
19
+ <td>
20
+ <%= task_edit_resource_mime(upload.mime, upload.id) %>
21
+ <div id="edit-resource-mime-<%= upload.id %>" style="display:none;position:absolute;">
22
+ <%= render :partial => "mime_edit", :locals => {:id => upload.id, :mime => upload.mime} %>
23
+ </div>
24
+ </td>
25
+ <% if upload.itunes_metadata? %>
26
+ <td>
27
+ <%= task_edit_resource_metadata(_("Edit MetaData") + ' (+/-)', upload.id) %>
28
+ <div id="edit-resource-metadata-<%= upload.id%>" style="display:none;position:absolute;">
29
+ <%= render :partial => "metadata_edit" , :locals => {:id => upload.id, :resource => upload}%>
30
+ </div>
31
+ </td>
32
+ <% else -%>
33
+ <td>
34
+ <%= task_add_resource_metadata(_("Add MetaData") + ' (+/-)', upload.id) %>
35
+ <div id="add-resource-metadata-<%= upload.id%>" style="display:none;position:absolute;">
36
+ <%= render :partial => "metadata_add", :locals => {:id => upload.id} %>
37
+ </div>
38
+ </td>
39
+ <% end -%>
40
+ <td><%=h upload.size rescue 0 -%> bytes</td>
41
+ <td><%=h upload.created_at.strftime('%Y-%m-%d %H:%M:%S') -%></td>
42
+ <td class="operation"><%= link_to _("delete"), {:action => 'destroy', :id => upload.id, :search => params[:search], :page => params[:page] }, :confirm => _("Are you sure?"), :method => :post %></td>
43
+ </tr>
44
+ <% end -%>
45
+ <%= display_pagination(@resources, 6)%>
46
+ </table>
@@ -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", "administration", :ckeditor %>
10
+ <%= javascript_include_tag "prototype", "effects", "builder", "dragdrop", "controls", "typo", "lightbox", "quicktags", "growler", "typo_carousel", "administration", :ckeditor %>
11
11
  <%= calendar_date_select_includes %>
12
12
  </head>
13
13
 
@@ -9,4 +9,4 @@
9
9
  <li>Password : <%= h @user.password %></li>
10
10
  </ul>
11
11
 
12
- <%= render :partial => 'mail_footer' %>
12
+ </div>
@@ -47,7 +47,7 @@ Rails::Initializer.run do |config|
47
47
  config.gem 'RedCloth', :version => '~> 4.2.2'
48
48
  config.gem 'panztel-actionwebservice', :version => '2.3.5', :lib => 'actionwebservice'
49
49
  config.gem 'addressable', :version => '~> 2.1.0', :lib => 'addressable/uri'
50
-
50
+ config.gem 'mini_magick', :version => '~> 1.2.5', :lib => 'mini_magick'
51
51
 
52
52
  # Use the database for sessions instead of the file system
53
53
  # (create the session table with 'rake create_sessions_table')
@@ -65,7 +65,8 @@ AccessControl.map :require => [ :admin, :publisher, :contributor ] do |map|
65
65
  project.submenu "Comments", { :controller => "admin/feedback" }
66
66
  project.submenu "Pages", { :controller => "admin/pages", :action => "index" }
67
67
  project.submenu "Categories", { :controller => "admin/categories", :action => "index" }
68
- project.submenu "Uploads", { :controller => "admin/resources", :action => "index" }
68
+ project.submenu "Files", { :controller => "admin/resources", :action => "index" }
69
+ project.submenu "Images", { :controller => "admin/resources", :action => "images"}
69
70
  project.submenu "Tags", { :controller => "admin/tags", :action => "index" }
70
71
  project.submenu "", { :controller => "admin/comments", :action => "show" }
71
72
  project.submenu "", { :controller => "admin/comments", :action => "new" }
@@ -1 +1,4 @@
1
- ActiveSupport::Inflector.inflections {|i| i.uncountable %w(feedback)}
1
+ ActiveSupport::Inflector.inflections {|i|
2
+ i.uncountable %w(feedback)
3
+ i.singular "page_caches", "page_cache"
4
+ }
data/db/schema.rb CHANGED
@@ -17,10 +17,12 @@ 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", :limit => 15
20
+ t.string "type"
21
21
  t.string "pattern"
22
22
  end
23
23
 
24
+ add_index "blacklist_patterns", ["pattern"], :name => "index_blacklist_patterns_on_pattern"
25
+
24
26
  create_table "blogs", :force => true do |t|
25
27
  t.text "settings"
26
28
  t.string "base_url"
@@ -36,14 +38,14 @@ ActiveRecord::Schema.define(:version => 86) do
36
38
 
37
39
  create_table "categories", :force => true do |t|
38
40
  t.string "name"
39
- t.integer "position", :default => 0, :null => false
41
+ t.integer "position"
40
42
  t.string "permalink"
41
43
  t.text "keywords"
42
44
  t.text "description"
43
45
  t.integer "parent_id"
44
46
  end
45
47
 
46
- add_index "categories", ["permalink"], :name => "categories_permalink_index"
48
+ add_index "categories", ["permalink"], :name => "index_categories_on_permalink"
47
49
 
48
50
  create_table "categorizations", :force => true do |t|
49
51
  t.integer "article_id"
@@ -75,8 +77,8 @@ ActiveRecord::Schema.define(:version => 86) do
75
77
  t.integer "parent_id"
76
78
  end
77
79
 
78
- add_index "contents", ["published"], :name => "contents_published_index"
79
- add_index "contents", ["text_filter_id"], :name => "contents_text_filter_id_index"
80
+ add_index "contents", ["published"], :name => "index_contents_on_published"
81
+ add_index "contents", ["text_filter_id"], :name => "index_contents_on_text_filter_id"
80
82
 
81
83
  create_table "feedback", :force => true do |t|
82
84
  t.string "type"
@@ -101,8 +103,8 @@ ActiveRecord::Schema.define(:version => 86) do
101
103
  t.boolean "status_confirmed"
102
104
  end
103
105
 
104
- add_index "feedback", ["article_id"], :name => "feedback_article_id_index"
105
- add_index "feedback", ["text_filter_id"], :name => "feedback_text_filter_id_index"
106
+ add_index "feedback", ["article_id"], :name => "index_feedback_on_article_id"
107
+ add_index "feedback", ["text_filter_id"], :name => "index_feedback_on_text_filter_id"
106
108
 
107
109
  create_table "notifications", :force => true do |t|
108
110
  t.integer "content_id"
@@ -112,10 +114,10 @@ ActiveRecord::Schema.define(:version => 86) do
112
114
  end
113
115
 
114
116
  create_table "page_caches", :force => true do |t|
115
- t.string "name", :null => false
117
+ t.string "name"
116
118
  end
117
119
 
118
- add_index "page_caches", ["name"], :name => "name"
120
+ add_index "page_caches", ["name"], :name => "index_page_caches_on_name"
119
121
 
120
122
  create_table "pings", :force => true do |t|
121
123
  t.integer "article_id"
@@ -123,7 +125,7 @@ ActiveRecord::Schema.define(:version => 86) do
123
125
  t.datetime "created_at"
124
126
  end
125
127
 
126
- add_index "pings", ["article_id"], :name => "article_id"
128
+ add_index "pings", ["article_id"], :name => "index_pings_on_article_id"
127
129
 
128
130
  create_table "profiles", :force => true do |t|
129
131
  t.string "label"
@@ -164,20 +166,19 @@ ActiveRecord::Schema.define(:version => 86) do
164
166
  end
165
167
 
166
168
  create_table "sessions", :force => true do |t|
167
- t.string "sessid", :limit => 32
169
+ t.string "sessid"
168
170
  t.text "data"
171
+ t.datetime "created_at"
169
172
  t.datetime "updated_at"
170
173
  end
171
174
 
172
- add_index "sessions", ["sessid"], :name => "sessid", :unique => true
173
- add_index "sessions", ["sessid"], :name => "sessions_sessid_index"
175
+ add_index "sessions", ["sessid"], :name => "index_sessions_on_sessid"
174
176
 
175
177
  create_table "sidebars", :force => true do |t|
176
- t.integer "active_position"
177
- t.text "config"
178
- t.integer "staged_position"
179
- t.datetime "updated_at"
180
- t.string "type"
178
+ t.integer "active_position"
179
+ t.text "config"
180
+ t.integer "staged_position"
181
+ t.string "type"
181
182
  end
182
183
 
183
184
  create_table "sitealizer", :force => true do |t|
@@ -205,11 +206,6 @@ ActiveRecord::Schema.define(:version => 86) do
205
206
  t.text "params"
206
207
  end
207
208
 
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
-
213
209
  create_table "triggers", :force => true do |t|
214
210
  t.integer "pending_item_id"
215
211
  t.string "pending_item_type"
@@ -218,10 +214,10 @@ ActiveRecord::Schema.define(:version => 86) do
218
214
  end
219
215
 
220
216
  create_table "users", :force => true do |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
217
+ t.string "login"
218
+ t.string "password"
219
+ t.text "email"
220
+ t.text "name"
225
221
  t.boolean "notify_via_email"
226
222
  t.boolean "notify_on_new_articles"
227
223
  t.boolean "notify_on_comments"
@@ -230,9 +226,9 @@ ActiveRecord::Schema.define(:version => 86) do
230
226
  t.integer "profile_id"
231
227
  t.string "remember_token"
232
228
  t.datetime "remember_token_expires_at"
233
- t.string "text_filter_id", :default => "1"
234
- t.string "editor", :default => "simple"
235
- t.string "state", :default => "active"
229
+ t.string "text_filter_id", :default => "1"
230
+ t.string "editor", :default => "simple"
231
+ t.string "state", :default => "active"
236
232
  t.string "firstname"
237
233
  t.string "lastname"
238
234
  t.string "nickname"
@@ -251,6 +247,4 @@ ActiveRecord::Schema.define(:version => 86) do
251
247
  t.datetime "last_connection"
252
248
  end
253
249
 
254
- add_index "users", ["login"], :name => "login", :unique => true
255
-
256
250
  end