typo 5.1.98 → 5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/app/controllers/admin/blacklist_controller.rb +9 -3
  2. data/app/controllers/admin/content_controller.rb +1 -1
  3. data/app/controllers/admin/feedback_controller.rb +9 -0
  4. data/app/controllers/admin/themes_controller.rb +46 -0
  5. data/app/controllers/comments_controller.rb +5 -1
  6. data/app/helpers/admin/base_helper.rb +2 -1
  7. data/app/helpers/admin/feedback_helper.rb +3 -0
  8. data/app/helpers/application_helper.rb +2 -1
  9. data/app/helpers/theme_helper.rb +5 -1
  10. data/app/models/article.rb +8 -3
  11. data/app/models/blacklist_pattern.rb +2 -0
  12. data/app/models/feedback.rb +7 -1
  13. data/app/views/admin/blacklist/_blacklist_patterns.html.erb +10 -10
  14. data/app/views/admin/blacklist/_form.html.erb +1 -1
  15. data/app/views/admin/blacklist/_quick_post.html.erb +2 -1
  16. data/app/views/admin/categories/_form.html.erb +1 -1
  17. data/app/views/admin/categories/new.html.erb +1 -1
  18. data/app/views/admin/content/_form.html.erb +21 -8
  19. data/app/views/admin/content/index.html.erb +2 -2
  20. data/app/views/admin/dashboard/_comments.html.erb +3 -3
  21. data/app/views/admin/dashboard/_inbound.html.erb +2 -2
  22. data/app/views/admin/dashboard/_popular.html.erb +2 -2
  23. data/app/views/admin/dashboard/_posts.html.erb +2 -2
  24. data/app/views/admin/dashboard/_sysinfo.html.erb +4 -4
  25. data/app/views/admin/dashboard/_typo_dev.html.erb +1 -1
  26. data/app/views/admin/feedback/_button.html.erb +1 -0
  27. data/app/views/admin/feedback/_form.html.erb +1 -1
  28. data/app/views/admin/feedback/_item.html.erb +7 -7
  29. data/app/views/admin/feedback/article.html.erb +1 -1
  30. data/app/views/admin/feedback/edit.html.erb +1 -1
  31. data/app/views/admin/pages/_form.html.erb +2 -2
  32. data/app/views/admin/settings/feedback.html.erb +3 -3
  33. data/app/views/admin/settings/index.html.erb +3 -3
  34. data/app/views/admin/settings/read.html.erb +1 -1
  35. data/app/views/admin/settings/seo.html.erb +1 -1
  36. data/app/views/admin/settings/update_database.html.erb +2 -2
  37. data/app/views/admin/sidebar/index.html.erb +5 -5
  38. data/app/views/admin/themes/catalogue.html.erb +25 -0
  39. data/app/views/admin/themes/editor.html.erb +1 -4
  40. data/app/views/admin/themes/index.html.erb +1 -1
  41. data/app/views/admin/users/index.html.erb +6 -6
  42. data/app/views/articles/_article.html.erb +1 -1
  43. data/app/views/articles/_comment.html.erb +1 -1
  44. data/app/views/articles/comment_preview.html.erb +1 -1
  45. data/app/views/layouts/administration.html.erb +0 -1
  46. data/app/views/trackbacks/trackback.xml.builder +4 -0
  47. data/app/views/xml/feed.atom.builder +1 -1
  48. data/config/environment.rb +2 -0
  49. data/config/initializers/access_rules.rb +1 -0
  50. data/lang/fr_FR.rb +4 -0
  51. data/lib/spam_protection.rb +0 -18
  52. data/lib/tasks/release.rake +3 -1
  53. data/lib/typo_version.rb +1 -1
  54. data/public/javascripts/fckeditor/fckconfig.js +21 -14
  55. data/public/javascripts/fckeditor/fckeditor.js +1 -1
  56. data/public/javascripts/quicktags.js +2 -2
  57. data/public/robots.txt +0 -11
  58. data/public/stylesheets/administration.css +163 -280
  59. data/spec/controllers/articles_controller_spec.rb +8 -0
  60. data/spec/controllers/xml_controller_spec.rb +7 -0
  61. data/spec/models/comment_spec.rb +1 -1
  62. data/spec/models/trackback_spec.rb +4 -1
  63. data/spec/views/articles/index_spec.rb +0 -1
  64. data/themes/dirtylicious/views/articles/_article.html.erb +2 -2
  65. data/themes/dirtylicious/views/articles/_comment.html.erb +1 -1
  66. data/themes/dirtylicious/views/articles/comment_preview.html.erb +1 -1
  67. data/themes/dirtylicious/views/articles/read.html.erb +9 -3
  68. data/themes/scribbish/views/articles/_article.html.erb +2 -2
  69. data/themes/scribbish/views/articles/_comment.html.erb +1 -1
  70. data/themes/scribbish/views/articles/read.html.erb +9 -3
  71. data/themes/standard_issue/views/articles/_article.html.erb +3 -3
  72. data/themes/standard_issue/views/articles/_comment.html.erb +1 -1
  73. data/themes/standard_issue/views/articles/comment_preview.html.erb +1 -1
  74. data/themes/standard_issue/views/articles/read.html.erb +8 -3
  75. data/themes/typographic/views/articles/_article.html.erb +3 -3
  76. data/themes/typographic/views/articles/_comment.html.erb +1 -1
  77. data/themes/typographic/views/articles/comment_preview.html.erb +1 -1
  78. data/themes/typographic/views/articles/read.html.erb +6 -2
  79. data/vendor/plugins/fckeditor/app/controllers/fckeditor_controller.rb +8 -7
  80. data/vendor/plugins/fckeditor/lib/fckeditor_version.rb +1 -1
  81. data/vendor/plugins/xml_sidebar/lib/xml_sidebar.rb +11 -2
  82. data/vendor/plugins/xml_sidebar/views/content.rhtml +6 -6
  83. metadata +176 -157
  84. data/vendor/plugins/fckeditor/Rakefile +0 -72
