ckeditor 3.7.1 → 3.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. data/README.rdoc +12 -10
  2. data/app/assets/javascripts/ckeditor/config.js +98 -0
  3. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/gal_add.jpg +0 -0
  4. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/gal_add.png +0 -0
  5. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/gal_del.png +0 -0
  6. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/gal_more.gif +0 -0
  7. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/preloader.gif +0 -0
  8. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/avi.gif +0 -0
  9. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/ckfnothumb.gif +0 -0
  10. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/doc.gif +0 -0
  11. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/docx.gif +0 -0
  12. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/exe.gif +0 -0
  13. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/gz.gif +0 -0
  14. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/htm.gif +0 -0
  15. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/jpg.gif +0 -0
  16. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/mp3.gif +0 -0
  17. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/mpg.gif +0 -0
  18. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/pdf.gif +0 -0
  19. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/psd.gif +0 -0
  20. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/rar.gif +0 -0
  21. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/swf.gif +0 -0
  22. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/tar.gif +0 -0
  23. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/txt.gif +0 -0
  24. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/unknown.gif +0 -0
  25. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/wmv.gif +0 -0
  26. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/xls.gif +0 -0
  27. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/xlsx.gif +0 -0
  28. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/images/thumbs/zip.gif +0 -0
  29. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/javascripts/application.js +0 -0
  30. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +0 -0
  31. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.min.js +0 -0
  32. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.tmpl.min.js +0 -0
  33. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/javascripts/rails.js +0 -0
  34. data/{vendor → app}/assets/javascripts/ckeditor/filebrowser/stylesheets/uploader.css +0 -0
  35. data/{vendor → app}/assets/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +0 -0
  36. data/{vendor → app}/assets/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
  37. data/{vendor → app}/assets/javascripts/ckeditor/plugins/attachment/lang/en.js +0 -0
  38. data/{vendor → app}/assets/javascripts/ckeditor/plugins/attachment/lang/ru.js +0 -0
  39. data/{vendor → app}/assets/javascripts/ckeditor/plugins/attachment/lang/uk.js +0 -0
  40. data/{vendor → app}/assets/javascripts/ckeditor/plugins/attachment/plugin.js +0 -0
  41. data/{vendor → app}/assets/javascripts/ckeditor/plugins/embed/dialogs/embed.js +0 -0
  42. data/{vendor → app}/assets/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
  43. data/{vendor → app}/assets/javascripts/ckeditor/plugins/embed/lang/el.js +0 -0
  44. data/{vendor → app}/assets/javascripts/ckeditor/plugins/embed/lang/en.js +0 -0
  45. data/{vendor → app}/assets/javascripts/ckeditor/plugins/embed/lang/ru.js +0 -0
  46. data/{vendor → app}/assets/javascripts/ckeditor/plugins/embed/lang/uk.js +0 -0
  47. data/{vendor → app}/assets/javascripts/ckeditor/plugins/embed/plugin.js +0 -0
  48. data/config/locales/it.ckeditor.yml +8 -0
  49. data/config/locales/nl.ckeditor.yml +8 -0
  50. data/lib/ckeditor/helpers/view_helper.rb +1 -1
  51. data/lib/ckeditor/utils.rb +15 -3
  52. data/lib/ckeditor/version.rb +2 -2
  53. data/lib/ckeditor.rb +6 -7
  54. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/attachment_file.rb +4 -4
  55. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/picture.rb +4 -4
  56. data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +6 -6
  57. data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +6 -6
  58. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +1 -1
  59. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +1 -1
  60. data/lib/generators/ckeditor/templates/base/dragonfly/initializer.rb +3 -3
  61. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/attachment_file.rb +4 -4
  62. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/picture.rb +4 -4
  63. data/test/dummy/db/test.sqlite3 +0 -0
  64. data/test/dummy/log/test.log +6716 -11138
  65. data/test/dummy/script/rails +0 -0
  66. data/vendor/assets/javascripts/ckeditor/CHANGES.html +45 -0
  67. data/vendor/assets/javascripts/ckeditor/ckeditor.js +123 -122
  68. data/vendor/assets/javascripts/ckeditor/ckeditor_basic.js +1 -1
  69. data/vendor/assets/javascripts/ckeditor/ckeditor_basic_source.js +1 -1
  70. data/vendor/assets/javascripts/ckeditor/ckeditor_source.js +1 -1
  71. data/vendor/assets/javascripts/ckeditor/config.js +4 -90
  72. data/vendor/assets/javascripts/ckeditor/lang/_translationstatus.txt +61 -60
  73. data/vendor/assets/javascripts/ckeditor/lang/af.js +1 -1
  74. data/vendor/assets/javascripts/ckeditor/lang/ar.js +1 -1
  75. data/vendor/assets/javascripts/ckeditor/lang/bg.js +1 -1
  76. data/vendor/assets/javascripts/ckeditor/lang/bn.js +1 -1
  77. data/vendor/assets/javascripts/ckeditor/lang/bs.js +1 -1
  78. data/vendor/assets/javascripts/ckeditor/lang/ca.js +1 -1
  79. data/vendor/assets/javascripts/ckeditor/lang/cs.js +1 -1
  80. data/vendor/assets/javascripts/ckeditor/lang/cy.js +1 -1
  81. data/vendor/assets/javascripts/ckeditor/lang/da.js +1 -1
  82. data/vendor/assets/javascripts/ckeditor/lang/de.js +1 -1
  83. data/vendor/assets/javascripts/ckeditor/lang/el.js +1 -1
  84. data/vendor/assets/javascripts/ckeditor/lang/en-au.js +1 -1
  85. data/vendor/assets/javascripts/ckeditor/lang/en-ca.js +1 -1
  86. data/vendor/assets/javascripts/ckeditor/lang/en-gb.js +1 -1
  87. data/vendor/assets/javascripts/ckeditor/lang/en.js +1 -1
  88. data/vendor/assets/javascripts/ckeditor/lang/eo.js +1 -1
  89. data/vendor/assets/javascripts/ckeditor/lang/es.js +1 -1
  90. data/vendor/assets/javascripts/ckeditor/lang/et.js +1 -1
  91. data/vendor/assets/javascripts/ckeditor/lang/eu.js +1 -1
  92. data/vendor/assets/javascripts/ckeditor/lang/fa.js +1 -1
  93. data/vendor/assets/javascripts/ckeditor/lang/fi.js +1 -1
  94. data/vendor/assets/javascripts/ckeditor/lang/fo.js +1 -1
  95. data/vendor/assets/javascripts/ckeditor/lang/fr-ca.js +1 -1
  96. data/vendor/assets/javascripts/ckeditor/lang/fr.js +1 -1
  97. data/vendor/assets/javascripts/ckeditor/lang/gl.js +1 -1
  98. data/vendor/assets/javascripts/ckeditor/lang/gu.js +1 -1
  99. data/vendor/assets/javascripts/ckeditor/lang/he.js +1 -1
  100. data/vendor/assets/javascripts/ckeditor/lang/hi.js +1 -1
  101. data/vendor/assets/javascripts/ckeditor/lang/hr.js +1 -1
  102. data/vendor/assets/javascripts/ckeditor/lang/hu.js +1 -1
  103. data/vendor/assets/javascripts/ckeditor/lang/id.js +6 -0
  104. data/vendor/assets/javascripts/ckeditor/lang/is.js +1 -1
  105. data/vendor/assets/javascripts/ckeditor/lang/it.js +1 -1
  106. data/vendor/assets/javascripts/ckeditor/lang/ja.js +1 -1
  107. data/vendor/assets/javascripts/ckeditor/lang/ka.js +1 -1
  108. data/vendor/assets/javascripts/ckeditor/lang/km.js +1 -1
  109. data/vendor/assets/javascripts/ckeditor/lang/ko.js +1 -1
  110. data/vendor/assets/javascripts/ckeditor/lang/lt.js +1 -1
  111. data/vendor/assets/javascripts/ckeditor/lang/lv.js +1 -1
  112. data/vendor/assets/javascripts/ckeditor/lang/mk.js +1 -1
  113. data/vendor/assets/javascripts/ckeditor/lang/mn.js +1 -1
  114. data/vendor/assets/javascripts/ckeditor/lang/ms.js +1 -1
  115. data/vendor/assets/javascripts/ckeditor/lang/nb.js +1 -1
  116. data/vendor/assets/javascripts/ckeditor/lang/nl.js +1 -1
  117. data/vendor/assets/javascripts/ckeditor/lang/no.js +1 -1
  118. data/vendor/assets/javascripts/ckeditor/lang/pl.js +1 -1
  119. data/vendor/assets/javascripts/ckeditor/lang/pt-br.js +1 -1
  120. data/vendor/assets/javascripts/ckeditor/lang/pt.js +1 -1
  121. data/vendor/assets/javascripts/ckeditor/lang/ro.js +1 -1
  122. data/vendor/assets/javascripts/ckeditor/lang/ru.js +1 -1
  123. data/vendor/assets/javascripts/ckeditor/lang/sk.js +1 -1
  124. data/vendor/assets/javascripts/ckeditor/lang/sl.js +1 -1
  125. data/vendor/assets/javascripts/ckeditor/lang/sr-latn.js +1 -1
  126. data/vendor/assets/javascripts/ckeditor/lang/sr.js +1 -1
  127. data/vendor/assets/javascripts/ckeditor/lang/sv.js +1 -1
  128. data/vendor/assets/javascripts/ckeditor/lang/th.js +1 -1
  129. data/vendor/assets/javascripts/ckeditor/lang/tr.js +1 -1
  130. data/vendor/assets/javascripts/ckeditor/lang/ug.js +1 -1
  131. data/vendor/assets/javascripts/ckeditor/lang/uk.js +1 -1
  132. data/vendor/assets/javascripts/ckeditor/lang/vi.js +1 -1
  133. data/vendor/assets/javascripts/ckeditor/lang/zh-cn.js +1 -1
  134. data/vendor/assets/javascripts/ckeditor/lang/zh.js +1 -1
  135. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt +4 -2
  136. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/lang/da.js +1 -1
  137. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/lang/el.js +1 -1
  138. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/lang/pt-br.js +6 -0
  139. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/lang/ro.js +6 -0
  140. data/vendor/assets/javascripts/ckeditor/plugins/devtools/lang/_translationstatus.txt +1 -0
  141. data/vendor/assets/javascripts/ckeditor/plugins/devtools/lang/pt-br.js +6 -0
  142. data/vendor/assets/javascripts/ckeditor/plugins/devtools/plugin.js +1 -1
  143. data/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +2 -2
  144. data/vendor/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +3 -3
  145. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  146. data/vendor/assets/javascripts/ckeditor/plugins/placeholder/lang/_translationstatus.txt +2 -1
  147. data/vendor/assets/javascripts/ckeditor/plugins/placeholder/lang/da.js +1 -1
  148. data/vendor/assets/javascripts/ckeditor/plugins/placeholder/lang/pt-br.js +6 -0
  149. data/vendor/assets/javascripts/ckeditor/plugins/placeholder/lang/vi.js +1 -1
  150. data/vendor/assets/javascripts/ckeditor/plugins/placeholder/plugin.js +1 -1
  151. data/vendor/assets/javascripts/ckeditor/plugins/preview/preview.html +10 -0
  152. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/lang/_translationstatus.txt +3 -0
  153. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/lang/el.js +6 -0
  154. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/lang/he.js +6 -0
  155. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/lang/pt-br.js +6 -0
  156. data/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -1
  157. data/vendor/assets/javascripts/ckeditor/plugins/uicolor/lang/_translationstatus.txt +1 -0
  158. data/vendor/assets/javascripts/ckeditor/plugins/uicolor/lang/pt-br.js +6 -0
  159. data/vendor/assets/javascripts/ckeditor/plugins/uicolor/plugin.js +1 -1
  160. data/vendor/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +1 -1
  161. data/vendor/assets/javascripts/ckeditor/skins/kama/dialog.css +5 -5
  162. data/vendor/assets/javascripts/ckeditor/skins/office2003/dialog.css +5 -4
  163. data/vendor/assets/javascripts/ckeditor/skins/v2/dialog.css +4 -4
  164. metadata +445 -422
