base2_ckeditor 4.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +39 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +240 -0
  5. data/Rakefile +66 -0
  6. data/app/assets/javascripts/ckeditor/application.js +5 -0
  7. data/app/assets/javascripts/ckeditor/config.js +92 -0
  8. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_add.jpg +0 -0
  9. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_add.png +0 -0
  10. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_del.png +0 -0
  11. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_more.gif +0 -0
  12. data/app/assets/javascripts/ckeditor/filebrowser/images/preloader.gif +0 -0
  13. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/avi.gif +0 -0
  14. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/ckfnothumb.gif +0 -0
  15. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/doc.gif +0 -0
  16. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/docx.gif +0 -0
  17. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/exe.gif +0 -0
  18. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/gz.gif +0 -0
  19. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/htm.gif +0 -0
  20. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/jpg.gif +0 -0
  21. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/mp3.gif +0 -0
  22. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/mpg.gif +0 -0
  23. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/pdf.gif +0 -0
  24. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/psd.gif +0 -0
  25. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/rar.gif +0 -0
  26. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/swf.gif +0 -0
  27. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/tar.gif +0 -0
  28. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/txt.gif +0 -0
  29. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/unknown.gif +0 -0
  30. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/wmv.gif +0 -0
  31. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/xls.gif +0 -0
  32. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/xlsx.gif +0 -0
  33. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/zip.gif +0 -0
  34. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/application.js.erb +220 -0
  35. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +1301 -0
  36. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.min.js +4 -0
  37. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.tmpl.min.js +10 -0
  38. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/rails.js +373 -0
  39. data/app/assets/javascripts/ckeditor/filebrowser/stylesheets/uploader.css.erb +118 -0
  40. data/app/assets/javascripts/ckeditor/init.js.erb +16 -0
  41. data/app/assets/javascripts/ckeditor/override.js.erb +21 -0
  42. data/app/assets/stylesheets/ckeditor/application.css +6 -0
  43. data/app/controllers/ckeditor/application_controller.rb +27 -0
  44. data/app/controllers/ckeditor/attachment_files_controller.rb +28 -0
  45. data/app/controllers/ckeditor/pictures_controller.rb +28 -0
  46. data/app/helpers/ckeditor/application_helper.rb +11 -0
  47. data/app/views/ckeditor/attachment_files/index.html.erb +15 -0
  48. data/app/views/ckeditor/pictures/index.html.erb +15 -0
  49. data/app/views/ckeditor/shared/_asset.html.erb +20 -0
  50. data/app/views/ckeditor/shared/_asset_tmpl.html.erb +22 -0
  51. data/app/views/layouts/ckeditor/application.html.erb +30 -0
  52. data/config/locales/cs.ckeditor.yml +8 -0
  53. data/config/locales/de.ckeditor.yml +8 -0
  54. data/config/locales/el-GR.cdkeditor.yml +8 -0
  55. data/config/locales/en.ckeditor.yml +8 -0
  56. data/config/locales/es.ckeditor.yml +8 -0
  57. data/config/locales/fr.ckeditor.yml +8 -0
  58. data/config/locales/hu.ckeditor.yml +8 -0
  59. data/config/locales/it.ckeditor.yml +8 -0
  60. data/config/locales/nl.ckeditor.yml +8 -0
  61. data/config/locales/pl.ckeditor.yml +8 -0
  62. data/config/locales/pt-BR.ckeditor.yml +8 -0
  63. data/config/locales/pt-PT.ckeditor.yml +8 -0
  64. data/config/locales/ru.ckeditor.yml +8 -0
  65. data/config/locales/sv-SE.ckeditor.yml +8 -0
  66. data/config/locales/uk.ckeditor.yml +8 -0
  67. data/config/locales/zh-CN.ckeditor.yml +8 -0
  68. data/config/routes.rb +4 -0
  69. data/lib/ckeditor.rb +184 -0
  70. data/lib/ckeditor/backend/carrierwave.rb +64 -0
  71. data/lib/ckeditor/backend/dragonfly.rb +45 -0
  72. data/lib/ckeditor/backend/paperclip.rb +56 -0
  73. data/lib/ckeditor/engine.rb +38 -0
  74. data/lib/ckeditor/helpers/controllers.rb +34 -0
  75. data/lib/ckeditor/helpers/form_builder.rb +11 -0
  76. data/lib/ckeditor/helpers/form_helper.rb +11 -0
  77. data/lib/ckeditor/helpers/view_helper.rb +11 -0
  78. data/lib/ckeditor/hooks/cancan.rb +46 -0
  79. data/lib/ckeditor/hooks/formtastic.rb +12 -0
  80. data/lib/ckeditor/hooks/simple_form.rb +20 -0
  81. data/lib/ckeditor/http.rb +90 -0
  82. data/lib/ckeditor/orm/active_record.rb +24 -0
  83. data/lib/ckeditor/orm/base.rb +50 -0
  84. data/lib/ckeditor/orm/mongoid.rb +41 -0
  85. data/lib/ckeditor/text_area.rb +52 -0
  86. data/lib/ckeditor/utils.rb +87 -0
  87. data/lib/ckeditor/version.rb +6 -0
  88. data/lib/generators/ckeditor/install_generator.rb +83 -0
  89. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/asset.rb +7 -0
  90. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/attachment_file.rb +7 -0
  91. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/picture.rb +7 -0
  92. data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +26 -0
  93. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/asset.rb +7 -0
  94. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/attachment_file.rb +7 -0
  95. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/picture.rb +12 -0
  96. data/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb +27 -0
  97. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/asset.rb +4 -0
  98. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/attachment_file.rb +12 -0
  99. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/picture.rb +13 -0
  100. data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +26 -0
  101. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +36 -0
  102. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +47 -0
  103. data/lib/generators/ckeditor/templates/base/dragonfly/initializer.rb +26 -0
  104. data/lib/generators/ckeditor/templates/ckeditor.rb +23 -0
  105. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/asset.rb +7 -0
  106. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/attachment_file.rb +7 -0
  107. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/picture.rb +7 -0
  108. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/asset.rb +5 -0
  109. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/attachment_file.rb +12 -0
  110. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/picture.rb +13 -0
  111. data/test/ckeditor_test.rb +66 -0
  112. data/test/controllers/attachment_files_controller_test.rb +63 -0
  113. data/test/controllers/pictures_controller_test.rb +64 -0
  114. data/test/dummy/Rakefile +7 -0
  115. data/test/dummy/app/assets/javascripts/application.js +11 -0
  116. data/test/dummy/app/assets/stylesheets/application.css +7 -0
  117. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  118. data/test/dummy/app/controllers/application_controller.rb +4 -0
  119. data/test/dummy/app/controllers/posts_controller.rb +83 -0
  120. data/test/dummy/app/helpers/application_helper.rb +2 -0
  121. data/test/dummy/app/helpers/posts_helper.rb +2 -0
  122. data/test/dummy/app/models/post.rb +17 -0
  123. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  124. data/test/dummy/app/views/posts/_form.html.erb +30 -0
  125. data/test/dummy/app/views/posts/edit.html.erb +6 -0
  126. data/test/dummy/app/views/posts/index.html.erb +27 -0
  127. data/test/dummy/app/views/posts/new.html.erb +5 -0
  128. data/test/dummy/app/views/posts/show.html.erb +5 -0
  129. data/test/dummy/config.ru +4 -0
  130. data/test/dummy/config/application.rb +63 -0
  131. data/test/dummy/config/boot.rb +10 -0
  132. data/test/dummy/config/database.yml +25 -0
  133. data/test/dummy/config/environment.rb +5 -0
  134. data/test/dummy/config/environments/development.rb +37 -0
  135. data/test/dummy/config/environments/production.rb +67 -0
  136. data/test/dummy/config/environments/test.rb +37 -0
  137. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  138. data/test/dummy/config/initializers/ckeditor.rb +10 -0
  139. data/test/dummy/config/initializers/inflections.rb +15 -0
  140. data/test/dummy/config/initializers/mime_types.rb +5 -0
  141. data/test/dummy/config/initializers/secret_token.rb +7 -0
  142. data/test/dummy/config/initializers/session_store.rb +8 -0
  143. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  144. data/test/dummy/config/locales/en.yml +5 -0
  145. data/test/dummy/config/mongoid.yml +2 -0
  146. data/test/dummy/config/routes.rb +6 -0
  147. data/test/dummy/db/migrate/20110623120047_create_posts.rb +14 -0
  148. data/test/dummy/log/test.log +288 -0
  149. data/test/dummy/public/404.html +26 -0
  150. data/test/dummy/public/422.html +26 -0
  151. data/test/dummy/public/500.html +26 -0
  152. data/test/dummy/public/favicon.ico +0 -0
  153. data/test/dummy/script/rails +6 -0
  154. data/test/dummy/test/fixtures/files/rails.png +0 -0
  155. data/test/dummy/test/fixtures/files/rails.tar.gz +0 -0
  156. data/test/functional/posts_controller_test.rb +41 -0
  157. data/test/generators/install_generator_test.rb +97 -0
  158. data/test/integration/navigation_test.rb +7 -0
  159. data/test/models/attachment_file_test.rb +22 -0
  160. data/test/models/picture_test.rb +21 -0
  161. data/test/models/utils_test.rb +19 -0
  162. data/test/orm/active_record.rb +1 -0
  163. data/test/orm/mongoid.rb +6 -0
  164. data/test/support/controller_hooks.rb +27 -0
  165. data/test/support/helpers.rb +30 -0
  166. data/test/support/integration_case.rb +5 -0
  167. data/test/support/raw_post.rb +9 -0
  168. data/test/support/routes.txt +4 -0
  169. data/test/test_helper.rb +38 -0
  170. data/test/tmp/app/models/ckeditor/asset.rb +5 -0
  171. data/test/tmp/app/models/ckeditor/attachment_file.rb +12 -0
  172. data/test/tmp/app/models/ckeditor/picture.rb +13 -0
  173. data/test/tmp/config/initializers/ckeditor.rb +23 -0
  174. data/test/tmp/config/routes.rb +6 -0
  175. data/vendor/assets/javascripts/ckeditor/CHANGES.md +342 -0
  176. data/vendor/assets/javascripts/ckeditor/LICENSE.md +1264 -0
  177. data/vendor/assets/javascripts/ckeditor/README.md +39 -0
  178. data/vendor/assets/javascripts/ckeditor/adapters/jquery.js +10 -0
  179. data/vendor/assets/javascripts/ckeditor/build-config.js +167 -0
  180. data/vendor/assets/javascripts/ckeditor/ckeditor.js +973 -0
  181. data/vendor/assets/javascripts/ckeditor/config.js +10 -0
  182. data/vendor/assets/javascripts/ckeditor/contents.css +106 -0
  183. data/vendor/assets/javascripts/ckeditor/lang/en.js +5 -0
  184. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  185. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  186. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +9 -0
  187. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +7 -0
  188. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  189. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  190. data/vendor/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  191. data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +13 -0
  192. data/vendor/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  193. data/vendor/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -0
  194. data/vendor/assets/javascripts/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
  195. data/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +24 -0
  196. data/vendor/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +24 -0
  197. data/vendor/assets/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  198. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +8 -0
  199. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +8 -0
  200. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
  201. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -0
  202. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +8 -0
  203. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +20 -0
  204. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
  205. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +10 -0
  206. data/vendor/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  207. data/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  208. data/vendor/assets/javascripts/ckeditor/plugins/icons_hidpi.png +0 -0
  209. data/vendor/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
  210. data/vendor/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  211. data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +43 -0
  212. data/vendor/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
  213. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +8 -0
  214. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +37 -0
  215. data/vendor/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  216. data/vendor/assets/javascripts/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  217. data/vendor/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  218. data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  219. data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
  220. data/vendor/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  221. data/vendor/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +31 -0
  222. data/vendor/assets/javascripts/ckeditor/plugins/preview/preview.html +10 -0
  223. data/vendor/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +28 -0
  224. data/vendor/assets/javascripts/ckeditor/plugins/scayt/README.md +25 -0
  225. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +20 -0
  226. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  227. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  228. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  229. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  230. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  231. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  232. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  233. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  234. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  235. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  236. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  237. data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  238. data/vendor/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +10 -0
  239. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  240. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  241. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  242. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  243. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  244. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  245. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  246. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  247. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  248. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  249. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  250. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  251. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  252. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  253. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  254. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  255. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.png +0 -0
  256. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  257. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.png +0 -0
  258. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  259. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.png +0 -0
  260. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  261. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  262. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  263. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  264. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  265. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  266. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  267. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  268. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  269. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  270. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  271. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  272. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  273. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  274. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  275. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  276. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  277. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  278. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  279. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  280. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  281. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  282. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  283. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  284. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  285. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  286. data/vendor/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +21 -0
  287. data/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +16 -0
  288. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  289. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  290. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
  291. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  292. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  293. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  294. data/vendor/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +28 -0
  295. data/vendor/assets/javascripts/ckeditor/plugins/wsc/README.md +25 -0
  296. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  297. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmp.html +118 -0
  298. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  299. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  300. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +67 -0
  301. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  302. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css +5 -0
  303. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +5 -0
  304. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +5 -0
  305. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +5 -0
  306. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +5 -0
  307. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +5 -0
  308. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css +5 -0
  309. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +5 -0
  310. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css +5 -0
  311. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +5 -0
  312. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +5 -0
  313. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +5 -0
  314. data/vendor/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  315. data/vendor/assets/javascripts/ckeditor/skins/moono/icons_hidpi.png +0 -0
  316. data/vendor/assets/javascripts/ckeditor/skins/moono/images/arrow.png +0 -0
  317. data/vendor/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
  318. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  319. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  320. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  321. data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  322. data/vendor/assets/javascripts/ckeditor/skins/moono/images/lock-open.png +0 -0
  323. data/vendor/assets/javascripts/ckeditor/skins/moono/images/lock.png +0 -0
  324. data/vendor/assets/javascripts/ckeditor/skins/moono/images/refresh.png +0 -0
  325. data/vendor/assets/javascripts/ckeditor/skins/moono/readme.md +51 -0
  326. data/vendor/assets/javascripts/ckeditor/styles.js +111 -0
  327. metadata +460 -0