@@ -5,7 +5,7 @@
5
5
  <% else %>
6
6
  <ul>
7
7
  <% if @typo_links.size == 0 %>
8
- <li <%= alternate_class %>><%= _("Oh no, nothing new") %></li>
8
+ <li><%= _("Oh no, nothing new") %></li>
9
9
  <% else %>
10
10
  <% @typo_links.each do |link| -%>
11
11
  <li <%= alternate_class %>>
@@ -6,4 +6,5 @@
6
6
  <%= submit_tag _("Mark Checked Items as Ham"), {:class => 'submit',:onclick=>"getElementById('bulkop').value='Mark Checked Items as Ham'"} %>
7
7
  <%= submit_tag _("Mark Checked Items as Spam"), {:class => 'submit',:onclick=>"getElementById('bulkop').value='Mark Checked Items as Spam'"} %>
8
8
  <%= submit_tag _("Confirm Classification of Checked Items"), {:class => 'submit', :onclick=>"getElementById('bulkop').value='Confirm Classification of Checked Items'"} %>
9
+ <%= submit_tag _("Delete all spam"), {:class => 'submit', :onclick=>"getElementById('bulkop').value='Delete all spam'"}%>
9
10
  </p>
@@ -1,7 +1,7 @@
1
1
 
2
2
  <%= error_messages_for 'comment' %>
3
3
  <%= hidden_field_tag 'article_id', @article.id %>
4
- <ul class="set admin" id="comment">
4
+ <ul class="admin" id="comment">
5
5
  <li>
6
6
  <label for="comment_author" class="block content"><%= _("Author")%></label>
7
7
  <%= text_field 'comment', 'author', "value" => (current_user.name if controller.action_name == "list") %>
@@ -1,12 +1,12 @@
1
1
  <tr <%= alternate_class %>>