data/README.rdoc CHANGED
@@ -68,6 +68,10 @@ Mount engine in your routes (config/routes.rb):
68
68
 
69
69
  mount Ckeditor::Engine => "/ckeditor"
70
70
 
71
+ Procompile ckeditor js and css files (config/environments/production.rb):
72
+
73
+ config.assets.precompile += Ckeditor.assets
74
+
71
75
  Include ckeditor javascripts rails 3.2:
72
76
 
73
77
  //= require ckeditor/init
@@ -88,18 +92,16 @@ Form helpers:
88
92
  cktext_area_tag("content", "Ckeditor", :input_html => {:cols => 10, :rows => 20}, :toolbar => 'Easy')
89
93
 
90
94
  * input_html - Options for text_area tag, others for ckeditor javascript configuration.
91
- * language - appends automatically, by default is I18n.locale
95
+ * language - appends automatically, by default it's I18n.locale
92
96
  * available ckeditor options - http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html
93
97
 
94
- For configure ckeditor default options check:
98
+ In order to configure the ckeditor default options, create files:
95
99
 
96
- public/javascripts/ckeditor/config.js
97
-
98
- This stylesheet use editor for displaying edit area:
100
+ app/assets/javascripts/ckeditor/config.js
99
101
 
100
- public/javascripts/ckeditor/contents.css
101
-
102
- FormBuilder helper for more usefully:
102
+ app/assets/javascripts/ckeditor/contents.css
103
+
104
+ Here's a FormBuilder helper example:
103
105
 
