glebtv-ckeditor 4.2.1.5 → 4.3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (437) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +37 -1
  3. data/README.md +286 -0
  4. data/Rakefile +76 -63
  5. data/app/assets/javascripts/ckeditor/application.js +1 -0
  6. data/app/assets/javascripts/ckeditor/config.js.erb +59 -20
  7. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/{application.js → application.js.erb} +11 -2
  8. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.endless-scroll.js +300 -0
  9. data/app/assets/javascripts/ckeditor/filebrowser/stylesheets/{uploader.css → uploader.css.erb} +6 -2
  10. data/app/assets/javascripts/ckeditor/init.js.erb +1 -6
  11. data/app/assets/javascripts/ckeditor/override.js.erb +22 -0
  12. data/app/assets/stylesheets/ckcontent.css +103 -0
  13. data/app/controllers/ckeditor/application_controller.rb +5 -4
  14. data/app/controllers/ckeditor/attachment_files_controller.rb +12 -10
  15. data/app/controllers/ckeditor/pictures_controller.rb +12 -10
  16. data/app/helpers/ckeditor/application_helper.rb +1 -1
  17. data/app/views/ckeditor/attachment_files/index.html.erb +11 -5
  18. data/app/views/ckeditor/pictures/index.html.erb +12 -6
  19. data/app/views/ckeditor/shared/_asset.html.erb +2 -2
  20. data/app/views/ckeditor/shared/_asset_tmpl.html.erb +3 -3
  21. data/app/views/layouts/ckeditor/application.html.erb +0 -1
  22. data/config/locales/cs.ckeditor.yml +1 -0
  23. data/config/locales/de.ckeditor.yml +9 -0
  24. data/config/locales/el-GR.cdkeditor.yml +9 -0
  25. data/config/locales/en.ckeditor.yml +1 -0
  26. data/config/locales/es.ckeditor.yml +1 -0
  27. data/config/locales/fr.ckeditor.yml +1 -0
  28. data/config/locales/hu.ckeditor.yml +9 -0
  29. data/config/locales/it.ckeditor.yml +1 -0
  30. data/config/locales/nl.ckeditor.yml +2 -1
  31. data/config/locales/pl.ckeditor.yml +1 -0
  32. data/config/locales/pt-BR.ckeditor.yml +2 -1
  33. data/config/locales/pt-PT.ckeditor.yml +9 -0
  34. data/config/locales/ru.ckeditor.yml +1 -0
  35. data/config/locales/sv-SE.ckeditor.yml +1 -0
  36. data/config/locales/uk.ckeditor.yml +1 -0
  37. data/config/locales/zh-CN.ckeditor.yml +1 -0
  38. data/lib/ckeditor.rb +63 -13
  39. data/lib/ckeditor/backend/carrierwave.rb +9 -9
  40. data/lib/ckeditor/backend/dragonfly.rb +2 -2
  41. data/lib/ckeditor/backend/paperclip.rb +4 -4
  42. data/lib/ckeditor/engine.rb +6 -6
  43. data/lib/ckeditor/helpers/controllers.rb +7 -7
  44. data/lib/ckeditor/helpers/form_builder.rb +1 -1
  45. data/lib/ckeditor/helpers/form_helper.rb +2 -21
  46. data/lib/ckeditor/helpers/view_helper.rb +2 -13
  47. data/lib/ckeditor/hooks/cancan.rb +2 -2
  48. data/lib/ckeditor/hooks/formtastic.rb +1 -1
  49. data/lib/ckeditor/hooks/pundit.rb +47 -0
  50. data/lib/ckeditor/http.rb +8 -7
  51. data/lib/ckeditor/orm/active_record.rb +3 -3
  52. data/lib/ckeditor/orm/base.rb +4 -6
  53. data/lib/ckeditor/orm/mongoid.rb +4 -4
  54. data/lib/ckeditor/paginatable.rb +56 -0
  55. data/lib/ckeditor/text_area.rb +52 -0
  56. data/lib/ckeditor/utils.rb +54 -36
  57. data/lib/ckeditor/version.rb +1 -4
  58. data/lib/generators/ckeditor/install_generator.rb +10 -10
  59. data/lib/generators/ckeditor/pundit_policy_generator.rb +22 -0
  60. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/asset.rb +1 -1
  61. data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +4 -4
  62. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/attachment_file.rb +1 -1
  63. data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +2 -2
  64. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +1 -1
  65. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +1 -1
  66. data/lib/generators/ckeditor/templates/ckeditor.rb +21 -16
  67. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/asset.rb +1 -1
  68. data/lib/generators/ckeditor/templates/pundit_policy/attachment_file_policy.rb +20 -0
  69. data/lib/generators/ckeditor/templates/pundit_policy/picture_policy.rb +20 -0
  70. data/test/ckeditor_test.rb +54 -1
  71. data/test/controllers/attachment_files_controller_test.rb +15 -15
  72. data/test/controllers/pictures_controller_test.rb +15 -15
  73. data/test/dummy/app/views/posts/index.html.erb +1 -1
  74. data/test/dummy/config/routes.rb +1 -1
  75. data/test/dummy/log/test.log +301 -0
  76. data/test/dummy/tmp/cache/assets/test/sprockets/0ff571a66f03f4c98305b82fbc097934 +0 -0
  77. data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  78. data/test/dummy/tmp/cache/assets/test/sprockets/1c2a2034cd1d6490a47e1f2b22a328f3 +0 -0
  79. data/test/dummy/tmp/cache/assets/test/sprockets/233a499dd1009ab5b2a8040346715629 +0 -0
  80. data/test/dummy/tmp/cache/assets/test/sprockets/2a79c1fcf4595c4bfb3a1e77a732b9e9 +0 -0
  81. data/test/dummy/tmp/cache/assets/test/sprockets/2bb1e656d1d1c20542dd47020608ce4b +0 -0
  82. data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  83. data/test/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  84. data/test/dummy/tmp/cache/assets/test/sprockets/3c088129885aa2261da0ab21707aa851 +0 -0
  85. data/test/dummy/tmp/cache/assets/test/sprockets/5296ab0e7196335ed50f33e398de0470 +0 -0
  86. data/test/dummy/tmp/cache/assets/test/sprockets/62133d9323b94de8b0cd2a3e490e0374 +0 -0
  87. data/test/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  88. data/test/dummy/tmp/cache/assets/test/sprockets/70f2d021b0f59639252116032aa12a5d +0 -0
  89. data/test/dummy/tmp/cache/assets/test/sprockets/73eff3be45044b7438486d533547c02c +0 -0
  90. data/test/dummy/tmp/cache/assets/test/sprockets/7869bf4c6f26bcd697a78ffd20655de5 +0 -0
  91. data/test/dummy/tmp/cache/assets/test/sprockets/88d81ff5585179f4acb7ba76bdcb1244 +0 -0
  92. data/test/dummy/tmp/cache/assets/test/sprockets/990c65e42e2a681340e62644dd07782b +0 -0
  93. data/test/dummy/tmp/cache/assets/test/sprockets/aaf14684bcb6dafb17154d27c3d5a5de +0 -0
  94. data/test/dummy/tmp/cache/assets/test/sprockets/b2141ea733727ae31693b5129d431629 +0 -0
  95. data/test/dummy/tmp/cache/assets/test/sprockets/c1469bfe5d5645440961cc1e8fd48120 +0 -0
  96. data/test/dummy/tmp/cache/assets/test/sprockets/c479f0465142b7c9c5a9c58a256335d7 +0 -0
  97. data/test/dummy/tmp/cache/assets/test/sprockets/c73d53992216d52410b542dce76742ad +0 -0
  98. data/test/dummy/tmp/cache/assets/test/sprockets/c7476f60577593bf79ca5b6334b86903 +0 -0
  99. data/test/dummy/tmp/cache/assets/test/sprockets/cb4a5e7fc592c6023ed2acc5953b4685 +0 -0
  100. data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  101. data/test/dummy/tmp/cache/assets/test/sprockets/d7e7d3b3729ff516f81682711ea8a53a +0 -0
  102. data/test/dummy/tmp/cache/assets/test/sprockets/d9b8613a01ff7c7d9fe1a6b7cd5497ff +0 -0
  103. data/test/dummy/tmp/cache/assets/test/sprockets/e4513c04c145290b038978a8f471d244 +0 -0
  104. data/test/dummy/tmp/cache/assets/test/sprockets/e65823156ac3891c4779224e828d4877 +0 -0
  105. data/test/dummy/tmp/cache/assets/test/sprockets/f20469686afebc55828d93a978e5ff20 +0 -0
  106. data/test/dummy/tmp/cache/assets/test/sprockets/f24d6c64fd96102c27c1f10e82ebf864 +0 -0
  107. data/test/dummy/tmp/cache/assets/test/sprockets/f33022711bcfc1cae3955a1de79fe280 +0 -0
  108. data/test/dummy/tmp/cache/assets/test/sprockets/f69b1a9a1323d97109283e5bd378c23d +0 -0
  109. data/test/functional/posts_controller_test.rb +4 -4
  110. data/test/generators/install_generator_test.rb +7 -7
  111. data/test/models/attachment_file_test.rb +2 -2
  112. data/test/models/picture_test.rb +2 -2
  113. data/test/models/utils_test.rb +4 -5
  114. data/test/support/helpers.rb +8 -8
  115. data/test/tmp/app/models/ckeditor/asset.rb +5 -0
  116. data/test/tmp/app/models/ckeditor/attachment_file.rb +12 -0
  117. data/test/tmp/app/models/ckeditor/picture.rb +13 -0
  118. data/test/tmp/config/initializers/ckeditor.rb +26 -0
  119. data/test/tmp/config/routes.rb +5 -0
  120. data/vendor/assets/javascripts/ckeditor/CHANGES.md +414 -0
  121. data/{app → vendor}/assets/javascripts/ckeditor/LICENSE.md +1 -1
  122. data/{app → vendor}/assets/javascripts/ckeditor/README.md +1 -1
  123. data/vendor/assets/javascripts/ckeditor/adapters/jquery.js +10 -0
  124. data/vendor/assets/javascripts/ckeditor/build-config.js +165 -0
  125. data/vendor/assets/javascripts/ckeditor/ckeditor.js +978 -0
  126. data/vendor/assets/javascripts/ckeditor/config.js +10 -0
  127. data/vendor/assets/javascripts/ckeditor/lang/en.js +5 -0
  128. data/vendor/assets/javascripts/ckeditor/lang/ru.js +5 -0
  129. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/ckcss.png +0 -0
  130. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/css/styles.css +0 -0
  131. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/dialogs/ckcss.js +0 -0
  132. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/lang/en.js +0 -0
  133. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/lang/ru.js +0 -0
  134. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/plugin.js +3 -3
  135. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  136. data/{app → vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +4 -2
  137. data/{app → vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +4 -2
  138. data/{app → vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +1 -1
  139. data/{app → vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  140. data/{app → vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  141. data/{app → vendor}/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +1 -1
  142. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -0
  143. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/AutoComplete.png +0 -0
  144. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/AutoFormat.png +0 -0
  145. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/CommentSelectedRange.png +0 -0
  146. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/SearchCode.png +0 -0
  147. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/UncommentSelectedRange.png +0 -0
  148. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/js/beautify.min.js +0 -0
  149. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +1 -0
  150. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.search.min.js +1 -0
  151. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +1 -0
  152. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.htmlmixed.min.js +1 -0
  153. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.javascript.min.js +1 -0
  154. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.php.min.js +1 -0
  155. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/lang/en.js +0 -0
  156. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/lang/ru.js +3 -1
  157. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +335 -90
  158. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/3024-day.css +34 -0
  159. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/3024-night.css +34 -0
  160. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance-mobile.css +5 -5
  161. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance.css +75 -75
  162. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/base16-dark.css +34 -0
  163. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/base16-light.css +34 -0
  164. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/blackboard.css +28 -25
  165. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/cobalt.css +21 -18
  166. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/eclipse.css +23 -25
  167. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/elegant.css +13 -10
  168. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/erlang-dark.css +30 -21
  169. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +47 -44
  170. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/mbo.css +37 -0
  171. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/midnight.css +43 -52
  172. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +29 -28
  173. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/neat.css +12 -9
  174. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/night.css +24 -21
  175. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/paraiso-dark.css +34 -0
  176. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/paraiso-light.css +34 -0
  177. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/rubyblue.css +23 -21
  178. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/solarized.css +180 -207
  179. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/the-matrix.css +26 -0
  180. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/tomorrow-night-eighties.css +34 -0
  181. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/twilight.css +28 -26
  182. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/vibrant-ink.css +30 -27
  183. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-dark.css +49 -46
  184. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-light.css +43 -43
  185. data/{app → vendor}/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +1 -1
  186. data/{app → vendor}/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  187. data/{app → vendor}/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +5 -5
  188. data/{app → vendor}/assets/javascripts/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
  189. data/{app → vendor}/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +1 -1
  190. data/{app → vendor}/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +1 -1
  191. data/{app → vendor}/assets/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  192. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +1 -1
  193. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +1 -1
  194. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +2 -2
  195. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +1 -1
  196. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +1 -1
  197. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +1 -1
  198. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
  199. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +1 -1
  200. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  201. data/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  202. data/{app/assets/javascripts/ckeditor/skins/moono → vendor/assets/javascripts/ckeditor/plugins}/icons_hidpi.png +0 -0
  203. data/{app → vendor}/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +1 -1
  204. data/{app → vendor}/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  205. data/{app → vendor}/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +13 -13
  206. data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +43 -0
  207. data/{app → vendor}/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
  208. data/{app → vendor}/assets/javascripts/ckeditor/plugins/ipsum/icon.png +0 -0
  209. data/{app → vendor}/assets/javascripts/ckeditor/plugins/ipsum/plugin.js +0 -0
  210. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  211. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +8 -7
  212. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  213. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  214. data/{app → vendor}/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -1
  215. data/{app → vendor}/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  216. data/{app → vendor}/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
  217. data/{app → vendor}/assets/javascripts/ckeditor/plugins/map/example_usage.js +0 -0
  218. data/{app → vendor}/assets/javascripts/ckeditor/plugins/map/map.gif +0 -0
  219. data/{app → vendor}/assets/javascripts/ckeditor/plugins/map/plugin.js +0 -0
  220. data/{app → vendor}/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  221. data/{app → vendor}/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  222. data/{app → vendor}/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +0 -0
  223. data/{app → vendor}/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  224. data/{app → vendor}/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +1 -1
  225. data/{app → vendor}/assets/javascripts/ckeditor/plugins/preview/preview.html +0 -0
  226. data/{app → vendor}/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +0 -0
  227. data/{app → vendor}/assets/javascripts/ckeditor/plugins/scayt/README.md +0 -0
  228. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +20 -0
  229. data/{app → vendor}/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
  230. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  231. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  232. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  233. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  234. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  235. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  236. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  237. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  238. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  239. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  240. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  241. data/{app → vendor}/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +1 -1
  242. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  243. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  244. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  245. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  246. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  247. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  248. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  249. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  250. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  251. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  252. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  253. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  254. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  255. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  256. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  257. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  258. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.png +0 -0
  259. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  260. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.png +0 -0
  261. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  262. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.png +0 -0
  263. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  264. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  265. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  266. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  267. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  268. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  269. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  270. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  271. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  272. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  273. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  274. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  275. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  276. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  277. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  278. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  279. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  280. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  281. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  282. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  283. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  284. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  285. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  286. data/{app → vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +1 -1
  287. data/{app → vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +1 -1
  288. data/{app → vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  289. data/{app → vendor}/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +6 -6
  290. data/{app → vendor}/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +4 -4
  291. data/{app → vendor}/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -1
  292. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +1 -1
  293. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +1 -1
  294. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/default.js +2 -2
  295. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  296. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  297. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  298. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wordcount/css/wordcount.css +0 -0
  299. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +0 -0
  300. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/lang/ru.js +11 -0
  301. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +72 -31
  302. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +0 -0
  303. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/README.md +0 -0
  304. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
  305. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmp.html +0 -0
  306. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  307. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
  308. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +31 -31
  309. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +0 -0
  310. data/vendor/assets/javascripts/ckeditor/plugins/youtube/images/icon.png +0 -0
  311. data/{app → vendor}/assets/javascripts/ckeditor/plugins/youtube/lang/en.js +1 -0
  312. data/{app → vendor}/assets/javascripts/ckeditor/plugins/youtube/lang/ru.js +1 -0
  313. data/{app → vendor}/assets/javascripts/ckeditor/plugins/youtube/plugin.js +56 -15
  314. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css.scss +768 -0
  315. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css.scss +809 -0
  316. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css.scss +841 -0
  317. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css.scss +822 -0
  318. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css.scss +813 -0
  319. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_opera.css.scss +781 -0
  320. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css.scss +2125 -0
  321. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css.scss +2134 -0
  322. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css.scss +2183 -0
  323. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css.scss +2351 -0
  324. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css.scss +2195 -0
  325. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css.scss +2243 -0
  326. data/vendor/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  327. data/{app/assets/javascripts/ckeditor/plugins → vendor/assets/javascripts/ckeditor/skins/moono}/icons_hidpi.png +0 -0
  328. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/arrow.png +0 -0
  329. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
  330. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  331. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  332. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  333. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  334. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/lock-open.png +0 -0
  335. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/lock.png +0 -0
  336. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/refresh.png +0 -0
  337. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/readme.md +1 -1
  338. data/{app → vendor}/assets/javascripts/ckeditor/styles.js +2 -2
  339. metadata +445 -352
  340. data/README.rdoc +0 -12
  341. data/app/assets/javascripts/ckeditor/CHANGES.md +0 -233
  342. data/app/assets/javascripts/ckeditor/build-config.js +0 -103
  343. data/app/assets/javascripts/ckeditor/ckeditor.js +0 -929
  344. data/app/assets/javascripts/ckeditor/contents.css +0 -103
  345. data/app/assets/javascripts/ckeditor/lang/en.js +0 -5
  346. data/app/assets/javascripts/ckeditor/lang/ru.js +0 -5
  347. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -10
  348. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +0 -1
  349. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +0 -1
  350. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +0 -5637
  351. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.modes.min.js +0 -1
  352. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.search-addons.min.js +0 -1
  353. data/app/assets/javascripts/ckeditor/plugins/font/lang/en.js +0 -14
  354. data/app/assets/javascripts/ckeditor/plugins/font/lang/ru.js +0 -14
  355. data/app/assets/javascripts/ckeditor/plugins/font/plugin.js +0 -225
  356. data/app/assets/javascripts/ckeditor/plugins/highslide/dialogs/hs.js +0 -73
  357. data/app/assets/javascripts/ckeditor/plugins/highslide/icon.png +0 -0
  358. data/app/assets/javascripts/ckeditor/plugins/highslide/lang/en.js +0 -7
  359. data/app/assets/javascripts/ckeditor/plugins/highslide/lang/ru.js +0 -7
  360. data/app/assets/javascripts/ckeditor/plugins/highslide/plugin.js +0 -26
  361. data/app/assets/javascripts/ckeditor/plugins/highslide/readme.txt +0 -55
  362. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/install.html +0 -93
  363. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/styles.css +0 -59
  364. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon1.png +0 -0
  365. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon2.png +0 -0
  366. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon3.png +0 -0
  367. data/app/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  368. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/hidpi/iframe.png +0 -0
  369. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/iframe.png +0 -0
  370. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en.js +0 -11
  371. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ru.js +0 -11
  372. data/app/assets/javascripts/ckeditor/plugins/iframe/plugin.js +0 -83
  373. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -43
  374. data/app/assets/javascripts/ckeditor/plugins/oembed/images/icon.png +0 -0
  375. data/app/assets/javascripts/ckeditor/plugins/oembed/images/placeholder.png +0 -0
  376. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.js +0 -70
  377. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.min.js +0 -71
  378. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/icon.png +0 -0
  379. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/placeholder.png +0 -0
  380. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/en.js +0 -23
  381. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/ru.js +0 -23
  382. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.js +0 -971
  383. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.min.js +0 -11
  384. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/plugin.js +0 -373
  385. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -20
  386. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  387. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  388. data/app/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  389. data/app/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  390. data/app/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  391. data/app/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  392. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  393. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  394. data/app/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  395. data/app/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  396. data/app/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  397. data/app/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  398. data/app/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  399. data/app/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  400. data/app/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  401. data/app/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  402. data/app/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  403. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  404. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  405. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  406. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  407. data/app/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  408. data/app/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  409. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/assets/sample.css +0 -70
  410. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/stylesheetparser.html +0 -82
  411. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/lang/en.js +0 -181
  412. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/symbol.js +0 -18
  413. data/app/assets/javascripts/ckeditor/plugins/symbol/icons/symbol.png +0 -0
  414. data/app/assets/javascripts/ckeditor/plugins/symbol/lang/en.js +0 -1
  415. data/app/assets/javascripts/ckeditor/plugins/symbol/plugin.js +0 -15
  416. data/app/assets/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -9
  417. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  418. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  419. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  420. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  421. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -15
  422. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -225
  423. data/app/assets/javascripts/ckeditor/plugins/youtube/images/icon.png +0 -0
  424. data/app/assets/javascripts/ckeditor/skins/moono/dialog.css +0 -5
  425. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +0 -5
  426. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +0 -5
  427. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +0 -5
  428. data/app/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +0 -5
  429. data/app/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +0 -5
  430. data/app/assets/javascripts/ckeditor/skins/moono/editor.css +0 -5
  431. data/app/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +0 -5
  432. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie.css +0 -5
  433. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +0 -5
  434. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +0 -5
  435. data/app/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +0 -5
  436. data/app/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  437. data/lib/ckeditor/tasks.rake +0 -11
@@ -11,21 +11,21 @@ class PostsControllerTest < ActionController::TestCase
11
11
 
12
12
  test "include javascripts" do
13
13
  get :index
14
-
14
+
15
15
  assert_select "script[src=/assets/application.js]"
16
- assert_select "script", Regexp.new(Regexp.escape(%q!CKEDITOR.replace('test_area', {"language":"en"});!))
16
+ assert_select "script", Regexp.new(Regexp.escape(%q!CKEDITOR.replace('test_area');!))
17
17
  end
18
18
 
19
19
  test "pass text_area with options" do
20
20
  get :index
21
21
 
22
22
  assert_select "textarea#content[name=content][cols=10][rows=20]", "Ckeditor"
23
- assert_select "script", Regexp.new(Regexp.escape(%q!CKEDITOR.replace('content', {"language":"en","toolbar":"Easy"});!))
23
+ assert_select "script", Regexp.new(Regexp.escape(%q!CKEDITOR.replace('content', {"toolbar":"Easy"});!))
24
24
  end
25
25
 
26
26
  test "form builder helper" do
27
27
  get :new
28
-
28
+
29
29
  assert_select "textarea#post_content[name='post[content]'][cols=40][rows=20]", ""
30
30
  assert_select "script", Regexp.new(Regexp.escape(%q!CKEDITOR.replace('post_content', {"width":800,"height":400});!))
31
31
  assert_select "textarea#new_info_content[name='post[info]'][cols=40][rows=20]", "Defaults info content"
@@ -8,7 +8,7 @@ class InstallGeneratorTest < Rails::Generators::TestCase
8
8
 
9
9
  setup do
10
10
  dir = File.expand_path("../../", __FILE__)
11
-
11
+
12
12
  FileUtils.mkdir_p File.join(dir, 'tmp/config')
13
13
  FileUtils.cp File.join(dir, 'support/routes.txt'), File.join(dir, 'tmp/config/routes.rb')
14
14
  end
@@ -25,7 +25,7 @@ class InstallGeneratorTest < Rails::Generators::TestCase
25
25
 
26
26
  assert_file "config/initializers/ckeditor.rb", /require "ckeditor\/orm\/mongoid"/
27
27
  end
28
-
28
+
29
29
  test "models and migration for active_record orm via paperclip" do
30
30
  run_generator %w(--orm=active_record --backend=paperclip)
31
31
 
@@ -46,7 +46,7 @@ class InstallGeneratorTest < Rails::Generators::TestCase
46
46
  assert_file "app/models/ckeditor/asset.rb"
47
47
  assert_file "app/models/ckeditor/picture.rb"
48
48
  assert_file "app/models/ckeditor/attachment_file.rb"
49
-
49
+
50
50
  assert_file "app/uploaders/ckeditor_attachment_file_uploader.rb"
51
51
  assert_file "app/uploaders/ckeditor_picture_uploader.rb"
52
52
 
@@ -81,17 +81,17 @@ class InstallGeneratorTest < Rails::Generators::TestCase
81
81
 
82
82
  assert_no_migration "db/migrate/create_ckeditor_assets.rb"
83
83
  end
84
-
84
+
85
85
  test "models for mongoid orm via carrierwave" do
86
86
  run_generator %w(--orm=mongoid --backend=carrierwave)
87
-
87
+
88
88
  assert_file "app/models/ckeditor/asset.rb"
89
89
  assert_file "app/models/ckeditor/picture.rb"
90
90
  assert_file "app/models/ckeditor/attachment_file.rb"
91
-
91
+
92
92
  assert_file "app/uploaders/ckeditor_attachment_file_uploader.rb"
93
93
  assert_file "app/uploaders/ckeditor_picture_uploader.rb"
94
-
94
+
95
95
  assert_no_migration "db/migrate/create_ckeditor_assets.rb"
96
96
  end
97
97
  end
@@ -7,14 +7,14 @@ class AttachmentFileTest < ActiveSupport::TestCase
7
7
 
8
8
  test "Set file content_type and size" do
9
9
  @attachment = create_attachment
10
-
10
+
11
11
  # TODO: fix filename parameterization
12
12
  if CKEDITOR_BACKEND == :paperclip
13
13
  assert_equal "rails_tar.gz", @attachment.data_file_name
14
14
  else
15
15
  assert_equal "rails.tar.gz", @attachment.data_file_name
16
16
  end
17
-
17
+
18
18
  assert_equal "application/x-gzip", @attachment.data_content_type
19
19
  assert_equal 6823, @attachment.data_file_size
20
20
  assert_equal "/assets/ckeditor/filebrowser/images/thumbs/gz.gif", @attachment.url_thumb
@@ -7,12 +7,12 @@ class PictureTest < ActiveSupport::TestCase
7
7
 
8
8
  test "Set file content_type and size" do
9
9
  @picture = create_picture
10
-
10
+
11
11
  assert_equal "image/png", @picture.data_content_type
12
12
  assert_equal "rails.png", @picture.data_file_name
13
13
  assert_equal 6646, @picture.data_file_size
14
14
  assert @picture.url_thumb.include?('thumb_rails.png')
15
-
15
+
16
16
  if @picture.has_dimensions?
17
17
  assert_equal 50, @picture.width
18
18
  assert_equal 64, @picture.height
@@ -2,15 +2,14 @@ require 'test_helper'
2
2
 
3
3
  class UtilsTest < ActiveSupport::TestCase
4
4
  test 'exists filethumb' do
5
- ["avi", "doc", "docx", "exe", "gz", "htm", "jpg", "mp3", "mpg", "pdf",
6
- "psd", "rar", "swf", "tar", "txt", "wmv", "xlsx", "zip"].each do |ext|
5
+ %w(avi doc docx exe gz htm jpg mp3 mpg pdf psd rar swf tar txt wmv xlsx zip).each do |ext|
7
6
  assert_equal "/assets/ckeditor/filebrowser/images/thumbs/#{ext}.gif", Ckeditor::Utils.filethumb("somefile.#{ext}")
8
7
  end
9
-
8
+
10
9
  assert_equal "/assets/ckeditor/filebrowser/images/thumbs/unknown.gif", Ckeditor::Utils.filethumb("somefile.ddd")
11
10
  end
12
-
13
- test 'wrong filethumb' do
11
+
12
+ test 'wrong filethumb' do
14
13
  assert_equal "/assets/ckeditor/filebrowser/images/thumbs/unknown.gif", Ckeditor::Utils.filethumb("somefile.ddd")
15
14
  assert_equal "/assets/ckeditor/filebrowser/images/thumbs/unknown.gif", Ckeditor::Utils.filethumb("somefile")
16
15
  assert_equal "/assets/ckeditor/filebrowser/images/thumbs/unknown.gif", Ckeditor::Utils.filethumb("")
@@ -3,25 +3,25 @@ require 'action_dispatch/testing/test_process'
3
3
 
4
4
  class ActiveSupport::TestCase
5
5
  include ActionDispatch::TestProcess
6
-
6
+
7
7
  def new_attachment(data = nil)
8
8
  data ||= fixture_file_upload('files/rails.tar.gz', 'application/x-gzip')
9
-
10
- Ckeditor::AttachmentFile.new(:data => data)
9
+
10
+ Ckeditor.attachment_file_model.new(:data => data)
11
11
  end
12
-
12
+
13
13
  def create_attachment(data = nil)
14
14
  attachment = new_attachment(data)
15
15
  attachment.save!
16
16
  attachment
17
17
  end
18
-
18
+
19
19
  def new_picture(data = nil)
20
20
  data ||= fixture_file_upload('files/rails.png', 'image/png')
21
-
22
- Ckeditor::Picture.new(:data => data)
21
+
22
+ Ckeditor.picture_model.new(:data => data)
23
23
  end
24
-
24
+
25
25
  def create_picture(data = nil)
26
26
  picture = new_picture(data)
27
27
  picture.save!
@@ -0,0 +1,5 @@
1
+ class Ckeditor::Asset
2
+ include Ckeditor::Orm::Mongoid::AssetBase
3
+ include Mongoid::Paperclip
4
+ include Ckeditor::Backend::Paperclip
5
+ end
@@ -0,0 +1,12 @@
1
+ class Ckeditor::AttachmentFile < Ckeditor::Asset
2
+ has_mongoid_attached_file :data,
3
+ :url => "/ckeditor_assets/attachments/:id/:filename",
4
+ :path => ":rails_root/public/ckeditor_assets/attachments/:id/:filename"
5
+
6
+ validates_attachment_size :data, :less_than => 100.megabytes
7
+ validates_attachment_presence :data
8
+
9
+ def url_thumb
10
+ @url_thumb ||= Ckeditor::Utils.filethumb(filename)
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ class Ckeditor::Picture < Ckeditor::Asset
2
+ has_mongoid_attached_file :data,
3
+ :url => "/ckeditor_assets/pictures/:id/:style_:basename.:extension",
4
+ :path => ":rails_root/public/ckeditor_assets/pictures/:id/:style_:basename.:extension",
5
+ :styles => { :content => '800>', :thumb => '118x100#' }
6
+
7
+ validates_attachment_size :data, :less_than => 2.megabytes
8
+ validates_attachment_presence :data
9
+
10
+ def url_content
11
+ url(:content)
12
+ end
13
+ end
@@ -0,0 +1,26 @@
1
+ # Use this hook to configure ckeditor
2
+ Ckeditor.setup do |config|
3
+ # ==> ORM configuration
4
+ # Load and configure the ORM. Supports :active_record (default), :mongo_mapper and
5
+ # :mongoid (bson_ext recommended) by default. Other ORMs may be
6
+ # available as additional gems.
7
+ require "ckeditor/orm/mongoid"
8
+
9
+ # Allowed image file types for upload.
10
+ # Set to nil or [] (empty array) for all file types
11
+ # config.image_file_types = ["jpg", "jpeg", "png", "gif", "tiff"]
12
+
13
+ # Allowed attachment file types for upload.
14
+ # Set to nil or [] (empty array) for all file types
15
+ # config.attachment_file_types = ["doc", "docx", "xls", "odt", "ods", "pdf", "rar", "zip", "tar", "swf"]
16
+
17
+ # Setup authorization to be run as a before filter
18
+ # config.authorize_with :cancan
19
+
20
+ # Asset model classes
21
+ # config.picture_model { Ckeditor::Picture }
22
+ # config.attachment_file_model { Ckeditor::AttachmentFile }
23
+
24
+ # Paginate assets
25
+ # config.default_per_page = 24
26
+ end
@@ -0,0 +1,5 @@
1
+ Dummy::Application.routes.draw do
2
+ mount Ckeditor::Engine => '/ckeditor'
3
+ resources :posts
4
+ root :to => "posts#index"
5
+ end
@@ -0,0 +1,414 @@
1
+ CKEditor 4 Changelog
2
+ ====================
3
+
4
+ ## CKEditor 4.3.2
5
+
6
+ * [#11331](http://dev.ckeditor.com/ticket/11331): A menu button will have a changed label when selected instead of using the `aria-pressed` attribute.
7
+ * [#11177](http://dev.ckeditor.com/ticket/11177): Widget drag handler improvements:
8
+ * [#11176](http://dev.ckeditor.com/ticket/11176): Fixed: Initial position is not updated when the widget data object is empty.
9
+ * [#11001](http://dev.ckeditor.com/ticket/11001): Fixed: Multiple synchronous layout recalculations are caused by initial drag handler positioning causing performance issues.
10
+ * [#11161](http://dev.ckeditor.com/ticket/11161): Fixed: Drag handler is not repositioned in various situations.
11
+ * [#11281](http://dev.ckeditor.com/ticket/11281): Fixed: Drag handler and mask are duplicated after widget reinitialization.
12
+ * [#11207](http://dev.ckeditor.com/ticket/11207): [Firefox] Fixed: Misplaced [Enhanced Image](http://ckeditor.com/addon/image2) resizer in the inline editor.
13
+ * [#11102](http://dev.ckeditor.com/ticket/11102): `CKEDITOR.template` improvements:
14
+ * [#11102](http://dev.ckeditor.com/ticket/11102): Added newline character support.
15
+ * [#11216](http://dev.ckeditor.com/ticket/11216): Added "\\'" substring support.
16
+ * [#11121](http://dev.ckeditor.com/ticket/11121): [Firefox] Fixed: High Contrast mode is enabled when the editor is loaded in a hidden iframe.
17
+ * [#11350](http://dev.ckeditor.com/ticket/11350): The default value of [`config.contentsCss`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-contentsCss) is affected by [`CKEDITOR.getUrl`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl).
18
+ * [#11097](http://dev.ckeditor.com/ticket/11097): Improved the [Autogrow](http://ckeditor.com/addon/autogrow) plugin performance when dealing with very big tables.
19
+ * [#11290](http://dev.ckeditor.com/ticket/11290): Removed redundant code in the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin.
20
+ * [#11133](http://dev.ckeditor.com/ticket/11133): [Page Break](http://ckeditor.com/addon/pagebreak) becomes editable if pasted.
21
+ * [#11126](http://dev.ckeditor.com/ticket/11126): Fixed: Native Undo executed once the bottom of the snapshot stack is reached.
22
+ * [#11131](http://dev.ckeditor.com/ticket/11131): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Error thrown when switching to source mode if the selection was in widget's nested editable.
23
+ * [#11139](http://dev.ckeditor.com/ticket/11139): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Elements Path is not cleared after switching to source mode.
24
+ * [#10778](http://dev.ckeditor.com/ticket/10778): Fixed a bug with range enlargement. The range no longer expands to visible whitespace.
25
+ * [#11146](http://dev.ckeditor.com/ticket/11146): [IE] Fixed: Preview window switches Internet Explorer to Quirks Mode.
26
+ * [#10762](http://dev.ckeditor.com/ticket/10762): [IE] Fixed: JavaScript code displayed in preview window's URL bar.
27
+ * [#11186](http://dev.ckeditor.com/ticket/11186): Introduced the [`widgets.repository.addUpcastCallback`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-addUpcastCallback) method that allows to block upcasting given element to a widget.
28
+ * [#11307](http://dev.ckeditor.com/ticket/11307): Fixed: Paste as Plain Text conflict with the [MooTools](http://mootools.net) library.
29
+ * [#11140](http://dev.ckeditor.com/ticket/11140): [IE11] Fixed: Anchors are not draggable.
30
+ * [#11379](http://dev.ckeditor.com/ticket/11379): Changed default contents `line-height` to unitless values to avoid huge text overlapping (like in [#9696](http://dev.ckeditor.com/ticket/9696)).
31
+ * [#10787](http://dev.ckeditor.com/ticket/10787): [Firefox] Fixed: Broken replacement of text while pasting into `div`-based editor.
32
+ * [#10884](http://dev.ckeditor.com/ticket/10884): Widgets integration with the [Show Blocks](http://ckeditor.com/addon/showblocks) plugin.
33
+ * [#11021](http://dev.ckeditor.com/ticket/11021): Fixed: An error thrown when selecting entire editable contents while fake selection is on.
34
+ * [#11086](http://dev.ckeditor.com/ticket/11086): [IE8] Re-enable inline widgets drag&drop in Internet Explorer 8.
35
+ * [#11372](http://dev.ckeditor.com/ticket/11372): Widgets: Special characters encoded twice in nested editables.
36
+ * [#10068](http://dev.ckeditor.com/ticket/10068): Fixed: Support for protocol-relative URLs.
37
+ * [#11283](http://dev.ckeditor.com/ticket/11283): [Enhanced Image](http://ckeditor.com/addon/image2): A `<div>` element with `text-align: center` and an image inside is not recognised correctly.
38
+ * [#11196](http://dev.ckeditor.com/ticket/11196): [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp): Allowed additional keyboard button labels to be translated in the dialog window.
39
+
40
+ ## CKEditor 4.3.1
41
+
42
+ **Important Notes:**
43
+
44
+ * To match the naming convention, the `language` button is now `Language` ([#11201](http://dev.ckeditor.com/ticket/11201)).
45
+ * [Enhanced Image](http://ckeditor.com/addon/image2) button, context menu, command, and icon names match those of the [Image](http://ckeditor.com/addon/image) plugin ([#11222](http://dev.ckeditor.com/ticket/11222)).
46
+
47
+ Fixed Issues:
48
+
49
+ * [#11244](http://dev.ckeditor.com/ticket/11244): Changed: The [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method now fires the [`widget.repository.checkWidgets`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-event-checkWidgets) event, so from CKEditor 4.3.1 it is preferred to use the method rather than fire the event.
50
+ * [#11171](http://dev.ckeditor.com/ticket/11171): Fixed: [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) and [`editor.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertText) methods do not call the [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method.
51
+ * [#11085](http://dev.ckeditor.com/ticket/11085): [IE8] Replaced preview generated by the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget with a placeholder.
52
+ * [#11044](http://dev.ckeditor.com/ticket/11044): Enhanced WAI-ARIA support for the [Language](http://ckeditor.com/addon/language) plugin drop-down menu.
53
+ * [#11075](http://dev.ckeditor.com/ticket/11075): With drop-down menu button focused, pressing the *Down Arrow* key will now open the menu and focus its first option.
54
+ * [#11165](http://dev.ckeditor.com/ticket/11165): Fixed: The [File Browser](http://ckeditor.com/addon/filebrowser) plugin cannot be removed from the editor.
55
+ * [#11159](http://dev.ckeditor.com/ticket/11159): [IE9-10] [Enhanced Image](http://ckeditor.com/addon/image2): Fixed buggy discovery of image dimensions.
56
+ * [#11101](http://dev.ckeditor.com/ticket/11101): Drop-down lists no longer break when given double quotes.
57
+ * [#11077](http://dev.ckeditor.com/ticket/11077): [Enhanced Image](http://ckeditor.com/addon/image2): Empty undo step recorded when resizing the image.
58
+ * [#10853](http://dev.ckeditor.com/ticket/10853): [Enhanced Image](http://ckeditor.com/addon/image2): Widget has paragraph wrapper when de-captioning unaligned image.
59
+ * [#11198](http://dev.ckeditor.com/ticket/11198): Widgets: Drag handler is not fully visible when an inline widget is in a heading.
60
+ * [#11132](http://dev.ckeditor.com/ticket/11132): [Firefox] Fixed: Caret is lost after drag and drop of an inline widget.
61
+ * [#11182](http://dev.ckeditor.com/ticket/11182): [IE10-11] Fixed: Editor crashes (IE11) or works with minor issues (IE10) if a page is loaded in Quirks Mode. See [`env.quirks`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-quirks) for more details.
62
+ * [#11204](http://dev.ckeditor.com/ticket/11204): Added `figure` and `figcaption` styles to the `contents.css` file so [Enhanced Image](http://ckeditor.com/addon/image2) looks nicer.
63
+ * [#11202](http://dev.ckeditor.com/ticket/11202): Fixed: No newline in [BBCode](http://ckeditor.com/addon/bbcode) mode.
64
+ * [#10890](http://dev.ckeditor.com/ticket/10890): Fixed: Error thrown when pressing the *Delete* key in a list item.
65
+ * [#10055](http://dev.ckeditor.com/ticket/10055): [IE8-10] Fixed: *Delete* pressed on a selected image causes the browser to go back.
66
+ * [#11183](http://dev.ckeditor.com/ticket/11183): Fixed: Inserting a horizontal rule or a table in multiple row selection causes a browser crash. Additionally, the [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) method does not insert the element into every range of a selection any more.
67
+ * [#11042](http://dev.ckeditor.com/ticket/11042): Fixed: Selection made on an element containing a non-editable element was not auto faked.
68
+ * [#11125](http://dev.ckeditor.com/ticket/11125): Fixed: Keyboard navigation through menu and drop-down items will now cycle.
69
+ * [#11011](http://dev.ckeditor.com/ticket/11011): Fixed: The [`editor.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-applyStyle) method removes attributes from nested elements.
70
+ * [#11179](http://dev.ckeditor.com/ticket/11179): Fixed: [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy) does not cleanup content generated by the [Table Resize](http://ckeditor.com/addon/tableresize) plugin for inline editors.
71
+ * [#11237](http://dev.ckeditor.com/ticket/11237): Fixed: Table border attribute value is deleted when pasting content from Microsoft Word.
72
+ * [#11250](http://dev.ckeditor.com/ticket/11250): Fixed: HTML entities inside the `<textarea>` element are not encoded.
73
+ * [#11260](http://dev.ckeditor.com/ticket/11260): Fixed: Initially disabled buttons are not read by JAWS as disabled.
74
+ * [#11200](http://dev.ckeditor.com/ticket/11200): Added [Clipboard](http://ckeditor.com/addon/clipboard) plugin as a dependency for [Widget](http://ckeditor.com/addon/widget) to fix drag and drop.
75
+
76
+ ## CKEditor 4.3
77
+
78
+ New Features:
79
+
80
+ * [#10612](http://dev.ckeditor.com/ticket/10612): Internet Explorer 11 support.
81
+ * [#10869](http://dev.ckeditor.com/ticket/10869): Widgets: Added better integration with the [Elements Path](http://ckeditor.com/addon/elementspath) plugin.
82
+ * [#10886](http://dev.ckeditor.com/ticket/10886): Widgets: Added tooltip to the drag handle.
83
+ * [#10933](http://dev.ckeditor.com/ticket/10933): Widgets: Introduced drag and drop of block widgets with the [Line Utilities](http://ckeditor.com/addon/lineutils) plugin.
84
+ * [#10936](http://dev.ckeditor.com/ticket/10936): Widget System changes for easier integration with other dialog systems.
85
+ * [#10895](http://dev.ckeditor.com/ticket/10895): [Enhanced Image](http://ckeditor.com/addon/image2): Added file browser integration.
86
+ * [#11002](http://dev.ckeditor.com/ticket/11002): Added the [`draggable`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-draggable) option to disable drag and drop support for widgets.
87
+ * [#10937](http://dev.ckeditor.com/ticket/10937): [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget improvements:
88
+ * loading indicator ([#10948](http://dev.ckeditor.com/ticket/10948)),
89
+ * applying paragraph changes (like font color change) to iframe ([#10841](http://dev.ckeditor.com/ticket/10841)),
90
+ * Firefox and IE9 clipboard fixes ([#10857](http://dev.ckeditor.com/ticket/10857)),
91
+ * fixing same origin policy issue ([#10840](http://dev.ckeditor.com/ticket/10840)),
92
+ * fixing undo bugs ([#10842](http://dev.ckeditor.com/ticket/10842), [#10930](http://dev.ckeditor.com/ticket/10930)),
93
+ * fixing other minor bugs.
94
+ * [#10862](http://dev.ckeditor.com/ticket/10862): [Placeholder](http://ckeditor.com/addon/placeholder) plugin was rewritten as a widget.
95
+ * [#10822](http://dev.ckeditor.com/ticket/10822): Added styles system integration with non-editable elements (for example widgets) and their nested editables. Styles cannot change non-editable content and are applied in nested editable only if allowed by its type and content filter.
96
+ * [#10856](http://dev.ckeditor.com/ticket/10856): Menu buttons will now toggle the visibility of their panels when clicked multiple times. [Language](http://ckeditor.com/addon/language) plugin fixes: Added active language highlighting, added an option to remove the language.
97
+ * [#10028](http://dev.ckeditor.com/ticket/10028): New [`config.dialog_noConfirmCancel`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-dialog_noConfirmCancel) configuration option that eliminates the need to confirm closing of a dialog window when the user changed any of its fields.
98
+ * [#10848](http://dev.ckeditor.com/ticket/10848): Integrate remaining plugins ([Styles](http://ckeditor.com/addon/stylescombo), [Format](http://ckeditor.com/addon/format), [Font](http://ckeditor.com/addon/font), [Color Button](http://ckeditor.com/addon/colorbutton), [Language](http://ckeditor.com/addon/language) and [Indent](http://ckeditor.com/addon/indent)) with [active filter](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeFilter).
99
+ * [#10855](http://dev.ckeditor.com/ticket/10855): Change the extension of emoticons in the [BBCode](http://ckeditor.com/addon/bbcode) sample from GIF to PNG.
100
+
101
+ Fixed Issues:
102
+
103
+ * [#10831](http://dev.ckeditor.com/ticket/10831): [Enhanced Image](http://ckeditor.com/addon/image2): Merged `image2inline` and `image2block` into one `image2` widget.
104
+ * [#10835](http://dev.ckeditor.com/ticket/10835): [Enhanced Image](http://ckeditor.com/addon/image2): Improved visibility of the resize handle.
105
+ * [#10836](http://dev.ckeditor.com/ticket/10836): [Enhanced Image](http://ckeditor.com/addon/image2): Preserve custom mouse cursor while resizing the image.
106
+ * [#10939](http://dev.ckeditor.com/ticket/10939): [Firefox] [Enhanced Image](http://ckeditor.com/addon/image2): hovering the image causes it to change.
107
+ * [#10866](http://dev.ckeditor.com/ticket/10866): Fixed: Broken *Tab* key navigation in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window.
108
+ * [#10833](http://dev.ckeditor.com/ticket/10833): Fixed: *Lock ratio* option should be on by default in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window.
109
+ * [#10881](http://dev.ckeditor.com/ticket/10881): Various improvements to *Enter* key behavior in nested editables.
110
+ * [#10879](http://dev.ckeditor.com/ticket/10879): [Remove Format](http://ckeditor.com/addon/removeformat) should not leak from a nested editable.
111
+ * [#10877](http://dev.ckeditor.com/ticket/10877): Fixed: [WebSpellChecker](http://ckeditor.com/addon/wsc) fails to apply changes if a nested editable was focused.
112
+ * [#10877](http://dev.ckeditor.com/ticket/10877): Fixed: [SCAYT](http://ckeditor.com/addon/wsc) blocks typing in nested editables.
113
+ * [#11079](http://dev.ckeditor.com/ticket/11079): Add button icons to the [Placeholder](http://ckeditor.com/addon/placeholder) sample.
114
+ * [#10870](http://dev.ckeditor.com/ticket/10870): The `paste` command is no longer being disabled when the clipboard is empty.
115
+ * [#10854](http://dev.ckeditor.com/ticket/10854): Fixed: Firefox prepends `<br>` to `<body>`, so it is stripped by the HTML data processor.
116
+ * [#10823](http://dev.ckeditor.com/ticket/10823): Fixed: [Link](http://ckeditor.com/addon/link) plugin does not work with non-editable content.
117
+ * [#10828](http://dev.ckeditor.com/ticket/10828): [Magic Line](http://ckeditor.com/addon/magicline) integration with the Widget System.
118
+ * [#10865](http://dev.ckeditor.com/ticket/10865): Improved hiding copybin, so copying widgets works smoothly.
119
+ * [#11066](http://dev.ckeditor.com/ticket/11066): Widget's private parts use CSS reset.
120
+ * [#11027](http://dev.ckeditor.com/ticket/11027): Fixed: Block commands break on widgets; added the [`contentDomInvalidated`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-contentDomInvalidated) event.
121
+ * [#10430](http://dev.ckeditor.com/ticket/10430): Resolve dependence of the [Image](http://ckeditor.com/addon/image) plugin on the [Form Elements](http://ckeditor.com/addon/forms) plugin.
122
+ * [#10911](http://dev.ckeditor.com/ticket/10911): Fixed: Browser *Alt* hotkeys will no longer be blocked while a widget is focused.
123
+ * [#11082](http://dev.ckeditor.com/ticket/11082): Fixed: Selected widget is not copied or cut when using toolbar buttons or context menu.
124
+ * [#11083](http://dev.ckeditor.com/ticket/11083): Fixed list and div element application to block widgets.
125
+ * [#10887](http://dev.ckeditor.com/ticket/10887): Internet Explorer 8 compatibility issues related to the Widget System.
126
+ * [#11074](http://dev.ckeditor.com/ticket/11074): Temporarily disabled inline widget drag and drop, because of seriously buggy native `range#moveToPoint` method.
127
+ * [#11098](http://dev.ckeditor.com/ticket/11098): Fixed: Wrong selection position after undoing widget drag and drop.
128
+ * [#11110](http://dev.ckeditor.com/ticket/11110): Fixed: IFrame and Flash objects are being incorrectly pasted in certain conditions.
129
+ * [#11129](http://dev.ckeditor.com/ticket/11129): Page break is lost when loading data.
130
+ * [#11123](http://dev.ckeditor.com/ticket/11123): [Firefox] Widget is destroyed after being dragged outside of `<body>`.
131
+ * [#11124](http://dev.ckeditor.com/ticket/11124): Fixed the [Elements Path](http://ckeditor.com/addon/elementspath) in an editor using the [Div Editing Area](http://ckeditor.com/addon/divarea).
132
+
133
+ ## CKEditor 4.3 Beta
134
+
135
+ New Features:
136
+
137
+ * [#9764](http://dev.ckeditor.com/ticket/9764): Widget System.
138
+ * [Widget plugin](http://ckeditor.com/addon/widget) introducing the [Widget API](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget).
139
+ * New [`editor.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-enterMode) and [`editor.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-shiftEnterMode) properties &ndash; normalized versions of [`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) and [`config.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-shiftEnterMode).
140
+ * Dynamic editor settings. Starting from CKEditor 4.3 Beta, *Enter* mode values and [content filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) instances may be changed dynamically (for example when the caret was placed in an element in which editor features should be adjusted). When you are implementing a new editor feature, you should base its behavior on [dynamic](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeEnterMode) or [static](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-enterMode) *Enter* mode values depending on whether this feature works in selection context or globally on editor content.
141
+ * Dynamic *Enter* mode values &ndash; [`editor.setActiveEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setActiveEnterMode) method, [`editor.activeEnterModeChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-activeEnterModeChange) event, and two properties: [`editor.activeEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeEnterMode) and [`editor.activeShiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeShiftEnterMode).
142
+ * Dynamic content filter instances &ndash; [`editor.setActiveFilter`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setActiveFilter) method, [`editor.activeFilterChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-activeFilterChange) event, and [`editor.activeFilter`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeFilter) property.
143
+ * "Fake" selection was introduced. It makes it possible to virtually select any element when the real selection remains hidden. See the [`selection.fake`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-fake) method.
144
+ * Default [`htmlParser.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter) rules are not applied to non-editable elements (elements with `contenteditable` attribute set to `false` and their descendants) anymore. To add a rule which will be applied to all elements you need to pass an additional argument to the [`filter.addRules`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter-method-addRules) method.
145
+ * Dozens of new methods were introduced &ndash; most interesting ones:
146
+ * [`document.find`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.document-method-find),
147
+ * [`document.findOne`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.document-method-findOne),
148
+ * [`editable.insertElementIntoRange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElementIntoRange),
149
+ * [`range.moveToClosestEditablePosition`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-moveToClosestEditablePosition),
150
+ * New methods for [`htmlParser.node`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.node) and [`htmlParser.element`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.element).
151
+ * [#10659](http://dev.ckeditor.com/ticket/10659): New [Enhanced Image](http://ckeditor.com/addon/image2) plugin that introduces a widget with integrated image captions, an option to center images, and dynamic "click and drag" resizing.
152
+ * [#10664](http://dev.ckeditor.com/ticket/10664): New [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin that introduces the MathJax widget.
153
+ * [#7987](https://dev.ckeditor.com/ticket/7987): New [Language](http://ckeditor.com/addon/language) plugin that implements Language toolbar button to support [WCAG 3.1.2 Language of Parts](http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html).
154
+ * [#10708](http://dev.ckeditor.com/ticket/10708): New [smileys](http://ckeditor.com/addon/smiley).
155
+
156
+ ## CKEditor 4.2.3
157
+
158
+ Fixed Issues:
159
+
160
+ * [#10994](http://dev.ckeditor.com/ticket/10994): Fixed: Loading external jQuery library when opening the [jQuery Adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) sample directly from file.
161
+ * [#10975](http://dev.ckeditor.com/ticket/10975): [IE] Fixed: Error thrown while opening the color palette.
162
+ * [#9929](http://dev.ckeditor.com/ticket/9929): [Blink/WebKit] Fixed: A non-breaking space is created once a character is deleted and a regular space is typed.
163
+ * [#10963](http://dev.ckeditor.com/ticket/10963): Fixed: JAWS issue with the keyboard shortcut for [Magic Line](http://ckeditor.com/addon/magicline).
164
+ * [#11096](http://dev.ckeditor.com/ticket/11096): Fixed: TypeError: Object has no method 'is'.
165
+
166
+ ## CKEditor 4.2.2
167
+
168
+ Fixed Issues:
169
+
170
+ * [#9314](http://dev.ckeditor.com/ticket/9314): Fixed: Incorrect error message on closing a dialog window without saving changs.
171
+ * [#10308](http://dev.ckeditor.com/ticket/10308): [IE10] Fixed: Unspecified error when deleting a row.
172
+ * [#10945](http://dev.ckeditor.com/ticket/10945): [Chrome] Fixed: Clicking with a mouse inside the editor does not show the caret.
173
+ * [#10912](http://dev.ckeditor.com/ticket/10912): Prevent default action when content of a non-editable link is clicked.
174
+ * [#10913](http://dev.ckeditor.com/ticket/10913): Fixed [`CKEDITOR.plugins.addExternal`](http://docs.ckeditor.com/#!/api/CKEDITOR.resourceManager-method-addExternal) not handling paths including file name specified.
175
+ * [#10666](http://dev.ckeditor.com/ticket/10666): Fixed [`CKEDITOR.tools.isArray`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-isArray) not working cross frame.
176
+ * [#10910](http://dev.ckeditor.com/ticket/10910): [IE9] Fixed JavaScript error thrown in Compatibility Mode when clicking and/or typing in the editing area.
177
+ * [#10868](http://dev.ckeditor.com/ticket/10868): [IE8] Prevent the browser from crashing when applying the Inline Quotation style.
178
+ * [#10915](http://dev.ckeditor.com/ticket/10915): Fixed: Invalid CSS filter in the Kama skin.
179
+ * [#10914](http://dev.ckeditor.com/ticket/10914): Plugins [Indent List](http://ckeditor.com/addon/indentlist) and [Indent Block](http://ckeditor.com/addon/indentblock) are now included in the build configuration.
180
+ * [#10812](http://dev.ckeditor.com/ticket/10812): Fixed [`range#createBookmark2`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-createBookmark2) incorrectly normalizing offsets. This bug was causing many issues: [#10850](http://dev.ckeditor.com/ticket/10850), [#10842](http://dev.ckeditor.com/ticket/10842).
181
+ * [#10951](http://dev.ckeditor.com/ticket/10951): Reviewed and optimized focus handling on panels (combo, menu buttons, color buttons, and context menu) to enhance accessibility. Fixed [#10705](http://dev.ckeditor.com/ticket/10705), [#10706](http://dev.ckeditor.com/ticket/10706) and [#10707](http://dev.ckeditor.com/ticket/10707).
182
+ * [#10704](http://dev.ckeditor.com/ticket/10704): Fixed a JAWS issue with the Select Color dialog window title not being announced.
183
+ * [#10753](http://dev.ckeditor.com/ticket/10753): The floating toolbar in inline instances now has a dedicated accessibility label.
184
+
185
+ ## CKEditor 4.2.1
186
+
187
+ Fixed Issues:
188
+
189
+ * [#10301](http://dev.ckeditor.com/ticket/10301): [IE9-10] Undo fails after 3+ consecutive paste actions with a JavaScript error.
190
+ * [#10689](http://dev.ckeditor.com/ticket/10689): Save toolbar button saves only the first editor instance.
191
+ * [#10368](http://dev.ckeditor.com/ticket/10368): Move language reading direction definition (`dir`) from main language file to core.
192
+ * [#9330](http://dev.ckeditor.com/ticket/9330): Fixed pasting anchors from MS Word.
193
+ * [#8103](http://dev.ckeditor.com/ticket/8103): Fixed pasting nested lists from MS Word.
194
+ * [#9958](http://dev.ckeditor.com/ticket/9958): [IE9] Pressing the "OK" button will trigger the `onbeforeunload` event in the popup dialog.
195
+ * [#10662](http://dev.ckeditor.com/ticket/10662): Fixed styles from the Styles drop-down list not registering to the ACF in case when the [Shared Spaces plugin](http://ckeditor.com/addon/sharedspace) is used.
196
+ * [#9654](http://dev.ckeditor.com/ticket/9654): Problems with Internet Explorer 10 Quirks Mode.
197
+ * [#9816](http://dev.ckeditor.com/ticket/9816): Floating toolbar does not reposition vertically in several cases.
198
+ * [#10646](http://dev.ckeditor.com/ticket/10646): Removing a selected sublist or nested table with *Backspace/Delete* removes the parent element.
199
+ * [#10623](http://dev.ckeditor.com/ticket/10623): [WebKit] Page is scrolled when opening a drop-down list.
200
+ * [#10004](http://dev.ckeditor.com/ticket/10004): [ChromeVox] Button names are not announced.
201
+ * [#10731](http://dev.ckeditor.com/ticket/10731): [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin breaks cloning of editor configuration.
202
+ * It is now possible to set per instance [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin configuration instead of setting the configuration globally.
203
+
204
+ ## CKEditor 4.2
205
+
206
+ **Important Notes:**
207
+
208
+ * Dropped compatibility support for Internet Explorer 7 and Firefox 3.6.
209
+
210
+ * Both the Basic and the Standard distribution packages will not contain the new [Indent Block](http://ckeditor.com/addon/indentblock) plugin. Because of this the [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) might remove block indentations from existing contents. If you want to prevent this, either [add an appropriate ACF rule to your filter](http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules) or create a custom build based on the Basic/Standard package and add the Indent Block plugin in [CKBuilder](http://ckeditor.com/builder).
211
+
212
+ New Features:
213
+
214
+ * [#10027](http://dev.ckeditor.com/ticket/10027): Separated list and block indentation into two plugins: [Indent List](http://ckeditor.com/addon/indentlist) and [Indent Block](http://ckeditor.com/addon/indentblock).
215
+ * [#8244](http://dev.ckeditor.com/ticket/8244): Use *(Shift+)Tab* to indent and outdent lists.
216
+ * [#10281](http://dev.ckeditor.com/ticket/10281): The [jQuery Adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) is now available. Several jQuery-related issues fixed: [#8261](http://dev.ckeditor.com/ticket/8261), [#9077](http://dev.ckeditor.com/ticket/9077), [#8710](http://dev.ckeditor.com/ticket/8710), [#8530](http://dev.ckeditor.com/ticket/8530), [#9019](http://dev.ckeditor.com/ticket/9019), [#6181](http://dev.ckeditor.com/ticket/6181), [#7876](http://dev.ckeditor.com/ticket/7876), [#6906](http://dev.ckeditor.com/ticket/6906).
217
+ * [#10042](http://dev.ckeditor.com/ticket/10042): Introduced [`config.title`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-title) setting to change the human-readable title of the editor.
218
+ * [#9794](http://dev.ckeditor.com/ticket/9794): Added [`editor.onChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event.
219
+ * [#9923](http://dev.ckeditor.com/ticket/9923): HiDPI support in the editor UI. HiDPI icons for [Moono skin](http://ckeditor.com/addon/moono) added.
220
+ * [#8031](http://dev.ckeditor.com/ticket/8031): Handle `required` attributes on `<textarea>` elements &mdash; introduced [`editor.required`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-required) event.
221
+ * [#10280](http://dev.ckeditor.com/ticket/10280): Ability to replace `<textarea>` elements with the inline editor.
222
+
223
+ Fixed Issues:
224
+
225
+ * [#10599](http://dev.ckeditor.com/ticket/10599): [Indent](http://ckeditor.com/addon/indent) plugin is no longer required by the [List](http://ckeditor.com/addon/list) plugin.
226
+ * [#10370](http://dev.ckeditor.com/ticket/10370): Inconsistency in data events between framed and inline editors.
227
+ * [#10438](http://dev.ckeditor.com/ticket/10438): [FF, IE] No selection is done on an editable element on executing [`editor.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData).
228
+
229
+ ## CKEditor 4.1.3
230
+
231
+ New Features:
232
+
233
+ * Added new translation: Indonesian.
234
+
235
+ Fixed Issues:
236
+
237
+ * [#10644](http://dev.ckeditor.com/ticket/10644): Fixed a critical bug when pasting plain text in Blink-based browsers.
238
+ * [#5189](http://dev.ckeditor.com/ticket/5189): [Find/Replace](http://ckeditor.com/addon/find) dialog window: rename "Cancel" button to "Close".
239
+ * [#10562](http://dev.ckeditor.com/ticket/10562): [Housekeeping] Unified CSS gradient filter formats in the [Moono](http://ckeditor.com/addon/moono) skin.
240
+ * [#10537](http://dev.ckeditor.com/ticket/10537): Advanced Content Filter should register a default rule for [`config.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-shiftEnterMode).
241
+ * [#10610](http://dev.ckeditor.com/ticket/10610): [`CKEDITOR.dialog.addIframe()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog-static-method-addIframe) incorrectly sets the iframe size in dialog windows.
242
+
243
+ ## CKEditor 4.1.2
244
+
245
+ New Features:
246
+
247
+ * Added new translation: Sinhala.
248
+
249
+ Fixed Issues:
250
+
251
+ * [#10339](http://dev.ckeditor.com/ticket/10339): Fixed: Error thrown when inserted data was totally stripped out after filtering and processing.
252
+ * [#10298](http://dev.ckeditor.com/ticket/10298): Fixed: Data processor breaks attributes containing protected parts.
253
+ * [#10367](http://dev.ckeditor.com/ticket/10367): Fixed: [`editable.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertText) loses characters when `RegExp` replace controls are being inserted.
254
+ * [#10165](http://dev.ckeditor.com/ticket/10165): [IE] Access denied error when `document.domain` has been altered.
255
+ * [#9761](http://dev.ckeditor.com/ticket/9761): Update the *Backspace* key state in [`keystrokeHandler.blockedKeystrokes`](http://docs.ckeditor.com/#!/api/CKEDITOR.keystrokeHandler-property-blockedKeystrokes) when calling [`editor.setReadOnly()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setReadOnly).
256
+ * [#6504](http://dev.ckeditor.com/ticket/6504): Fixed: Race condition while loading several [`config.customConfig`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-customConfig) files.
257
+ * [#10146](http://dev.ckeditor.com/ticket/10146): [Firefox] Empty lines are being removed while [`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) is [`CKEDITOR.ENTER_BR`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-ENTER_BR).
258
+ * [#10360](http://dev.ckeditor.com/ticket/10360): Fixed: ARIA `role="application"` should not be used for dialog windows.
259
+ * [#10361](http://dev.ckeditor.com/ticket/10361): Fixed: ARIA `role="application"` should not be used for floating panels.
260
+ * [#10510](http://dev.ckeditor.com/ticket/10510): Introduced unique voice labels to differentiate between different editor instances.
261
+ * [#9945](http://dev.ckeditor.com/ticket/9945): [iOS] Scrolling not possible on iPad.
262
+ * [#10389](http://dev.ckeditor.com/ticket/10389): Fixed: Invalid HTML in the "Text and Table" template.
263
+ * [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin user interface was changed to match CKEditor 4 style.
264
+
265
+ ## CKEditor 4.1.1
266
+
267
+ New Features:
268
+
269
+ * Added new translation: Albanian.
270
+
271
+ Fixed Issues:
272
+
273
+ * [#10172](http://dev.ckeditor.com/ticket/10172): Pressing *Delete* or *Backspace* in an empty table cell moves the cursor to the next/previous cell.
274
+ * [#10219](http://dev.ckeditor.com/ticket/10219): Error thrown when destroying an editor instance in parallel with a `mouseup` event.
275
+ * [#10265](http://dev.ckeditor.com/ticket/10265): Wrong loop type in the [File Browser](http://ckeditor.com/addon/filebrowser) plugin.
276
+ * [#10249](http://dev.ckeditor.com/ticket/10249): Wrong undo/redo states at start.
277
+ * [#10268](http://dev.ckeditor.com/ticket/10268): [Show Blocks](http://ckeditor.com/addon/showblocks) does not recover after switching to Source view.
278
+ * [#9995](http://dev.ckeditor.com/ticket/9995): HTML code in the `<textarea>` should not be modified by the [`htmlDataProcessor`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor).
279
+ * [#10320](http://dev.ckeditor.com/ticket/10320): [Justify](http://ckeditor.com/addon/justify) plugin should add elements to Advanced Content Filter based on current [Enter mode](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode).
280
+ * [#10260](http://dev.ckeditor.com/ticket/10260): Fixed: Advanced Content Filter blocks [`tabSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-tabSpaces). Unified `data-cke-*` attributes filtering.
281
+ * [#10315](http://dev.ckeditor.com/ticket/10315): [WebKit] [Undo manager](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.undo.UndoManager) should not record snapshots after a filling character was added/removed.
282
+ * [#10291](http://dev.ckeditor.com/ticket/10291): [WebKit] Space after a filling character should be secured.
283
+ * [#10330](http://dev.ckeditor.com/ticket/10330): [WebKit] The filling character is not removed on `keydown` in specific cases.
284
+ * [#10285](http://dev.ckeditor.com/ticket/10285): Fixed: Styled text pasted from MS Word causes an infinite loop.
285
+ * [#10131](http://dev.ckeditor.com/ticket/10131): Fixed: [`undoManager.update()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.undo.UndoManager-method-update) does not refresh the command state.
286
+ * [#10337](http://dev.ckeditor.com/ticket/10337): Fixed: Unable to remove `<s>` using [Remove Format](http://ckeditor.com/addon/removeformat).
287
+
288
+ ## CKEditor 4.1
289
+
290
+ Fixed Issues:
291
+
292
+ * [#10192](http://dev.ckeditor.com/ticket/10192): Closing lists with the *Enter* key does not work with [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) in several cases.
293
+ * [#10191](http://dev.ckeditor.com/ticket/10191): Fixed allowed content rules unification, so the [`filter.allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter-property-allowedContent) property always contains rules in the same format.
294
+ * [#10224](http://dev.ckeditor.com/ticket/10224): Advanced Content Filter does not remove non-empty `<a>` elements anymore.
295
+ * Minor issues in plugin integration with Advanced Content Filter:
296
+ * [#10166](http://dev.ckeditor.com/ticket/10166): Added transformation from the `align` attribute to `float` style to preserve backward compatibility after the introduction of Advanced Content Filter.
297
+ * [#10195](http://dev.ckeditor.com/ticket/10195): [Image](http://ckeditor.com/addon/image) plugin no longer registers rules for links to Advanced Content Filter.
298
+ * [#10213](http://dev.ckeditor.com/ticket/10213): [Justify](http://ckeditor.com/addon/justify) plugin is now correctly registering rules to Advanced Content Filter when [`config.justifyClasses`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-justifyClasses) is defined.
299
+
300
+ ## CKEditor 4.1 RC
301
+
302
+ New Features:
303
+
304
+ * [#9829](http://dev.ckeditor.com/ticket/9829): Advanced Content Filter - data and features activation based on editor configuration.
305
+
306
+ Brand new data filtering system that works in 2 modes:
307
+
308
+ * Based on loaded features (toolbar items, plugins) - the data will be filtered according to what the editor in its
309
+ current configuration can handle.
310
+ * Based on [`config.allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-allowedContent) rules - the data
311
+ will be filtered and the editor features (toolbar items, commands, keystrokes) will be enabled if they are allowed.
312
+
313
+ See the `datafiltering.html` sample, [guides](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) and [`CKEDITOR.filter` API documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.filter).
314
+ * [#9387](http://dev.ckeditor.com/ticket/9387): Reintroduced [Shared Spaces](http://ckeditor.com/addon/sharedspace) - the ability to display toolbar and bottom editor space in selected locations and to share them by different editor instances.
315
+ * [#9907](http://dev.ckeditor.com/ticket/9907): Added the [`contentPreview`](http://docs.ckeditor.com/#!/api/CKEDITOR-event-contentPreview) event for preview data manipulation.
316
+ * [#9713](http://dev.ckeditor.com/ticket/9713): Introduced the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin that brings raw HTML editing for inline editor instances.
317
+ * Included in [#9829](http://dev.ckeditor.com/ticket/9829): Introduced new events, [`toHtml`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toHtml) and [`toDataFormat`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toDataFormat), allowing for better integration with data processing.
318
+ * [#9981](http://dev.ckeditor.com/ticket/9981): Added ability to filter [`htmlParser.fragment`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.fragment), [`htmlParser.element`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.element) etc. by many [`htmlParser.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter)s before writing structure to an HTML string.
319
+ * Included in [#10103](http://dev.ckeditor.com/ticket/10103):
320
+ * Introduced the [`editor.status`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-status) property to make it easier to check the current status of the editor.
321
+ * Default [`command`](http://docs.ckeditor.com/#!/api/CKEDITOR.command) state is now [`CKEDITOR.TRISTATE_DISABLE`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-TRISTATE_DISABLED). It will be activated on [`editor.instanceReady`](http://docs.ckeditor.com/#!/api/CKEDITOR-event-instanceReady) or immediately after being added if the editor is already initialized.
322
+ * [#9796](http://dev.ckeditor.com/ticket/9796): Introduced `<s>` as a default tag for strikethrough, which replaces obsolete `<strike>` in HTML5.
323
+
324
+ ## CKEditor 4.0.3
325
+
326
+ Fixed Issues:
327
+
328
+ * [#10196](http://dev.ckeditor.com/ticket/10196): Fixed context menus not opening with keyboard shortcuts when [Autogrow](http://ckeditor.com/addon/autogrow) is enabled.
329
+ * [#10212](http://dev.ckeditor.com/ticket/10212): [IE7-10] Undo command throws errors after multiple switches between Source and WYSIWYG view.
330
+ * [#10219](http://dev.ckeditor.com/ticket/10219): [Inline editor] Error thrown after calling [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy).
331
+
332
+ ## CKEditor 4.0.2
333
+
334
+ Fixed Issues:
335
+
336
+ * [#9779](http://dev.ckeditor.com/ticket/9779): Fixed overriding [`CKEDITOR.getUrl()`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl) with `CKEDITOR_GETURL`.
337
+ * [#9772](http://dev.ckeditor.com/ticket/9772): Custom buttons in the dialog window footer have different look and size ([Moono](http://ckeditor.com/addon/moono), [Kama](http://ckeditor.com/addon/kama) skins).
338
+ * [#9029](http://dev.ckeditor.com/ticket/9029): Custom styles added with the [`stylesSet.add()`](http://docs.ckeditor.com/#!/api/CKEDITOR.stylesSet-method-add) are displayed in the wrong order.
339
+ * [#9887](http://dev.ckeditor.com/ticket/9887): Disable [Magic Line](http://ckeditor.com/addon/magicline) when [`editor.readOnly`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) is set.
340
+ * [#9882](http://dev.ckeditor.com/ticket/9882): Fixed empty document title on [`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData) if set via the Document Properties dialog window.
341
+ * [#9773](http://dev.ckeditor.com/ticket/9773): Fixed rendering problems with selection fields in the Kama skin.
342
+ * [#9851](http://dev.ckeditor.com/ticket/9851): The [`selectionChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-selectionChange) event is not fired when mouse selection ended outside editable.
343
+ * [#9903](http://dev.ckeditor.com/ticket/9903): [Inline editor] Bad positioning of floating space with page horizontal scroll.
344
+ * [#9872](http://dev.ckeditor.com/ticket/9872): [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) returns `true` when called onload. Removed the obsolete `editor.mayBeDirty` flag.
345
+ * [#9893](http://dev.ckeditor.com/ticket/9893): [IE] Fixed broken toolbar when editing mixed direction content in Quirks mode.
346
+ * [#9845](http://dev.ckeditor.com/ticket/9845): Fixed TAB navigation in the [Link](http://ckeditor.com/addon/link) dialog window when the Anchor option is used and no anchors are available.
347
+ * [#9883](http://dev.ckeditor.com/ticket/9883): Maximizing was making the entire page editable with [divarea](http://ckeditor.com/addon/divarea)-based editors.
348
+ * [#9940](http://dev.ckeditor.com/ticket/9940): [Firefox] Navigating back to a page with the editor was making the entire page editable.
349
+ * [#9966](http://dev.ckeditor.com/ticket/9966): Fixed: Unable to type square brackets with French keyboard layout. Changed [Magic Line](http://ckeditor.com/addon/magicline) keystrokes.
350
+ * [#9507](http://dev.ckeditor.com/ticket/9507): [Firefox] Selection is moved before editable position when the editor is focused for the first time.
351
+ * [#9947](http://dev.ckeditor.com/ticket/9947): [WebKit] Editor overflows parent container in some edge cases.
352
+ * [#10105](http://dev.ckeditor.com/ticket/10105): Fixed: Broken [sourcearea](http://ckeditor.com/addon/sourcearea) view when an RTL language is set.
353
+ * [#10123](http://dev.ckeditor.com/ticket/10123): [WebKit] Fixed: Several dialog windows have broken layout since the latest WebKit release.
354
+ * [#10152](http://dev.ckeditor.com/ticket/10152): Fixed: Invalid ARIA property used on menu items.
355
+
356
+ ## CKEditor 4.0.1.1
357
+
358
+ Fixed Issues:
359
+
360
+ * Security update: Added protection against XSS attack and possible path disclosure in the PHP sample.
361
+
362
+ ## CKEditor 4.0.1
363
+
364
+ Fixed Issues:
365
+
366
+ * [#9655](http://dev.ckeditor.com/ticket/9655): Support for IE Quirks Mode in the new [Moono skin](http://ckeditor.com/addon/moono).
367
+ * Accessibility issues (mainly in inline editor): [#9364](http://dev.ckeditor.com/ticket/9364), [#9368](http://dev.ckeditor.com/ticket/9368), [#9369](http://dev.ckeditor.com/ticket/9369), [#9370](http://dev.ckeditor.com/ticket/9370), [#9541](http://dev.ckeditor.com/ticket/9541), [#9543](http://dev.ckeditor.com/ticket/9543), [#9841](http://dev.ckeditor.com/ticket/9841), [#9844](http://dev.ckeditor.com/ticket/9844).
368
+ * [Magic Line](http://ckeditor.com/addon/magicline) plugin:
369
+ * [#9481](http://dev.ckeditor.com/ticket/9481): Added accessibility support for Magic Line.
370
+ * [#9509](http://dev.ckeditor.com/ticket/9509): Added Magic Line support for forms.
371
+ * [#9573](http://dev.ckeditor.com/ticket/9573): Magic Line does not disappear on `mouseout` in a specific case.
372
+ * [#9754](http://dev.ckeditor.com/ticket/9754): [WebKit] Cutting & pasting simple unformatted text generates an inline wrapper in WebKit browsers.
373
+ * [#9456](http://dev.ckeditor.com/ticket/9456): [Chrome] Properly paste bullet list style from MS Word.
374
+ * [#9699](http://dev.ckeditor.com/ticket/9699), [#9758](http://dev.ckeditor.com/ticket/9758): Improved selection locking when selecting by dragging.
375
+ * Context menu:
376
+ * [#9712](http://dev.ckeditor.com/ticket/9712): Opening the context menu destroys editor focus.
377
+ * [#9366](http://dev.ckeditor.com/ticket/9366): Context menu should be displayed over the floating toolbar.
378
+ * [#9706](http://dev.ckeditor.com/ticket/9706): Context menu generates a JavaScript error in inline mode when the editor is attached to a header element.
379
+ * [#9800](http://dev.ckeditor.com/ticket/9800): Hide float panel when resizing the window.
380
+ * [#9721](http://dev.ckeditor.com/ticket/9721): Padding in content of div-based editor puts the editing area under the bottom UI space.
381
+ * [#9528](http://dev.ckeditor.com/ticket/9528): Host page `box-sizing` style should not influence the editor UI elements.
382
+ * [#9503](http://dev.ckeditor.com/ticket/9503): [Form Elements](http://ckeditor.com/addon/forms) plugin adds context menu listeners only on supported input types. Added support for `tel`, `email`, `search` and `url` input types.
383
+ * [#9769](http://dev.ckeditor.com/ticket/9769): Improved floating toolbar positioning in a narrow window.
384
+ * [#9875](http://dev.ckeditor.com/ticket/9875): Table dialog window does not populate width correctly.
385
+ * [#8675](http://dev.ckeditor.com/ticket/8675): Deleting cells in a nested table removes the outer table cell.
386
+ * [#9815](http://dev.ckeditor.com/ticket/9815): Cannot edit dialog window fields in an editor initialized in the jQuery UI modal dialog.
387
+ * [#8888](http://dev.ckeditor.com/ticket/8888): CKEditor dialog windows do not show completely in a small window.
388
+ * [#9360](http://dev.ckeditor.com/ticket/9360): [Inline editor] Blocks shown for a `<div>` element stay permanently even after the user exits editing the `<div>`.
389
+ * [#9531](http://dev.ckeditor.com/ticket/9531): [Firefox & Inline editor] Toolbar is lost when closing the Format drop-down list by clicking its button.
390
+ * [#9553](http://dev.ckeditor.com/ticket/9553): Table width incorrectly set when the `border-width` style is specified.
391
+ * [#9594](http://dev.ckeditor.com/ticket/9594): Cannot tab past CKEditor when it is in read-only mode.
392
+ * [#9658](http://dev.ckeditor.com/ticket/9658): [IE9] Justify not working on selected images.
393
+ * [#9686](http://dev.ckeditor.com/ticket/9686): Added missing contents styles for `<pre>` elements.
394
+ * [#9709](http://dev.ckeditor.com/ticket/9709): [Paste from Word](http://ckeditor.com/addon/pastefromword) should not depend on configuration from other styles.
395
+ * [#9726](http://dev.ckeditor.com/ticket/9726): Removed [Color Dialog](http://ckeditor.com/addon/colordialog) plugin dependency from [Table Tools](http://ckeditor.com/addon/tabletools).
396
+ * [#9765](http://dev.ckeditor.com/ticket/9765): Toolbar Collapse command documented incorrectly in the [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp) dialog window.
397
+ * [#9771](http://dev.ckeditor.com/ticket/9771): [WebKit & Opera] Fixed scrolling issues when pasting.
398
+ * [#9787](http://dev.ckeditor.com/ticket/9787): [IE9] `onChange` is not fired for checkboxes in dialogs.
399
+ * [#9842](http://dev.ckeditor.com/ticket/9842): [Firefox 17] When opening a toolbar menu for the first time and pressing the *Down Arrow* key, focus goes to the next toolbar button instead of the menu options.
400
+ * [#9847](http://dev.ckeditor.com/ticket/9847): [Elements Path](http://ckeditor.com/addon/elementspath) should not be initialized in the inline editor.
401
+ * [#9853](http://dev.ckeditor.com/ticket/9853): [`editor.addRemoveFormatFilter()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-addRemoveFormatFilter) is exposed before it really works.
402
+ * [#8893](http://dev.ckeditor.com/ticket/8893): Value of the [`pasteFromWordCleanupFile`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordCleanupFile) configuration option is now taken from the instance configuration.
403
+ * [#9693](http://dev.ckeditor.com/ticket/9693): Removed "Live Preview" checkbox from UI color picker.
404
+
405
+
406
+ ## CKEditor 4.0
407
+
408
+ The first stable release of the new CKEditor 4 code line.
409
+
410
+ The CKEditor JavaScript API has been kept compatible with CKEditor 4, whenever
411
+ possible. The list of relevant changes can be found in the [API Changes page of
412
+ the CKEditor 4 documentation][1].
413
+
414
+ [1]: http://docs.ckeditor.com/#!/guide/dev_api_changes "API Changes"