2
- <td class="field first"><input class= "feedback_check" type="checkbox" name="feedback_check[<%= item.id %>]"/></td>
3
- <td class="field"><%= item.state %></td>
4
- <td class="field"><%= link_to item.article.title, :controller => 'feedback', :action => 'article', :id => item.article_id %></td>
5
- <td class="field">
2
+ <td><input class= "feedback_check" type="checkbox" name="feedback_check[<%= item.id %>]"/></td>
3
+ <td class='<%= comment_class item.state %>'><%= item.state %></td>
4
+ <td><%= link_to item.article.title, :controller => 'feedback', :action => 'article', :id => item.article_id %></td>
5
+ <td>
6
6
  <%= link_to_unless item.url.blank?, ((item.author || '(unknown)').slice(0,40)), item.url %><br />
7
7
  <%=h item.email.to_s.slice(0,40) %>
8
8
  </td>
9
- <td class="field" id="feedback_<%=item.id%>">
10
- <%=link_to_remote(h(truncate(item.body, :length => 100)), :url => { :action => 'preview', :id => item.id })%></td>
11
- <td class="field"><%=h item.ip %></td>
9
+ <td id="feedback_<%=item.id%>">
10
+ <%=link_to_remote(simple_format(h(truncate(item.body, :length => 100))), :url => { :action => 'preview', :id => item.id })%></td>
11
+ <td><%=h item.ip %></td>
12
12
  </tr>
@@ -13,7 +13,7 @@
13
13
  <p><strong><%= mail_to h(comment.email), h(comment.author) %></strong> |
14
14
  <%= link_to_unless comment.url.blank?, h(comment.url), comment.url %> |
15
15
  IP: <%=h comment.ip %></p>
16
- <%= comment.body %>
16
+ <%= simple_format(h(comment.body)) %>
17
17
  <p>