@@ -0,0 +1,64 @@
1
+ require 'mime/types'
2
+ require 'mini_magick'
3
+
4
+ module Ckeditor
5
+ module Backend
6
+ module CarrierWave
7
+ def self.included(base)
8
+ base.send(:include, InstanceMethods)
9
+ base.send(:extend, ClassMethods)
10
+ end
11
+
12
+ module ClassMethods
13
+ def self.extended(base)
14
+ base.class_eval do
15
+ process :extract_content_type
16
+ process :set_size
17
+ end
18
+ end
19
+ end
20
+
21
+ module InstanceMethods
22
+ # process :strip
23
+ def strip
24
+ manipulate! do |img|
25
+ img.strip
26
+ img = yield(img) if block_given?
27
+ img
28
+ end
29
+ end
30
+
31
+ # process :quality => 85
32
+ def quality(percentage)
33
+ manipulate! do |img|
34
+ img.quality(percentage)
35
+ img = yield(img) if block_given?
36
+ img
37
+ end
38
+ end
39
+
40
+ def extract_content_type
41
+ if file.content_type == 'application/octet-stream' || file.content_type.blank?
42
+ content_type = MIME::Types.type_for(original_filename).first
43
+ else
44
+ content_type = file.content_type
45
+ end
46
+
47
+ model.data_content_type = content_type.to_s
48
+ end
49
+
50
+ def set_size
51
+ model.data_file_size = file.size
52
+ end
53
+
54
+ def read_dimensions
55
+ if model.image? && model.has_dimensions?
56
+ magick = ::MiniMagick::Image.new(current_path)
57
+ model.width, model.height = magick[:width], magick[:height]
58
+ end
59
+ end
60
+
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,45 @@
1
+ module Ckeditor
2
+ module Backend
3
+ module Dragonfly
4
+ def self.included(base)
5
+ base.send(:include, InstanceMethods)
6
+ base.send(:extend, ClassMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+ def attachment_file_types
11
+ @attachment_file_types ||= Ckeditor.attachment_file_types.map(&:to_sym).tap do |formats|
12
+ # This is not ideal but Dragonfly doesn't return double
13
+ # extensions. Having said that, the other backends
14
+ # currently don't use attachment_file_types at all.
15
+ [ :bz2, :gz, :lzma, :xz ].each do |f|
16
+ formats << f if formats.include?("tar.#{f}".to_sym)
17
+ end
18
+ end
19
+ end
20
+
21
+ def image_file_types
22
+ @image_file_types ||= Ckeditor.image_file_types.map(&:to_sym)
23
+ end
24
+ end
25
+
26
+ module InstanceMethods
27
+ delegate :url, :path, :size, :image?, :width, :height, :to => :data
28
+
29
+ alias_attribute :data_file_name, :data_name
30
+ alias_attribute :data_content_type, :data_mime_type
31
+ alias_attribute :data_file_size, :data_size
32
+
33
+ private
34
+
35
+ def url_thumb_options
36
+ if data.basename.present?
37
+ { :basename => "thumb_#{data.basename}" }
38
+ else
39
+ {}
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,56 @@
1
+ require 'mime/types'
2
+
3
+ module Ckeditor
4
+ module Backend
5
+ module Paperclip
6
+ def self.included(base)
7
+ base.send(:include, InstanceMethods)
8
+ base.send(:extend, ClassMethods)
9
+ end
10
+
11
+ module ClassMethods
12
+ def self.extended(base)
13
+ base.class_eval do
14
+ before_validation :extract_content_type
15
+ before_create :read_dimensions, :parameterize_filename
16
+
17
+ delegate :url, :path, :styles, :size, :content_type, :to => :data
18
+ end
19
+ end
20
+ end
21
+
22
+ module InstanceMethods
23
+ def geometry
24
+ @geometry ||= begin
25
+ file = data.respond_to?(:queued_for_write) ? data.queued_for_write[:original] : data.to_file
26
+ ::Paperclip::Geometry.from_file(file)
27
+ end
28
+ end
29
+
30
+ protected
31
+
32
+ def parameterize_filename
33
+ unless data_file_name.blank?
34
+ filename = Ckeditor::Utils.parameterize_filename(data_file_name)
35
+ self.data.instance_write(:file_name, filename)
36
+ end
37
+ end
38
+
39
+ def read_dimensions
40
+ if image? && has_dimensions?
41
+ self.width = geometry.width
42
+ self.height = geometry.height
43
+ end
44
+ end
45
+
46
+ # Extract content_type from filename using mime/types gem
47
+ def extract_content_type
48
+ if data_content_type == "application/octet-stream" && !data_file_name.blank?
49
+ content_types = MIME::Types.type_for(data_file_name)
50
+ self.data_content_type = content_types.first.to_s unless content_types.empty?
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,38 @@
1
+ require 'rails'
2
+ require 'ckeditor'
3
+
4
+ module Ckeditor
5
+ class Engine < ::Rails::Engine
6
+ isolate_namespace Ckeditor
7
+
8
+ initializer "ckeditor.assets_precompile", :group => :all do |app|
9
+ app.config.assets.precompile += Ckeditor.assets
10
+ end
11
+
12
+ initializer "ckeditor.helpers" do
13
+ ActiveSupport.on_load(:action_controller) do
14
+ ActionController::Base.send :include, Ckeditor::Helpers::Controllers
15
+ end
16
+
17
+ ActiveSupport.on_load :action_view do
18
+ ActionView::Base.send :include, Ckeditor::Helpers::ViewHelper
19
+ ActionView::Base.send :include, Ckeditor::Helpers::FormHelper
20
+ ActionView::Helpers::FormBuilder.send :include, Ckeditor::Helpers::FormBuilder
21
+ end
22
+ end
23
+
24
+ initializer "ckeditor.hooks" do
25
+ if Object.const_defined?("Formtastic")
26
+ require "ckeditor/hooks/formtastic"
27
+ end
28
+
29
+ if Object.const_defined?("SimpleForm")
30
+ require "ckeditor/hooks/simple_form"
31
+ end
32
+
33
+ if Object.const_defined?("CanCan")
34
+ require "ckeditor/hooks/cancan"
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
1
+ module Ckeditor
2
+ module Helpers
3
+ module Controllers
4
+ extend ActiveSupport::Concern
5
+
6
+ protected
7
+
8
+ def ckeditor_current_user
9
+ instance_eval &Ckeditor.current_user_method
10
+ end
11
+
12
+ def ckeditor_authorize!
13
+ instance_eval &Ckeditor.authorize_with
14
+ end
15
+
16
+ def ckeditor_before_create_asset(asset)
17
+ asset.assetable = ckeditor_current_user if respond_to?(:current_user)
18
+ return true
19
+ end
20
+
21
+ def ckeditor_pictures_scope(options = {})
22
+ ckeditor_filebrowser_scope(options)
23
+ end
24
+
25
+ def ckeditor_attachment_files_scope(options = {})
26
+ ckeditor_filebrowser_scope(options)
27
+ end
28
+
29
+ def ckeditor_filebrowser_scope(options = {})
30
+ { :order => [:id, :desc] }.merge(options)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,11 @@
1
+ module Ckeditor
2
+ module Helpers
3
+ module FormBuilder
4
+ extend ActiveSupport::Concern
5
+
6
+ def cktext_area(method, options = {})
7
+ @template.send("cktext_area", @object_name, method, objectify_options(options))
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Ckeditor
2
+ module Helpers
3
+ module FormHelper
4
+ extend ActiveSupport::Concern
5
+
6
+ def cktext_area(object_name, method, options = {})
7
+ TextArea.new(self, options).render_instance_tag(object_name, method)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Ckeditor
2
+ module Helpers
3
+ module ViewHelper
4
+ extend ActiveSupport::Concern
5
+
6
+ def cktext_area_tag(name, content = nil, options = {})
7
+ TextArea.new(self, options).render_tag(name, content)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,46 @@
1
+ require 'cancan'
2
+
3
+ module Ckeditor
4
+ module Hooks
5
+ # This adapter is for the CanCan[https://github.com/ryanb/cancan] authorization library.
6
+ # You can create another adapter for different authorization behavior, just be certain it
7
+ # responds to each of the public methods here.
8
+ class CanCanAuthorization
9
+ # See the +authorize_with+ config method for where the initialization happens.
10
+ def initialize(controller, ability = ::Ability)
11
+ @controller = controller
12
+ @controller.instance_variable_set '@ability', ability
13
+ @controller.extend ControllerExtension
14
+ @controller.current_ability.authorize! :access, :ckeditor
15
+ end
16
+
17
+ # This method is called in every controller action and should raise an exception
18
+ # when the authorization fails. The first argument is the name of the controller
19
+ # action as a symbol (:create, :destroy, etc.). The second argument is the actual model
20
+ # instance if it is available.
21
+ def authorize(action, model_object = nil)
22
+ @controller.authorize!(action.to_sym, model_object) if action
23
+ end
24
+
25
+ # This method is called primarily from the view to determine whether the given user
26
+ # has access to perform the action on a given model. It should return true when authorized.
27
+ # This takes the same arguments as +authorize+. The difference is that this will
28
+ # return a boolean whereas +authorize+ will raise an exception when not authorized.
29
+ def authorized?(action, model_object = nil)
30
+ @controller.current_ability.can?(action.to_sym, model_object) if action
31
+ end
32
+
33
+ private
34
+
35
+ module ControllerExtension
36
+ def current_ability
37
+ # use ckeditor_current_user instead of default current_user so it works with
38
+ # whatever current user method is defined with Ckeditor
39
+ @current_ability ||= @ability.new(ckeditor_current_user)
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ Ckeditor::AUTHORIZATION_ADAPTERS[:cancan] = Ckeditor::Hooks::CanCanAuthorization
@@ -0,0 +1,12 @@
1
+ require "formtastic"
2
+
3
+ class CkeditorInput
4
+ include ::Formtastic::Inputs::Base
5
+
6
+ def to_html
7
+ input_wrapping do
8
+ label_html <<
9
+ builder.cktext_area(method, input_html_options)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,20 @@
1
+ require 'simple_form'
2
+
3
+ module Ckeditor::Hooks::SimpleForm
4
+ class CkeditorInput < ::SimpleForm::Inputs::Base
5
+ def input
6
+ @builder.cktext_area(attribute_name, input_html_options)
7
+ end
8
+ end
9
+ end
10
+
11
+ ::SimpleForm::FormBuilder.map_type :ckeditor, :to => Ckeditor::Hooks::SimpleForm::CkeditorInput
12
+
13
+ # TODO: remove this after a while, SimpleForm::FormBuilder#ckeditor is deprecated.
14
+ class SimpleForm::FormBuilder
15
+ def ckeditor(attribute_name, options={}, &block)
16
+ warn "[DEPRECATION] calling f.ckeditor(:#{attribute_name}, ...) is deprecated, call f.input(:#{attribute_name}, :as => :ckeditor, #{options.to_s[1..-1]}) #{Kernel.caller.first}"
17
+ options[:as] = :ckeditor
18
+ self.input(attribute_name, options, &block)
19
+ end
20
+ end
@@ -0,0 +1,90 @@
1
+ # encoding: utf-8
2
+ require 'digest/sha1'
3
+ require 'mime/types'
4
+
5
+ module Ckeditor
6
+ module Http
7
+ # Create tempfile from hash
8
+ class UploadedFile
9
+ attr_accessor :original_filename, :content_type, :tempfile, :headers
10
+
11
+ def initialize(hash)
12
+ @original_filename = hash[:filename]
13
+ @content_type = hash[:type]
14
+ @headers = hash[:head]
15
+ @tempfile = hash[:tempfile]
16
+ raise(ArgumentError, ':tempfile is required') unless @tempfile
17
+ end
18
+
19
+ def open
20
+ @tempfile.open
21
+ end
22
+
23
+ def path
24
+ @tempfile.path
25
+ end
26
+
27
+ def read(*args)
28
+ @tempfile.read(*args)
29
+ end
30
+
31
+ def rewind
32
+ @tempfile.rewind
33
+ end
34
+
35
+ def size
36
+ @tempfile.size
37
+ end
38
+ end
39
+
40
+ # Usage (paperclip example)
41
+ # @asset.data = QqFile.new(params[:qqfile], request)
42
+ class QqFile < ::Tempfile
43
+
44
+ def initialize(filename, request, tmpdir = Dir::tmpdir)
45
+ @original_filename = filename
46
+ @request = request
47
+
48
+ super Digest::SHA1.hexdigest(filename), tmpdir
49
+ binmode
50
+ fetch
51
+ end
52
+
53
+ def fetch
54
+ self.write(body)
55
+ self.rewind
56
+ self
57
+ end
58
+
59
+ def original_filename
60
+ @original_filename
61
+ end
62
+
63
+ def content_type
64
+ types = MIME::Types.type_for(original_filename)
65
+ types.empty? ? @request.content_type : types.first.to_s
66
+ end
67
+
68
+ def body
69
+ if @request.raw_post.respond_to?(:force_encoding)
70
+ @request.raw_post.force_encoding("UTF-8")
71
+ else
72
+ @request.raw_post
73
+ end
74
+ end
75
+ end
76
+
77
+ # Convert nested Hash to HashWithIndifferentAccess and replace
78
+ # file upload hash with UploadedFile objects
79
+ def self.normalize_param(*args)
80
+ value = args.first
81
+ if Hash === value && value.has_key?(:tempfile)
82
+ UploadedFile.new(value)
83
+ elsif value.is_a?(String)
84
+ QqFile.new(*args)
85
+ else
86
+ value
87
+ end
88
+ end
89
+ end
90
+ end