104
106
  <%= form_for @page do |form| -%>
105
107
  ...
@@ -112,7 +114,7 @@ FormBuilder helper for more usefully:
112
114
 
113
115
  === AJAX
114
116
 
115
- Jquery sample:
117
+ jQuery sample:
116
118
 
117
119
  <script type='text/javascript' charset='UTF-8'>
118
120
  $(document).ready(function(){
@@ -146,7 +148,7 @@ For example, you need split assets collection for each user.
146
148
  end
147
149
  end
148
150
 
149
- If your wont filter only pictures or attachment_files - redefine methods "ckeditor_pictures_scope" or "ckeditor_attachment_files_scope" respectively.
151
+ If you want to filter only pictures or attachment_files - redefine methods "ckeditor_pictures_scope" or "ckeditor_attachment_files_scope" respectively.
150
152
  By default, both these methods call "ckeditor_filebrowser_scope" method:
151
153
 
152
154
  class ApplicationController < ActionController::Base
@@ -0,0 +1,98 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ jQuery.noConflict();
7
+
8
+ CKEDITOR.editorConfig = function( config )
9
+ {
10
+ // Define changes to default configuration here. For example:
11
+ // config.language = 'fr';
12
+ // config.uiColor = '#AADC6E';
13
+
14
+ /* Filebrowser routes */
15
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed.
16
+ config.filebrowserBrowseUrl = "/ckeditor/attachment_files";
17
+
18
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Flash dialog.
19
+ config.filebrowserFlashBrowseUrl = "/ckeditor/attachment_files";
20
+
21
+ // The location of a script that handles file uploads in the Flash dialog.
22
+ config.filebrowserFlashUploadUrl = "/ckeditor/attachment_files";
23
+
24
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Link tab of Image dialog.
25
+ config.filebrowserImageBrowseLinkUrl = "/ckeditor/pictures";
26
+
27
+ // The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Image dialog.
28
+ config.filebrowserImageBrowseUrl = "/ckeditor/pictures";
29
+
30
+ // The location of a script that handles file uploads in the Image dialog.
31
+ config.filebrowserImageUploadUrl = "/ckeditor/pictures";
32
+
33
+ // The location of a script that handles file uploads.
34
+ config.filebrowserUploadUrl = "/ckeditor/attachment_files";
35
+
36
+ // Rails CSRF token
37
+ config.filebrowserParams = function(){
38
+ var csrf_token = jQuery('meta[name=csrf-token]').attr('content'),
39
+ csrf_param = jQuery('meta[name=csrf-param]').attr('content'),
40
+ params = new Object();
41
+
42
+ if (csrf_param !== undefined && csrf_token !== undefined) {
43
+ params[csrf_param] = csrf_token;
44
+ }
45
+
46
+ return params;
47
+ };
48
+
49
+ config.addQueryString = function( url, params ){
50
+ var queryString = [];
51
+
52
+ if ( !params ) {
53
+ return url;
54
+ } else {
55
+ for ( var i in params )
56
+ queryString.push( i + "=" + encodeURIComponent( params[ i ] ) );
57
+ }
58
+
59
+ return url + ( ( url.indexOf( "?" ) != -1 ) ? "&" : "?" ) + queryString.join( "&" );
60
+ };
61
+
62
+ // Integrate Rails CSRF token into file upload dialogs (link, image, attachment and flash)
63
+ CKEDITOR.on( 'dialogDefinition', function( ev ){
64
+ // Take the dialog name and its definition from the event data.
65
+ var dialogName = ev.data.name;
66
+ var dialogDefinition = ev.data.definition;
67
+ var content, upload;
68
+
69
+ if (jQuery.inArray(dialogName, ['link', 'image', 'attachment', 'flash']) > -1) {
70
+ content = (dialogDefinition.getContents('Upload') || dialogDefinition.getContents('upload'));
71
+ upload = (content == null ? null : content.get('upload'));
72
+
73
+ if (upload && upload.filebrowser['params'] == null) {
74
+ upload.filebrowser['params'] = config.filebrowserParams();
75
+ upload.action = config.addQueryString(upload.action, upload.filebrowser['params']);
76
+ }
77
+ }
78
+ });
79
+
80
+ /* Extra plugins */
81
+ // works only with en, ru, uk locales
82
+ config.extraPlugins = "embed,attachment";
83
+
84
+ /* Toolbars */
85
+ config.toolbar = 'Easy';
86
+
87
+ config.toolbar_Easy =
88
+ [
89
+ ['Source','-','Preview'],
90
+ ['Cut','Copy','Paste','PasteText','PasteFromWord',],
91
+ ['Undo','Redo','-','SelectAll','RemoveFormat'],
92
+ ['Styles','Format'], ['Subscript', 'Superscript', 'TextColor'], ['Maximize','-','About'], '/',
93
+ ['Bold','Italic','Underline','Strike'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
94
+ ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
95
+ ['Link','Unlink','Anchor'], ['Image', 'Attachment', 'Flash', 'Embed'],
96
+ ['Table','HorizontalRule','Smiley','SpecialChar','PageBreak']
97
+ ];
98
+ };
@@ -0,0 +1,8 @@
1
+ it:
2
+ ckeditor:
3
+ page_title: "CKEditor Files Manager"
4
+ confirm_delete: "Cancellare il file?"
5
+ buttons:
6
+ cancel: "Annulla"
7
+ upload: "Carica"
8
+ delete: "Elimina"
@@ -0,0 +1,8 @@
1
+ nl:
2
+ ckeditor:
3
+ page_title: "CKEditor Files Manager"
4
+ confirm_delete: "Delete file?"
5
+ buttons:
6
+ cancel: "Cancel"
7
+ upload: "Upload"
8
+ delete: "Delete"
@@ -4,7 +4,7 @@ module Ckeditor
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  def cktext_area_tag(name, content = nil, options = {})
7
- element_id = sanitize_to_id(name)
7
+ element_id = sanitize_to_id(options[:id] || name)
8
8
  options = { :language => I18n.locale.to_s }.merge(options)
9
9
  input_html = { :id => element_id }.merge( options.delete(:input_html) || {} )
10
10
  js_content_for_section = options.delete(:js_content_for)
@@ -19,6 +19,8 @@ module Ckeditor
19
19
  end
20
20
 
21
21
  def parameterize_filename(filename)
22
+ return filename unless Ckeditor.parameterize_filenames
23
+
22
24
  extension = File.extname(filename)
23
25
  basename = filename.gsub(/#{extension}$/, "")
24
26
 
@@ -31,7 +33,7 @@ module Ckeditor
31
33
  js = ["if (CKEDITOR.instances['#{dom_id}']) {CKEDITOR.remove(CKEDITOR.instances['#{dom_id}']);}"]
32
34
  js << "CKEDITOR.replace('#{dom_id}', #{js_options});"
33
35
 
34
- "$(document).ready(function(){ #{js.join} });".html_safe
36
+ "window.onload = function(){ #{js.join} };".html_safe
35
37
  end
36
38
 
37
39
  def js_fileuploader(uploader_type, options = {})
@@ -51,13 +53,13 @@ module Ckeditor
51
53
 
52
54
  js_options = ActiveSupport::JSON.encode(options)
53
55
 
54
- "$(document).ready(function(){ new qq.FileUploaderInput(#{js_options}); });".html_safe
56
+ "window.onload = function(){ new qq.FileUploaderInput(#{js_options}); };".html_safe
55
57
  end
56
58
 
57
59
  def filethumb(filename)
58
60
  extname = filename.blank? ? "unknown" : File.extname(filename).gsub(/^\./, '')
59
61
  image = "#{extname}.gif"
60
- source = Ckeditor.root_path.join("vendor/assets/javascripts/ckeditor/filebrowser/images/thumbs")
62
+ source = Ckeditor.root_path.join("app/assets/javascripts/ckeditor/filebrowser/images/thumbs")
61
63
 
62
64
  unless File.exists?(File.join(source, image))
63
65
  image = "unknown.gif"
@@ -65,6 +67,16 @@ module Ckeditor
65
67
 
66
68
  File.join(Ckeditor.relative_path, "filebrowser/images/thumbs", image)
67
69
  end
70
+
71
+ def select_assets(path, relative_path)
72
+ folder = File.join(path, '**')
73
+ relative_folder = Ckeditor.root_path.join(relative_path)
74
+
75
+ Dir[Ckeditor.root_path.join(folder, '*.{js,css}')].inject([]) do |list, file|
76
+ list << Pathname.new(file).relative_path_from(relative_folder).to_s
77
+ list
78
+ end
79
+ end
68
80
  end
69
81
  end
70
82
  end
@@ -1,6 +1,6 @@
1
1
  module Ckeditor
2
2
  module Version
3
- GEM = "3.7.1".freeze
4
- EDITOR = "3.6.3".freeze
3
+ GEM = "3.7.2".freeze
4
+ EDITOR = "3.6.4".freeze
5
5
  end
6
6
  end
data/lib/ckeditor.rb CHANGED
@@ -41,6 +41,10 @@ module Ckeditor
41
41
  # Ckeditor assets for precompilation
42
42
  mattr_accessor :assets
43
43
  @@assets = nil
44
+
45
+ # Turn on/off filename parameterize
46
+ mattr_accessor :parameterize_filenames
47
+ @@parameterize_filenames = true
44
48
 
45
49
  # Default way to setup Ckeditor. Run rails generate ckeditor to create
46
50
  # a fresh initializer with all configuration values.
@@ -54,13 +58,8 @@ module Ckeditor
54
58
 
55
59
  def self.assets
56
60
  @@assets ||= begin
57
- Dir[root_path.join('vendor/assets/javascripts/ckeditor/**', '*.{js,css}')].inject([]) do |list, path|
58
- unless path.include?("/ckeditor/filebrowser/")
59
- list << Pathname.new(path).relative_path_from(root_path.join('vendor/assets/javascripts'))
60
- end
61
-
62
- list
63
- end
61
+ Utils.select_assets("vendor/assets/javascripts/ckeditor", "vendor/assets/javascripts") +
62
+ Utils.select_assets("app/assets/javascripts/ckeditor/plugins", "app/assets/javascripts")
64
63
  end
65
64
  end
66
65
 
@@ -1,7 +1,7 @@
1
1
  class Ckeditor::AttachmentFile < Ckeditor::Asset
2
2
  mount_uploader :data, CkeditorAttachmentFileUploader, :mount_on => :data_file_name
3
-
4
- def url_thumb
5
- @url_thumb ||= Ckeditor::Utils.filethumb(filename)
6
- end
3
+
4
+ def url_thumb
5
+ @url_thumb ||= Ckeditor::Utils.filethumb(filename)
6
+ end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  class Ckeditor::Picture < Ckeditor::Asset
2
2
  mount_uploader :data, CkeditorPictureUploader, :mount_on => :data_file_name
3
-
4
- def url_content
5
- url(:content)
6
- end
3
+
4
+ def url_content
5
+ url(:content)
6
+ end
7
7
  end
@@ -6,18 +6,18 @@ class CreateCkeditorAssets < ActiveRecord::Migration
6
6
  t.integer :data_file_size
7
7
 
8
8
  t.integer :assetable_id
9
- t.string :assetable_type, :limit => 30
9
+ t.string :assetable_type, :limit => 30
10
10
  t.string :type, :limit => 30
11
-
11
+
12
12
  # Uncomment it to save images dimensions, if your need it
13
- t.integer :width
14
- t.integer :height
15
-
13
+ t.integer :width
14
+ t.integer :height
15
+
16
16
  t.timestamps
17
17
  end
18
18
 
19
19
  add_index "ckeditor_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_ckeditor_assetable_type"
20
- add_index "ckeditor_assets", ["assetable_type", "assetable_id"], :name => "idx_ckeditor_assetable"
20
+ add_index "ckeditor_assets", ["assetable_type", "assetable_id"], :name => "idx_ckeditor_assetable"
21
21
  end
22
22
 
23
23
  def self.down
@@ -6,18 +6,18 @@ class CreateCkeditorAssets < ActiveRecord::Migration
6
6
  t.integer :data_file_size
7
7
 
8
8
  t.integer :assetable_id
9
- t.string :assetable_type, :limit => 30
9
+ t.string :assetable_type, :limit => 30
10
10
  t.string :type, :limit => 30
11
-
11
+
12
12
  # Uncomment it to save images dimensions, if your need it
13
- t.integer :width
14
- t.integer :height
15
-
13
+ t.integer :width
14
+ t.integer :height
15
+
16
16
  t.timestamps
17
17
  end
18
18
 
19
19
  add_index "ckeditor_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_ckeditor_assetable_type"
20
- add_index "ckeditor_assets", ["assetable_type", "assetable_id"], :name => "idx_ckeditor_assetable"
20
+ add_index "ckeditor_assets", ["assetable_type", "assetable_id"], :name => "idx_ckeditor_assetable"
21
21
  end
22
22
 
23
23
  def self.down
@@ -13,7 +13,7 @@ class CkeditorAttachmentFileUploader < CarrierWave::Uploader::Base
13
13
  # Override the directory where uploaded files will be stored.
14
14
  # This is a sensible default for uploaders that are meant to be mounted:
15
15
  def store_dir
16
- "system/ckeditor_assets/attachments/#{model.id}"
16
+ "/uploads/ckeditor/attachments/#{model.id}"
17
17
  end
18
18
 
19
19
  # Provide a default URL as a default if there hasn't been a file uploaded:
@@ -13,7 +13,7 @@ class CkeditorPictureUploader < CarrierWave::Uploader::Base
13
13
  # Override the directory where uploaded files will be stored.
14
14
  # This is a sensible default for uploaders that are meant to be mounted:
15
15
  def store_dir
16
- "system/ckeditor_assets/pictures/#{model.id}"
16
+ "/uploads/ckeditor/pictures/#{model.id}"
17
17
  end
18
18
 
19
19
  # Provide a default URL as a default if there hasn't been a file uploaded:
@@ -11,15 +11,15 @@ app.define_macro(ActiveRecord::Base, :ckeditor_file_accessor) if defined?(Active
11
11
  app.define_macro_on_include(Mongoid::Document, :ckeditor_file_accessor) if defined?(Mongoid::Document)
12
12
 
13
13
  app.configure do |c|
14
- # Store files in public/system/ckeditor_assets. This is not
14
+ # Store files in public/uploads/ckeditor. This is not
15
15
  # mandatory and the files don't even have to be stored under
16
16
  # public. If not storing under public then set server_root to nil.
17
- c.datastore.root_path = Rails.root.join("public", "system", "ckeditor_assets", Rails.env).to_s
17
+ c.datastore.root_path = Rails.root.join("public", "uploads", "ckeditor", Rails.env).to_s
18
18
  c.datastore.server_root = Rails.root.join("public").to_s
19
19
 
20
20
  # Accept asset requests on /ckeditor_assets. Again, this is not
21
21
  # mandatory. Just be sure to include :job somewhere.
22
- c.url_format = "/ckeditor_assets/:job/:basename.:format"
22
+ c.url_format = "/uploads/ckeditor/:job/:basename.:format"
23
23
  end
24
24
 
25
25
  # Insert our Dragonfly "app" into the stack.
@@ -1,7 +1,7 @@
1
1
  class Ckeditor::AttachmentFile < Ckeditor::Asset
2
2
  mount_uploader :data, CkeditorAttachmentFileUploader, :mount_on => :data_file_name
3
-
4
- def url_thumb
5
- @url_thumb ||= Ckeditor::Utils.filethumb(filename)
6
- end
3
+
4
+ def url_thumb
5
+ @url_thumb ||= Ckeditor::Utils.filethumb(filename)
6
+ end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  class Ckeditor::Picture < Ckeditor::Asset
2
2
  mount_uploader :data, CkeditorPictureUploader, :mount_on => :data_file_name
3
-
4
- def url_content
5
- url(:content)
6
- end
3
+
4
+ def url_content
5
+ url(:content)
6
+ end
7
7
  end
Binary file