18
18
  <%= comment.created_at.strftime("%m/%d/%Y %H:%M") %> – [
19
19
  <%= link_to_edit _("Edit"), comment %> |
@@ -2,7 +2,7 @@
2
2
 
3
3
  <% form_tag :action => "update", :id => @comment.id do %>
4
4
 
5
- <div class="admin set">
5
+ <div class="admin">
6
6
  <%= render :partial => "form" %>
7
7
  </div>
8
8
 
@@ -1,6 +1,6 @@
1
1
  <%= error_messages_for 'page' %>
2
2
  <!--[form:pages]-->
3
- <ul class="set admin">
3
+ <ul class="admin">
4
4
  <li>
5
5
  <label for="page_title" class="block title"><%= _("Title")%></label>
6
6
  <%= text_field 'page', 'title', :class => 'large' %>
@@ -8,7 +8,7 @@
8
8
  <li>
9
9
  <div style="float: right; width: 230px;">
10
10
  <label class="block content"><%= _("Options") %></label>
11
- <p class="paginate r paginate_1">
11
+ <p class="paginate r">
12
12
  <label for="page_name"><%= _("Permalink")%>:</label><br />
13
13
  <%= text_field 'page', 'name', :size => 25 %>
14
14
  <label for="page_published"><%= _("Online")%>:</label>
@@ -3,7 +3,7 @@
3
3
 
4
4
  <% form_tag :action => 'update' do %>
5
5
  <div class="admin">
6
- <fieldset id="discuss" class="set">
6
+ <fieldset id="discuss">
7
7
  <legend><%= _("Feedback")%></legend>
8
8
  <ul>
9
9
  <li class="checkbox">
@@ -43,7 +43,7 @@
43
43
  </ul>
44
44
  </fieldset>
45
45
 
46
- <fieldset id="notification" class="set">
46
+ <fieldset id="notification">
47
47
  <legend><%= _("Notification")%></legend>
48
48
  <ul>
49
49
  <li><%= _("Typo can notify you when new articles or comments are posted")%></li>
@@ -55,7 +55,7 @@
55
55
  </ul>
56
56
  </fieldset>
57
57
 
58
- <fieldset id="spam" class="set">
58
+ <fieldset id="spam">
59
59
  <legend><%= _("Spam")%></legend>
60
60
  <ul>
61
61
  <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>
@@ -4,8 +4,8 @@
4
4
  <% form_tag :action => 'update' do %>
5
5
 
6
6
  <div class="admin">
7
- <fieldset id="gensettings" class="set">
8
- <legend><%= _("General options")%></legend>
7
+ <fieldset>
8
+ <legend><%= _("Your blog")%></legend>
9
9
  <ul>
10
10
  <li>
11
11
  <label for="blog_name" class="float"><%= _("Blog name")%>:</label>
@@ -38,7 +38,7 @@
38
38
  </ul>
39
39
  </fieldset>
40
40
 
41
- <fieldset id="Cache" class="set">
41
+ <fieldset id="Cache">
42
42
  <legend><%= _("Cache")%></legend>
43
43
  <ul>
44
44
  <li>
@@ -3,7 +3,7 @@
3
3
  <% form_tag :action => 'update' do %>
4
4
 
5
5
  <div class="admin">
6
- <fieldset id="read" class="set">
6
+ <fieldset id="read">
7
7
  <ul>
8
8
  <li>
9
9
  <label for="limit_article_display" class="float"><%= _("Display")%> </label>
@@ -3,7 +3,7 @@
3
3
 
4
4
  <% form_tag :action => 'update' do %>
5
5
  <div class="admin">
6
- <fieldset class="set">
6
+ <fieldset>
7
7
  <legend><%= _("Search Engine Optimisation")%></legend>
8
8
  <ul>
9
9
  <li>
@@ -2,7 +2,7 @@
2
2
  <% subtabs_for(:settings) %>
3
3
 
4
4
  <div id="settings">
5
- <div id="gensettings" class="set">
5
+ <div id="gensettings">
6
6
  <h3><%= _("Information")%></h3>
7
7
  <p>
8
8
  <label><%= _("Current database version")%>:</label>
@@ -19,7 +19,7 @@
19
19
  </div>
20
20
 
21
21
  <% unless @needed_migrations.blank? %>
22
- <div id="need" class="set">
22
+ <div id="need">
23
23
  <h3><%= _("Needed migrations")%></h3>
24
24
  <ul>
25
25
  <% for migration in @needed_migrations %>
@@ -13,18 +13,18 @@
13
13
 
14
14
  <div id="sidebar-config">
15
15
  <div id="available" class="dropbox">
16
- <h3><%= _("Available Items")%></h3>
16
+ <h2><%= _("Available Items")%></h2>
17
17
  <div id="available_box">
18
18
  <%= render :partial => 'availables', :object => @available %>
19
19
  </div>
20
20
  </div>
21
21
 
22
22
  <div id="cnt-active">
23
- <h3 id="hdr-active">
23
+ <h2 id="hdr-active">
24
24
  <%= _("Active Sidebar items")%>
25
25
  <%= image_tag "spinner-blue.gif", :id => 'update_spinner',
26
26
  :style => 'display:none;' -%>
27
- </h3>
27
+ </h2>
28
28
  <div id="active" class="dropbox">
29
29
  <%= render :partial => 'actives', :object => @active %>
30
30
  </div>
@@ -37,8 +37,8 @@
37
37
 
38
38
  </div>
39
39
 
40
- <h2><%= _("Get more themes") %></h2>
41
- <p>You can download and install sidebar plugins from our official <a href="http://typosphere.org/wiki/typo/Finding_Typo_Plugins">plugin repository</a>. All you have to do is upload the theme directory in your vendor/plugins directory. You can aso run</p>
40
+ <h2><%= _("Get more plugins") %></h2>
41
+ <p>You can download and install sidebar plugins from our official <a href="http://wiki.github.com/fdv/typo/typo-plugins-list">plugin repository</a>. All you have to do is upload the theme directory in your vendor/plugins directory. You can aso run</p>
42
42
 
43
43
  <p><code>script/plugins install http://svn.typosphere.org/plugins/myplugin.</code></p>
44
44
 
@@ -0,0 +1,25 @@
1
+ <% @page_heading = _('Theme catalogue') %>
2
+ <% subtabs_for(:themes) %>
3
+
4
+ <% if @error %>
5
+ <p><%= _("Sorry the theme catalogue is not available") %></p>
6
+ <% end %>
7
+
8
+ <% i = 0 %>
9
+ <% for theme in @themes %>
10
+ <% i = i+1 %>
11
+
12
+ <div class="theme">
13
+ <div>
14
+ <%= link_to(image_tag(theme.image), theme.url) %>
15
+ <h3><%= theme.name %> created by <%= theme.author %></h3>
16
+ <p><%= theme.description %></p>
17
+ </div>
18
+ </div>
19
+ <% if i == 3 %>
20
+ <% i = 0%>
21
+ <hr class="clear" />
22
+ <% end %>
23
+
24
+ <% end %>
25
+ <hr class="clear" />
@@ -1,8 +1,5 @@
1
1
  <% @page_heading = _('Theme editor') %>
2
- <% content_for('tasks') do %>
3
- <%= subtab _("Choose themes"), "", {:controller=>"themes", :action=>"index"} %>
4
- <%= subtab _("Theme editor"), "current", {:controller=>"themes", :action=>"editor"} %>
5
- <% end %>
2
+ <% subtabs_for(:themes) %>
6
3
 
7
4
  <div id="theme_list">
8
5
  <h3>Stylesheets</h3>
@@ -4,7 +4,7 @@
4
4
  <% i = 0 %>
5
5
  <% for theme in @themes %>
6
6
  <% i = i+1 %>
7
- <div class="set theme">
7
+ <div class="theme">
8
8
  <div>
9
9
  <% if theme.path == @active.path -%>
10
10
  <%= image_tag(url_for(:action => 'preview', :theme => theme.name, :skip_relative_url_root => true)) %>
@@ -16,12 +16,12 @@
16
16
  </tr>
17
17
  <% for user in @users -%>
18
18
  <tr <%= alternate_class %>>
19
- <td class="field"><%= link_to_edit user.login, user%></td>
20
- <td class="field"> <%= user.name %></td>
21
- <td class="field"><%= mail_to user.email, user.login%></td>
22
- <td class="field"><%= _(user.profile.nicename) %></td>
23
- <td class="field"><%= Article.count :conditions => "user_id = #{user.id}" %></td>
24
- <td class="field"><%= Comment.count :conditions => "user_id = #{user.id}" %></td>
19
+ <td><%= link_to_edit user.login, user%></td>
20
+ <td> <%= user.name %></td>
21
+ <td><%= mail_to user.email, user.login%></td>
22
+ <td><%= _(user.profile.nicename) %></td>
23
+ <td><%= Article.count :conditions => "user_id = #{user.id}" %></td>
24
+ <td><%= Comment.count :conditions => "user_id = #{user.id}" %></td>
25
25
  </tr>
26
26
  <% end -%>
27
27
  <tr><td colspan="8" class="paginate"><%= will_paginate @users %></td></tr>
@@ -1,4 +1,4 @@
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
- <%= html article, :body %>
4
+ <%= simple_format(html(article, :body)) %>
@@ -3,7 +3,7 @@
3
3
  <a name="comment-<%= comment.id %>"></a>
4
4
  <%= gravatar_tag(comment.email) if this_blog.use_gravatar and comment.email %>
5
5
  <cite><strong><%= link_to_unless(comment.url.blank?, h(comment.author), comment.url) %></strong> </cite> <%= _("said")%> <%= distance_of_time_in_words comment.article.published_at, comment.created_at %> later:<br />
6
- <%= comment.generate_html(:body) %>
6
+ <%= simple_format comment.generate_html(:body) %>
7
7
  <% unless comment.published -%>
8
8
  <div class="spamwarning"><%= _("This comment has been flagged for moderator approval. It won't appear on this blog until the author approves it")%>.</div>
9
9
  <% end -%>
@@ -1,3 +1,3 @@
1
1
  <%= gravatar_tag(@comment.email) if this_blog.use_gravatar and @comment.email %>
2
2
  <cite><strong><%=h @comment[:author] %></strong></cite> <%= _("is about to say")%>:<br />
3
- <%= @comment.html %>
3
+ <%= simple_format @comment.html %>
@@ -33,7 +33,6 @@
33
33
  </div>
34
34
  <% end %>
35
35
 
36
-
37
36
  <div id="overall">
38
37
  <% if flash[:notice] or flash[:error] %>
39
38
  <div id="flash">
@@ -0,0 +1,4 @@
1
+ xml.instruct! :xml, :version => '1.0', :encoding => 'UTF-8'
2
+ xml.response do |res|
3
+ res.error 0
4
+ end
@@ -1,7 +1,7 @@
1
1
  xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
2
2
  xml.feed "xml:lang" => "en-US", "xmlns" => 'http://www.w3.org/2005/Atom' do
3
3
  xml.title feed_title
4
- if(not this_blog.blog_subtitle.blank?)
4
+ unless this_blog.blog_subtitle.blank?
5
5
  xml.subtitle this_blog.blog_subtitle, "type"=>"html"
6
6
  end
7
7
  xml.id "tag:#{@controller.request.host},2005:Typo"
@@ -47,6 +47,8 @@ Rails::Initializer.run do |config|
47
47
  # Declare the gems in vendor/gems, so that we can easily freeze and/or
48
48
  # install them.
49
49
  config.gem 'coderay'
50
+ config.gem 'htmlentities'
51
+ config.gem 'json'
50
52
 
51
53
  # Force all environments to use the same logger level
52
54
  # (by default production uses :info, the others :debug)
@@ -83,6 +83,7 @@ AccessControl.map :require => [ :admin, :publisher, :contributor ] do |map|
83
83
  project.menu "Design", { :controller => "admin/themes", :action => "index" }
84
84
  project.submenu "Theme editor", { :controller => "admin/themes", :action => "editor" }
85
85
  project.submenu "Sidebar", { :controller => "admin/sidebar", :action => "index" }
86
+ project.submenu "Theme catalogue", { :controller => "admin/themes", :action => "catalogue" }
86
87
  end
87
88
 
88
89
  map.project_module :settings, nil do |project|
@@ -446,6 +446,10 @@ Localization.define('fr_FR') do |l|
446
446
  l.store "Active theme", "Thème actif"
447
447
  l.store "You can download third party themes from officially supported %s ", "Vous pouvez télécharger des thèmes officiellement supportés sur %s "
448
448
  l.store "dev 411 Typo themes viewer", "le visualisateur de thèmes de dev411"
449
+
450
+ #admin/themes/catalogue.html.erb
451
+ l.store "Theme catalogue", "Catalogue de thème"
452
+ l.store "Sorry the theme catalogue is not available", "Désolé le catalogue de thème n'est pas disponible"
449
453
 
450
454
  #admin/trackbacks/edit.rhtml
451
455
  l.store "Trackbacks for", "Rétroliens pour"
@@ -10,15 +10,6 @@ class SpamProtection
10
10
  self.this_blog = a_blog
11
11
  end
12
12
 
13
- def article_closed?(record)
14
- return false if this_blog.sp_article_auto_close.zero? or not record.new_record?
15
-
16
- if record.article.published_at.to_i < this_blog.sp_article_auto_close.days.ago.to_i
17
- logger.info("[SP] Blocked interaction with #{record.article.title}")
18
- return true
19
- end
20
- end
21
-
22
13
  def is_spam?(string)
23
14
  return false unless this_blog.sp_global
24
15
  return false if string.blank?
@@ -124,15 +115,6 @@ module ActiveRecord
124
115
  record.errors.add(attr_name, configuration[:message]) if SpamProtection.new(record.blog).is_spam?(value)
125
116
  end
126
117
  end
127
- def validates_age_of(*attr_names)
128
- configuration = { :on => :create, :message => "points to an item that is no longer available for interaction"}
129
- configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash)
130
-
131
- validates_each(attr_names, configuration) do |record, attr_name, value|
132
- next unless value.to_i > 0
133
- record.errors.add(attr_name, configuration[:message]) if SpamProtection.new(record.blog).article_closed?(record)
134
- end
135
- end
136
118
  end
137
119
  end
138
120
  end
@@ -1,7 +1,7 @@
1
1
  require 'rake/gempackagetask'
2
2
  require 'rake/contrib/rubyforgepublisher'
3
3
 
4
- PKG_VERSION = "5.1.98"
4
+ PKG_VERSION = "5.2"
5
5
  PKG_NAME = "typo"
6
6
  PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
7
7
  RUBY_FORGE_PROJECT = 'typo'
@@ -36,6 +36,8 @@ spec = Gem::Specification.new do |s|
36
36
  s.add_dependency("rails-app-installer", ">= 0.2.0")
37
37
  s.add_dependency("ruby-debug", ">= 0.10.3")
38
38
  s.add_dependency("flexmock", ">= 0.8.3")
39
+ s.add_dependency("htmlentities", "4.0.0")
40
+ s.add_dependency("json", ">=1.1.3")
39
41
  end
40
42
 
41
43
  Rake::GemPackageTask.new(spec) do |p|
@@ -1 +1 @@
1
- TYPO_VERSION = '5.1.99'
1
+ TYPO_VERSION = '5.2'
@@ -50,9 +50,9 @@ FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCK
50
50
 
51
51
  FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;
52
52
 
53
- //FCKConfig.Plugins.Add( 'autogrow' ) ;
54
- //FCKConfig.Plugins.Add( 'dragresizetable' );
55
- // FCKConfig.AutoGrowMax = 400 ;
53
+ // FCKConfig.Plugins.Add( 'autogrow' ) ;
54
+ // FCKConfig.Plugins.Add( 'dragresizetable' );
55
+ FCKConfig.AutoGrowMax = 400 ;
56
56
 
57
57
  // FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ; // ASP style server side code <%...%>
58
58
  // FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ; // PHP style server side code
@@ -97,13 +97,20 @@ FCKConfig.TemplateReplaceCheckbox = true ;
97
97
  FCKConfig.ToolbarLocation = 'In' ;
98
98
 
99
99
  FCKConfig.ToolbarSets["Default"] = [
100
- ['FontFormat','Bold', 'Italic', 'StrikeThrough'],
101
- ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
102
- ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
103
- ['Link','Unlink'],
104
- ['Image','Flash', 'Smiley'],
105
- ['FitWindow','SpellCheck'],
106
- ['RemoveFormat', '-', 'Source']
100
+ ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
101
+ ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
102
+ ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
103
+ ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
104
+ '/',
105
+ ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
106
+ ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
107
+ ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
108
+ ['Link','Unlink','Anchor'],
109
+ ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
110
+ '/',
111
+ ['Style','FontFormat','FontName','FontSize'],
112
+ ['TextColor','BGColor'],
113
+ ['FitWindow','ShowBlocks','-','About'] // No comma for the last row.
107
114
  ] ;
108
115
 
109
116
  FCKConfig.ToolbarSets["Basic"] = [
@@ -141,8 +148,8 @@ FCKConfig.BrowserContextMenuOnCtrl = false ;
141
148
  FCKConfig.EnableMoreFontColors = true ;
142
149
  FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ;
143
150
 
144
- FCKConfig.FontFormats = 'p;h1;h2;h3;h4;h5;pre;address;div' ;
145
- FCKConfig.FontNames = 'Arial;Courier New;Tahoma;Times New Roman;Verdana' ;
151
+ FCKConfig.FontFormats = 'p;h1;h2;h3;h4;h5;h6;pre;address;div' ;
152
+ FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
146
153
  FCKConfig.FontSizes = 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;
147
154
 
148
155
  FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'fckstyles.xml' ;
@@ -261,8 +268,8 @@ FCKConfig.JustifyClasses = [] ;
261
268
  // inline when creating the editor instance. In that cases you must set the
262
269
  // values of LinkBrowserURL, ImageBrowserURL and so on.
263
270
  // Custom implementations should just ignore it.
264
- var _FileBrowserLanguage = 'perl' ; // asp | aspx | cfm | lasso | perl | php | py
265
- var _QuickUploadLanguage = 'perl' ; // asp | aspx | cfm | lasso | perl | php | py
271
+ var _FileBrowserLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py
272
+ var _QuickUploadLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py
266
273
 
267
274
  // Don't care about the following two lines. It just calculates the correct connector
268
275
  // extension to use for the default File Browser (Perl uses "cgi").