ckeditor 3.6.2 → 3.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (713) hide show
  1. data/README.rdoc +10 -2
  2. data/app/views/ckeditor/attachment_files/index.html.erb +1 -1
  3. data/app/views/ckeditor/pictures/index.html.erb +1 -1
  4. data/app/views/ckeditor/shared/_asset.html.erb +2 -1
  5. data/app/views/ckeditor/shared/_asset_tmpl.html.erb +2 -1
  6. data/app/views/layouts/ckeditor.html.erb +14 -7
  7. data/config/locales/es.ckeditor.yml +8 -0
  8. data/lib/ckeditor.rb +17 -0
  9. data/lib/ckeditor/utils.rb +1 -1
  10. data/lib/ckeditor/version.rb +1 -1
  11. data/lib/generators/ckeditor/install_generator.rb +7 -4
  12. data/lib/generators/ckeditor/templates/ckeditor.rb +3 -0
  13. data/lib/generators/ckeditor/templates/ckeditor/config.js +2 -2
  14. data/lib/generators/ckeditor/templates/ckeditor/filebrowser/javascripts/application.js +3 -2
  15. data/lib/generators/ckeditor/templates/ckeditor/filebrowser/stylesheets/uploader.css +11 -13
  16. data/lib/generators/ckeditor/templates/ckeditor/plugins/attachment/dialogs/attachment.js +1 -1
  17. data/test/ckeditor_test.rb +14 -0
  18. data/test/dummy/db/test.sqlite3 +0 -0
  19. data/test/dummy/log/test.log +6076 -8817
  20. data/test/generators/install_generator_test.rb +13 -0
  21. data/test/tmp/app/models/ckeditor/asset.rb +5 -0
  22. data/test/tmp/app/models/ckeditor/attachment_file.rb +15 -0
  23. data/test/tmp/app/models/ckeditor/picture.rb +13 -0
  24. metadata +161 -1534
  25. data/test/dummy/log/development.log +0 -818
  26. data/test/dummy/log/production.log +0 -0
  27. data/test/dummy/log/server.log +0 -0
  28. data/test/dummy/public/ckeditor_assets/attachments/4e53723cde2f151212000001/rails_tar.gz +0 -0
  29. data/test/dummy/public/ckeditor_assets/attachments/4e537333de2f15123b000001/rails_tar.gz +0 -0
  30. data/test/dummy/public/ckeditor_assets/attachments/4e537621de2f1514e9000001/rails_tar.gz +0 -0
  31. data/test/dummy/public/ckeditor_assets/attachments/4e53766ade2f15152c000001/rails_tar.gz +0 -0
  32. data/test/dummy/public/ckeditor_assets/attachments/4e53781ede2f1515b7000001/rails.tar.gz +0 -0
  33. data/test/dummy/public/ckeditor_assets/attachments/4e537849de2f151651000001/rails_tar.gz +0 -0
  34. data/test/dummy/public/ckeditor_assets/pictures/4e53723dde2f151212000002/content_rails.png +0 -0
  35. data/test/dummy/public/ckeditor_assets/pictures/4e53723dde2f151212000002/original_rails.png +0 -0
  36. data/test/dummy/public/ckeditor_assets/pictures/4e53723dde2f151212000002/thumb_rails.png +0 -0
  37. data/test/dummy/public/ckeditor_assets/pictures/4e537334de2f15123b000002/content_rails.png +0 -0
  38. data/test/dummy/public/ckeditor_assets/pictures/4e537334de2f15123b000002/original_rails.png +0 -0
  39. data/test/dummy/public/ckeditor_assets/pictures/4e537334de2f15123b000002/thumb_rails.png +0 -0
  40. data/test/dummy/public/ckeditor_assets/pictures/4e537637de2f1514e9000007/content_rails.png +0 -0
  41. data/test/dummy/public/ckeditor_assets/pictures/4e537637de2f1514e9000007/original_rails.png +0 -0
  42. data/test/dummy/public/ckeditor_assets/pictures/4e537637de2f1514e9000007/thumb_rails.png +0 -0
  43. data/test/dummy/public/ckeditor_assets/pictures/4e53768ade2f15152c000007/content_rails.png +0 -0
  44. data/test/dummy/public/ckeditor_assets/pictures/4e53768ade2f15152c000007/original_rails.png +0 -0
  45. data/test/dummy/public/ckeditor_assets/pictures/4e53768ade2f15152c000007/thumb_rails.png +0 -0
  46. data/test/dummy/public/ckeditor_assets/pictures/4e53783ade2f1515b7000007/content_rails.png +0 -0
  47. data/test/dummy/public/ckeditor_assets/pictures/4e53783ade2f1515b7000007/rails.png +0 -0
  48. data/test/dummy/public/ckeditor_assets/pictures/4e53783ade2f1515b7000007/thumb_rails.png +0 -0
  49. data/test/dummy/public/ckeditor_assets/pictures/4e537868de2f151651000007/content_rails.png +0 -0
  50. data/test/dummy/public/ckeditor_assets/pictures/4e537868de2f151651000007/original_rails.png +0 -0
  51. data/test/dummy/public/ckeditor_assets/pictures/4e537868de2f151651000007/thumb_rails.png +0 -0
  52. data/test/dummy/public/uploads/tmp/20110823-1231-4694-7541/rails.png +0 -0
  53. data/test/dummy/public/uploads/tmp/20110823-1232-4702-5501/rails.png +0 -0
  54. data/test/dummy/public/uploads/tmp/20110823-1245-5487-0966/rails.png +0 -0
  55. data/test/dummy/public/uploads/tmp/20110823-1245-5487-1597/rails.tar.gz +0 -0
  56. data/test/dummy/public/uploads/tmp/20110823-1245-5487-3892/rails.tar.gz +0 -0
  57. data/test/dummy/public/uploads/tmp/20110823-1245-5487-5787/rails.tar.gz +0 -0
  58. data/test/dummy/public/uploads/tmp/20110823-1245-5487-5790/rails.png +0 -0
  59. data/test/dummy/public/uploads/tmp/20110823-1245-5487-6435/rails.png +0 -0
  60. data/test/dummy/public/uploads/tmp/20110823-1245-5487-6978/rails.png +0 -0
  61. data/test/dummy/public/uploads/tmp/20110823-1245-5487-7226/rails.tar.gz +0 -0
  62. data/test/dummy/public/uploads/tmp/20110823-1245-5487-7290/rails.tar.gz +0 -0
  63. data/test/dummy/public/uploads/tmp/20110823-1245-5487-9279/rails.png +0 -0
  64. data/test/tmp/config/initializers/ckeditor.rb +0 -18
  65. data/test/tmp/public/javascripts/ckeditor/CHANGES.html +0 -1367
  66. data/test/tmp/public/javascripts/ckeditor/INSTALL.html +0 -92
  67. data/test/tmp/public/javascripts/ckeditor/LICENSE.html +0 -1327
  68. data/test/tmp/public/javascripts/ckeditor/_samples/adobeair/application.xml +0 -32
  69. data/test/tmp/public/javascripts/ckeditor/_samples/adobeair/run.bat +0 -9
  70. data/test/tmp/public/javascripts/ckeditor/_samples/adobeair/run.sh +0 -8
  71. data/test/tmp/public/javascripts/ckeditor/_samples/adobeair/sample.html +0 -45
  72. data/test/tmp/public/javascripts/ckeditor/_samples/ajax.html +0 -98
  73. data/test/tmp/public/javascripts/ckeditor/_samples/api.html +0 -192
  74. data/test/tmp/public/javascripts/ckeditor/_samples/api_dialog.html +0 -198
  75. data/test/tmp/public/javascripts/ckeditor/_samples/api_dialog/my_dialog.js +0 -28
  76. data/test/tmp/public/javascripts/ckeditor/_samples/asp/index.html +0 -103
  77. data/test/tmp/public/javascripts/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  78. data/test/tmp/public/javascripts/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  79. data/test/tmp/public/javascripts/ckeditor/_samples/assets/output_xhtml.css +0 -204
  80. data/test/tmp/public/javascripts/ckeditor/_samples/assets/parsesample.css +0 -70
  81. data/test/tmp/public/javascripts/ckeditor/_samples/assets/swfobject.js +0 -18
  82. data/test/tmp/public/javascripts/ckeditor/_samples/autogrow.html +0 -107
  83. data/test/tmp/public/javascripts/ckeditor/_samples/bbcode.html +0 -125
  84. data/test/tmp/public/javascripts/ckeditor/_samples/devtools.html +0 -94
  85. data/test/tmp/public/javascripts/ckeditor/_samples/divreplace.html +0 -154
  86. data/test/tmp/public/javascripts/ckeditor/_samples/enterkey.html +0 -115
  87. data/test/tmp/public/javascripts/ckeditor/_samples/fullpage.html +0 -82
  88. data/test/tmp/public/javascripts/ckeditor/_samples/index.html +0 -116
  89. data/test/tmp/public/javascripts/ckeditor/_samples/jqueryadapter.html +0 -99
  90. data/test/tmp/public/javascripts/ckeditor/_samples/output_for_flash.html +0 -275
  91. data/test/tmp/public/javascripts/ckeditor/_samples/output_html.html +0 -285
  92. data/test/tmp/public/javascripts/ckeditor/_samples/output_xhtml.html +0 -177
  93. data/test/tmp/public/javascripts/ckeditor/_samples/php/index.html +0 -47
  94. data/test/tmp/public/javascripts/ckeditor/_samples/placeholder.html +0 -81
  95. data/test/tmp/public/javascripts/ckeditor/_samples/readonly.html +0 -91
  96. data/test/tmp/public/javascripts/ckeditor/_samples/replacebyclass.html +0 -64
  97. data/test/tmp/public/javascripts/ckeditor/_samples/replacebycode.html +0 -97
  98. data/test/tmp/public/javascripts/ckeditor/_samples/sample.css +0 -163
  99. data/test/tmp/public/javascripts/ckeditor/_samples/sample.js +0 -65
  100. data/test/tmp/public/javascripts/ckeditor/_samples/sharedspaces.html +0 -153
  101. data/test/tmp/public/javascripts/ckeditor/_samples/skins.html +0 -110
  102. data/test/tmp/public/javascripts/ckeditor/_samples/stylesheetparser.html +0 -93
  103. data/test/tmp/public/javascripts/ckeditor/_samples/tableresize.html +0 -115
  104. data/test/tmp/public/javascripts/ckeditor/_samples/ui_color.html +0 -129
  105. data/test/tmp/public/javascripts/ckeditor/_samples/ui_languages.html +0 -134
  106. data/test/tmp/public/javascripts/ckeditor/_source/adapters/jquery.js +0 -306
  107. data/test/tmp/public/javascripts/ckeditor/_source/core/_bootstrap.js +0 -87
  108. data/test/tmp/public/javascripts/ckeditor/_source/core/ckeditor.js +0 -141
  109. data/test/tmp/public/javascripts/ckeditor/_source/core/ckeditor_base.js +0 -227
  110. data/test/tmp/public/javascripts/ckeditor/_source/core/ckeditor_basic.js +0 -238
  111. data/test/tmp/public/javascripts/ckeditor/_source/core/command.js +0 -209
  112. data/test/tmp/public/javascripts/ckeditor/_source/core/commanddefinition.js +0 -129
  113. data/test/tmp/public/javascripts/ckeditor/_source/core/config.js +0 -431
  114. data/test/tmp/public/javascripts/ckeditor/_source/core/dataprocessor.js +0 -65
  115. data/test/tmp/public/javascripts/ckeditor/_source/core/dom.js +0 -20
  116. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/comment.js +0 -32
  117. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/document.js +0 -251
  118. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/documentfragment.js +0 -49
  119. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/domobject.js +0 -258
  120. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/element.js +0 -1681
  121. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/elementpath.js +0 -119
  122. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/event.js +0 -145
  123. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/node.js +0 -695
  124. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/nodelist.js +0 -26
  125. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/range.js +0 -2032
  126. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/rangelist.js +0 -213
  127. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/text.js +0 -128
  128. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/walker.js +0 -462
  129. data/test/tmp/public/javascripts/ckeditor/_source/core/dom/window.js +0 -96
  130. data/test/tmp/public/javascripts/ckeditor/_source/core/dtd.js +0 -266
  131. data/test/tmp/public/javascripts/ckeditor/_source/core/editor.js +0 -1059
  132. data/test/tmp/public/javascripts/ckeditor/_source/core/editor_basic.js +0 -186
  133. data/test/tmp/public/javascripts/ckeditor/_source/core/env.js +0 -291
  134. data/test/tmp/public/javascripts/ckeditor/_source/core/event.js +0 -342
  135. data/test/tmp/public/javascripts/ckeditor/_source/core/eventInfo.js +0 -120
  136. data/test/tmp/public/javascripts/ckeditor/_source/core/focusmanager.js +0 -152
  137. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser.js +0 -224
  138. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser/basicwriter.js +0 -145
  139. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser/cdata.js +0 -43
  140. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser/comment.js +0 -60
  141. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser/element.js +0 -308
  142. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser/filter.js +0 -288
  143. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser/fragment.js +0 -497
  144. data/test/tmp/public/javascripts/ckeditor/_source/core/htmlparser/text.js +0 -55
  145. data/test/tmp/public/javascripts/ckeditor/_source/core/lang.js +0 -157
  146. data/test/tmp/public/javascripts/ckeditor/_source/core/loader.js +0 -240
  147. data/test/tmp/public/javascripts/ckeditor/_source/core/plugindefinition.js +0 -83
  148. data/test/tmp/public/javascripts/ckeditor/_source/core/plugins.js +0 -103
  149. data/test/tmp/public/javascripts/ckeditor/_source/core/resourcemanager.js +0 -238
  150. data/test/tmp/public/javascripts/ckeditor/_source/core/scriptloader.js +0 -180
  151. data/test/tmp/public/javascripts/ckeditor/_source/core/skins.js +0 -184
  152. data/test/tmp/public/javascripts/ckeditor/_source/core/themes.js +0 -19
  153. data/test/tmp/public/javascripts/ckeditor/_source/core/tools.js +0 -763
  154. data/test/tmp/public/javascripts/ckeditor/_source/core/ui.js +0 -128
  155. data/test/tmp/public/javascripts/ckeditor/_source/lang/_languages.js +0 -84
  156. data/test/tmp/public/javascripts/ckeditor/_source/lang/_translationstatus.txt +0 -61
  157. data/test/tmp/public/javascripts/ckeditor/_source/lang/af.js +0 -812
  158. data/test/tmp/public/javascripts/ckeditor/_source/lang/ar.js +0 -812
  159. data/test/tmp/public/javascripts/ckeditor/_source/lang/bg.js +0 -812
  160. data/test/tmp/public/javascripts/ckeditor/_source/lang/bn.js +0 -812
  161. data/test/tmp/public/javascripts/ckeditor/_source/lang/bs.js +0 -812
  162. data/test/tmp/public/javascripts/ckeditor/_source/lang/ca.js +0 -812
  163. data/test/tmp/public/javascripts/ckeditor/_source/lang/cs.js +0 -812
  164. data/test/tmp/public/javascripts/ckeditor/_source/lang/cy.js +0 -812
  165. data/test/tmp/public/javascripts/ckeditor/_source/lang/da.js +0 -812
  166. data/test/tmp/public/javascripts/ckeditor/_source/lang/de.js +0 -812
  167. data/test/tmp/public/javascripts/ckeditor/_source/lang/el.js +0 -812
  168. data/test/tmp/public/javascripts/ckeditor/_source/lang/en-au.js +0 -812
  169. data/test/tmp/public/javascripts/ckeditor/_source/lang/en-ca.js +0 -812
  170. data/test/tmp/public/javascripts/ckeditor/_source/lang/en-gb.js +0 -812
  171. data/test/tmp/public/javascripts/ckeditor/_source/lang/en.js +0 -812
  172. data/test/tmp/public/javascripts/ckeditor/_source/lang/eo.js +0 -812
  173. data/test/tmp/public/javascripts/ckeditor/_source/lang/es.js +0 -812
  174. data/test/tmp/public/javascripts/ckeditor/_source/lang/et.js +0 -812
  175. data/test/tmp/public/javascripts/ckeditor/_source/lang/eu.js +0 -812
  176. data/test/tmp/public/javascripts/ckeditor/_source/lang/fa.js +0 -812
  177. data/test/tmp/public/javascripts/ckeditor/_source/lang/fi.js +0 -812
  178. data/test/tmp/public/javascripts/ckeditor/_source/lang/fo.js +0 -812
  179. data/test/tmp/public/javascripts/ckeditor/_source/lang/fr-ca.js +0 -812
  180. data/test/tmp/public/javascripts/ckeditor/_source/lang/fr.js +0 -812
  181. data/test/tmp/public/javascripts/ckeditor/_source/lang/gl.js +0 -812
  182. data/test/tmp/public/javascripts/ckeditor/_source/lang/gu.js +0 -812
  183. data/test/tmp/public/javascripts/ckeditor/_source/lang/he.js +0 -812
  184. data/test/tmp/public/javascripts/ckeditor/_source/lang/hi.js +0 -812
  185. data/test/tmp/public/javascripts/ckeditor/_source/lang/hr.js +0 -812
  186. data/test/tmp/public/javascripts/ckeditor/_source/lang/hu.js +0 -812
  187. data/test/tmp/public/javascripts/ckeditor/_source/lang/is.js +0 -812
  188. data/test/tmp/public/javascripts/ckeditor/_source/lang/it.js +0 -812
  189. data/test/tmp/public/javascripts/ckeditor/_source/lang/ja.js +0 -812
  190. data/test/tmp/public/javascripts/ckeditor/_source/lang/ka.js +0 -812
  191. data/test/tmp/public/javascripts/ckeditor/_source/lang/km.js +0 -812
  192. data/test/tmp/public/javascripts/ckeditor/_source/lang/ko.js +0 -812
  193. data/test/tmp/public/javascripts/ckeditor/_source/lang/lt.js +0 -812
  194. data/test/tmp/public/javascripts/ckeditor/_source/lang/lv.js +0 -812
  195. data/test/tmp/public/javascripts/ckeditor/_source/lang/mn.js +0 -812
  196. data/test/tmp/public/javascripts/ckeditor/_source/lang/ms.js +0 -812
  197. data/test/tmp/public/javascripts/ckeditor/_source/lang/nb.js +0 -812
  198. data/test/tmp/public/javascripts/ckeditor/_source/lang/nl.js +0 -812
  199. data/test/tmp/public/javascripts/ckeditor/_source/lang/no.js +0 -812
  200. data/test/tmp/public/javascripts/ckeditor/_source/lang/pl.js +0 -812
  201. data/test/tmp/public/javascripts/ckeditor/_source/lang/pt-br.js +0 -811
  202. data/test/tmp/public/javascripts/ckeditor/_source/lang/pt.js +0 -812
  203. data/test/tmp/public/javascripts/ckeditor/_source/lang/ro.js +0 -812
  204. data/test/tmp/public/javascripts/ckeditor/_source/lang/ru.js +0 -812
  205. data/test/tmp/public/javascripts/ckeditor/_source/lang/sk.js +0 -812
  206. data/test/tmp/public/javascripts/ckeditor/_source/lang/sl.js +0 -812
  207. data/test/tmp/public/javascripts/ckeditor/_source/lang/sr-latn.js +0 -812
  208. data/test/tmp/public/javascripts/ckeditor/_source/lang/sr.js +0 -812
  209. data/test/tmp/public/javascripts/ckeditor/_source/lang/sv.js +0 -811
  210. data/test/tmp/public/javascripts/ckeditor/_source/lang/th.js +0 -812
  211. data/test/tmp/public/javascripts/ckeditor/_source/lang/tr.js +0 -811
  212. data/test/tmp/public/javascripts/ckeditor/_source/lang/uk.js +0 -812
  213. data/test/tmp/public/javascripts/ckeditor/_source/lang/vi.js +0 -812
  214. data/test/tmp/public/javascripts/ckeditor/_source/lang/zh-cn.js +0 -812
  215. data/test/tmp/public/javascripts/ckeditor/_source/lang/zh.js +0 -812
  216. data/test/tmp/public/javascripts/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -222
  217. data/test/tmp/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -108
  218. data/test/tmp/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -216
  219. data/test/tmp/public/javascripts/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -47
  220. data/test/tmp/public/javascripts/ckeditor/_source/plugins/about/dialogs/about.js +0 -76
  221. data/test/tmp/public/javascripts/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  222. data/test/tmp/public/javascripts/ckeditor/_source/plugins/about/plugin.js +0 -24
  223. data/test/tmp/public/javascripts/ckeditor/_source/plugins/adobeair/plugin.js +0 -228
  224. data/test/tmp/public/javascripts/ckeditor/_source/plugins/ajax/plugin.js +0 -152
  225. data/test/tmp/public/javascripts/ckeditor/_source/plugins/autogrow/plugin.js +0 -88
  226. data/test/tmp/public/javascripts/ckeditor/_source/plugins/basicstyles/plugin.js +0 -101
  227. data/test/tmp/public/javascripts/ckeditor/_source/plugins/bbcode/plugin.js +0 -931
  228. data/test/tmp/public/javascripts/ckeditor/_source/plugins/bidi/plugin.js +0 -334
  229. data/test/tmp/public/javascripts/ckeditor/_source/plugins/blockquote/plugin.js +0 -305
  230. data/test/tmp/public/javascripts/ckeditor/_source/plugins/button/plugin.js +0 -290
  231. data/test/tmp/public/javascripts/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -223
  232. data/test/tmp/public/javascripts/ckeditor/_source/plugins/clipboard/plugin.js +0 -453
  233. data/test/tmp/public/javascripts/ckeditor/_source/plugins/colorbutton/plugin.js +0 -294
  234. data/test/tmp/public/javascripts/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -340
  235. data/test/tmp/public/javascripts/ckeditor/_source/plugins/colordialog/plugin.js +0 -15
  236. data/test/tmp/public/javascripts/ckeditor/_source/plugins/contextmenu/plugin.js +0 -177
  237. data/test/tmp/public/javascripts/ckeditor/_source/plugins/devtools/lang/en.js +0 -16
  238. data/test/tmp/public/javascripts/ckeditor/_source/plugins/devtools/plugin.js +0 -173
  239. data/test/tmp/public/javascripts/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -1166
  240. data/test/tmp/public/javascripts/ckeditor/_source/plugins/dialog/plugin.js +0 -3289
  241. data/test/tmp/public/javascripts/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -207
  242. data/test/tmp/public/javascripts/ckeditor/_source/plugins/dialogui/plugin.js +0 -1541
  243. data/test/tmp/public/javascripts/ckeditor/_source/plugins/div/dialogs/div.js +0 -535
  244. data/test/tmp/public/javascripts/ckeditor/_source/plugins/div/plugin.js +0 -121
  245. data/test/tmp/public/javascripts/ckeditor/_source/plugins/docprops/dialogs/docprops.js +0 -686
  246. data/test/tmp/public/javascripts/ckeditor/_source/plugins/docprops/plugin.js +0 -22
  247. data/test/tmp/public/javascripts/ckeditor/_source/plugins/domiterator/plugin.js +0 -361
  248. data/test/tmp/public/javascripts/ckeditor/_source/plugins/editingblock/plugin.js +0 -275
  249. data/test/tmp/public/javascripts/ckeditor/_source/plugins/elementspath/plugin.js +0 -218
  250. data/test/tmp/public/javascripts/ckeditor/_source/plugins/enterkey/plugin.js +0 -413
  251. data/test/tmp/public/javascripts/ckeditor/_source/plugins/entities/plugin.js +0 -250
  252. data/test/tmp/public/javascripts/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -175
  253. data/test/tmp/public/javascripts/ckeditor/_source/plugins/filebrowser/plugin.js +0 -524
  254. data/test/tmp/public/javascripts/ckeditor/_source/plugins/find/dialogs/find.js +0 -903
  255. data/test/tmp/public/javascripts/ckeditor/_source/plugins/find/plugin.js +0 -47
  256. data/test/tmp/public/javascripts/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -673
  257. data/test/tmp/public/javascripts/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  258. data/test/tmp/public/javascripts/ckeditor/_source/plugins/flash/plugin.js +0 -154
  259. data/test/tmp/public/javascripts/ckeditor/_source/plugins/floatpanel/plugin.js +0 -428
  260. data/test/tmp/public/javascripts/ckeditor/_source/plugins/font/plugin.js +0 -234
  261. data/test/tmp/public/javascripts/ckeditor/_source/plugins/format/plugin.js +0 -197
  262. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/button.js +0 -118
  263. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  264. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  265. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -100
  266. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  267. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/select.js +0 -558
  268. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  269. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  270. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  271. data/test/tmp/public/javascripts/ckeditor/_source/plugins/forms/plugin.js +0 -288
  272. data/test/tmp/public/javascripts/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -48
  273. data/test/tmp/public/javascripts/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -595
  274. data/test/tmp/public/javascripts/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -319
  275. data/test/tmp/public/javascripts/ckeditor/_source/plugins/iframe/dialogs/iframe.js +0 -229
  276. data/test/tmp/public/javascripts/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  277. data/test/tmp/public/javascripts/ckeditor/_source/plugins/iframe/plugin.js +0 -87
  278. data/test/tmp/public/javascripts/ckeditor/_source/plugins/iframedialog/plugin.js +0 -188
  279. data/test/tmp/public/javascripts/ckeditor/_source/plugins/image/dialogs/image.js +0 -1406
  280. data/test/tmp/public/javascripts/ckeditor/_source/plugins/image/plugin.js +0 -81
  281. data/test/tmp/public/javascripts/ckeditor/_source/plugins/indent/plugin.js +0 -461
  282. data/test/tmp/public/javascripts/ckeditor/_source/plugins/justify/plugin.js +0 -253
  283. data/test/tmp/public/javascripts/ckeditor/_source/plugins/keystrokes/plugin.js +0 -225
  284. data/test/tmp/public/javascripts/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -144
  285. data/test/tmp/public/javascripts/ckeditor/_source/plugins/link/dialogs/link.js +0 -1424
  286. data/test/tmp/public/javascripts/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  287. data/test/tmp/public/javascripts/ckeditor/_source/plugins/link/plugin.js +0 -374
  288. data/test/tmp/public/javascripts/ckeditor/_source/plugins/list/plugin.js +0 -734
  289. data/test/tmp/public/javascripts/ckeditor/_source/plugins/listblock/plugin.js +0 -268
  290. data/test/tmp/public/javascripts/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -225
  291. data/test/tmp/public/javascripts/ckeditor/_source/plugins/liststyle/plugin.js +0 -66
  292. data/test/tmp/public/javascripts/ckeditor/_source/plugins/maximize/plugin.js +0 -352
  293. data/test/tmp/public/javascripts/ckeditor/_source/plugins/menu/plugin.js +0 -541
  294. data/test/tmp/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js +0 -98
  295. data/test/tmp/public/javascripts/ckeditor/_source/plugins/newpage/plugin.js +0 -54
  296. data/test/tmp/public/javascripts/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  297. data/test/tmp/public/javascripts/ckeditor/_source/plugins/pagebreak/plugin.js +0 -164
  298. data/test/tmp/public/javascripts/ckeditor/_source/plugins/panel/plugin.js +0 -403
  299. data/test/tmp/public/javascripts/ckeditor/_source/plugins/panelbutton/plugin.js +0 -144
  300. data/test/tmp/public/javascripts/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1367
  301. data/test/tmp/public/javascripts/ckeditor/_source/plugins/pastefromword/plugin.js +0 -141
  302. data/test/tmp/public/javascripts/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -67
  303. data/test/tmp/public/javascripts/ckeditor/_source/plugins/pastetext/plugin.js +0 -98
  304. data/test/tmp/public/javascripts/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +0 -71
  305. data/test/tmp/public/javascripts/ckeditor/_source/plugins/placeholder/lang/en.js +0 -16
  306. data/test/tmp/public/javascripts/ckeditor/_source/plugins/placeholder/lang/he.js +0 -16
  307. data/test/tmp/public/javascripts/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  308. data/test/tmp/public/javascripts/ckeditor/_source/plugins/placeholder/plugin.js +0 -171
  309. data/test/tmp/public/javascripts/ckeditor/_source/plugins/popup/plugin.js +0 -64
  310. data/test/tmp/public/javascripts/ckeditor/_source/plugins/preview/plugin.js +0 -109
  311. data/test/tmp/public/javascripts/ckeditor/_source/plugins/print/plugin.js +0 -42
  312. data/test/tmp/public/javascripts/ckeditor/_source/plugins/removeformat/plugin.js +0 -185
  313. data/test/tmp/public/javascripts/ckeditor/_source/plugins/resize/plugin.js +0 -168
  314. data/test/tmp/public/javascripts/ckeditor/_source/plugins/richcombo/plugin.js +0 -381
  315. data/test/tmp/public/javascripts/ckeditor/_source/plugins/save/plugin.js +0 -56
  316. data/test/tmp/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -537
  317. data/test/tmp/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -71
  318. data/test/tmp/public/javascripts/ckeditor/_source/plugins/scayt/plugin.js +0 -964
  319. data/test/tmp/public/javascripts/ckeditor/_source/plugins/selection/plugin.js +0 -1601
  320. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  321. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  322. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  323. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  324. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  325. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  326. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  327. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  328. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  329. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  330. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  331. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showblocks/plugin.js +0 -160
  332. data/test/tmp/public/javascripts/ckeditor/_source/plugins/showborders/plugin.js +0 -207
  333. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -224
  334. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  335. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  336. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  337. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  338. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  339. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  340. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  341. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  342. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  343. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  344. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  345. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  346. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  347. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  348. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  349. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  350. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  351. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  352. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  353. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  354. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  355. data/test/tmp/public/javascripts/ckeditor/_source/plugins/smiley/plugin.js +0 -94
  356. data/test/tmp/public/javascripts/ckeditor/_source/plugins/sourcearea/plugin.js +0 -209
  357. data/test/tmp/public/javascripts/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -350
  358. data/test/tmp/public/javascripts/ckeditor/_source/plugins/specialchar/lang/en.js +0 -89
  359. data/test/tmp/public/javascripts/ckeditor/_source/plugins/specialchar/plugin.js +0 -70
  360. data/test/tmp/public/javascripts/ckeditor/_source/plugins/styles/plugin.js +0 -1696
  361. data/test/tmp/public/javascripts/ckeditor/_source/plugins/styles/styles/default.js +0 -88
  362. data/test/tmp/public/javascripts/ckeditor/_source/plugins/stylescombo/plugin.js +0 -218
  363. data/test/tmp/public/javascripts/ckeditor/_source/plugins/stylesheetparser/plugin.js +0 -148
  364. data/test/tmp/public/javascripts/ckeditor/_source/plugins/tab/plugin.js +0 -367
  365. data/test/tmp/public/javascripts/ckeditor/_source/plugins/table/dialogs/table.js +0 -602
  366. data/test/tmp/public/javascripts/ckeditor/_source/plugins/table/plugin.js +0 -78
  367. data/test/tmp/public/javascripts/ckeditor/_source/plugins/tableresize/plugin.js +0 -443
  368. data/test/tmp/public/javascripts/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -525
  369. data/test/tmp/public/javascripts/ckeditor/_source/plugins/tabletools/plugin.js +0 -1194
  370. data/test/tmp/public/javascripts/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -234
  371. data/test/tmp/public/javascripts/ckeditor/_source/plugins/templates/plugin.js +0 -99
  372. data/test/tmp/public/javascripts/ckeditor/_source/plugins/templates/templates/default.js +0 -94
  373. data/test/tmp/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  374. data/test/tmp/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  375. data/test/tmp/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  376. data/test/tmp/public/javascripts/ckeditor/_source/plugins/toolbar/plugin.js +0 -545
  377. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -205
  378. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/lang/en.js +0 -15
  379. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/lang/he.js +0 -15
  380. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/plugin.js +0 -37
  381. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  382. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  383. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  384. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  385. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  386. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -15
  387. data/test/tmp/public/javascripts/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -71
  388. data/test/tmp/public/javascripts/ckeditor/_source/plugins/undo/plugin.js +0 -580
  389. data/test/tmp/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -49
  390. data/test/tmp/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  391. data/test/tmp/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -82
  392. data/test/tmp/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -192
  393. data/test/tmp/public/javascripts/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  394. data/test/tmp/public/javascripts/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1351
  395. data/test/tmp/public/javascripts/ckeditor/_source/plugins/xml/plugin.js +0 -170
  396. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/dialog.css +0 -943
  397. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/editor.css +0 -25
  398. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/elementspath.css +0 -73
  399. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/icons.css +0 -366
  400. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/icons.png +0 -0
  401. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  402. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  403. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  404. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  405. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  406. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  407. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  408. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  409. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  410. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/mainui.css +0 -203
  411. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/menu.css +0 -232
  412. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/panel.css +0 -217
  413. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/presets.css +0 -49
  414. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/reset.css +0 -84
  415. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/richcombo.css +0 -287
  416. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/skin.js +0 -236
  417. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/templates.css +0 -88
  418. data/test/tmp/public/javascripts/ckeditor/_source/skins/kama/toolbar.css +0 -407
  419. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/dialog.css +0 -844
  420. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/editor.css +0 -25
  421. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/elementspath.css +0 -74
  422. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/icons.css +0 -363
  423. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/icons.png +0 -0
  424. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  425. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  426. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  427. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  428. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  429. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  430. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  431. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  432. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/mainui.css +0 -153
  433. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/menu.css +0 -229
  434. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/panel.css +0 -212
  435. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/presets.css +0 -49
  436. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/reset.css +0 -84
  437. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/richcombo.css +0 -309
  438. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/skin.js +0 -74
  439. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/templates.css +0 -87
  440. data/test/tmp/public/javascripts/ckeditor/_source/skins/office2003/toolbar.css +0 -522
  441. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/dialog.css +0 -861
  442. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/editor.css +0 -25
  443. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/elementspath.css +0 -74
  444. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/icons.css +0 -363
  445. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/icons.png +0 -0
  446. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  447. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  448. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  449. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  450. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  451. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  452. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  453. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  454. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  455. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/mainui.css +0 -162
  456. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/menu.css +0 -232
  457. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/panel.css +0 -212
  458. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/presets.css +0 -50
  459. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/reset.css +0 -84
  460. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/richcombo.css +0 -302
  461. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/skin.js +0 -70
  462. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/templates.css +0 -87
  463. data/test/tmp/public/javascripts/ckeditor/_source/skins/v2/toolbar.css +0 -465
  464. data/test/tmp/public/javascripts/ckeditor/_source/themes/default/theme.js +0 -395
  465. data/test/tmp/public/javascripts/ckeditor/adapters/jquery.js +0 -6
  466. data/test/tmp/public/javascripts/ckeditor/ckeditor.js +0 -147
  467. data/test/tmp/public/javascripts/ckeditor/ckeditor.pack +0 -211
  468. data/test/tmp/public/javascripts/ckeditor/ckeditor_basic.js +0 -8
  469. data/test/tmp/public/javascripts/ckeditor/ckeditor_basic_source.js +0 -20
  470. data/test/tmp/public/javascripts/ckeditor/ckeditor_source.js +0 -25
  471. data/test/tmp/public/javascripts/ckeditor/config.js +0 -65
  472. data/test/tmp/public/javascripts/ckeditor/contents.css +0 -25
  473. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/gal_add.jpg +0 -0
  474. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/gal_add.png +0 -0
  475. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/gal_del.png +0 -0
  476. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/gal_more.gif +0 -0
  477. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/preloader.gif +0 -0
  478. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/thumbs/ckfnothumb.gif +0 -0
  479. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/thumbs/mp3.gif +0 -0
  480. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/thumbs/pdf.gif +0 -0
  481. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/thumbs/rar.gif +0 -0
  482. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/thumbs/swf.gif +0 -0
  483. data/test/tmp/public/javascripts/ckeditor/filebrowser/images/thumbs/xls.gif +0 -0
  484. data/test/tmp/public/javascripts/ckeditor/filebrowser/javascripts/application.js +0 -222
  485. data/test/tmp/public/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +0 -1301
  486. data/test/tmp/public/javascripts/ckeditor/filebrowser/javascripts/jquery.js +0 -18
  487. data/test/tmp/public/javascripts/ckeditor/filebrowser/javascripts/jquery.tmpl.js +0 -10
  488. data/test/tmp/public/javascripts/ckeditor/filebrowser/javascripts/rails.js +0 -363
  489. data/test/tmp/public/javascripts/ckeditor/filebrowser/stylesheets/uploader.css +0 -117
  490. data/test/tmp/public/javascripts/ckeditor/images/spacer.gif +0 -0
  491. data/test/tmp/public/javascripts/ckeditor/lang/_languages.js +0 -6
  492. data/test/tmp/public/javascripts/ckeditor/lang/_translationstatus.txt +0 -61
  493. data/test/tmp/public/javascripts/ckeditor/lang/af.js +0 -6
  494. data/test/tmp/public/javascripts/ckeditor/lang/ar.js +0 -6
  495. data/test/tmp/public/javascripts/ckeditor/lang/bg.js +0 -6
  496. data/test/tmp/public/javascripts/ckeditor/lang/bn.js +0 -6
  497. data/test/tmp/public/javascripts/ckeditor/lang/bs.js +0 -6
  498. data/test/tmp/public/javascripts/ckeditor/lang/ca.js +0 -6
  499. data/test/tmp/public/javascripts/ckeditor/lang/cs.js +0 -6
  500. data/test/tmp/public/javascripts/ckeditor/lang/cy.js +0 -6
  501. data/test/tmp/public/javascripts/ckeditor/lang/da.js +0 -6
  502. data/test/tmp/public/javascripts/ckeditor/lang/de.js +0 -6
  503. data/test/tmp/public/javascripts/ckeditor/lang/el.js +0 -6
  504. data/test/tmp/public/javascripts/ckeditor/lang/en-au.js +0 -6
  505. data/test/tmp/public/javascripts/ckeditor/lang/en-ca.js +0 -6
  506. data/test/tmp/public/javascripts/ckeditor/lang/en-gb.js +0 -6
  507. data/test/tmp/public/javascripts/ckeditor/lang/en.js +0 -6
  508. data/test/tmp/public/javascripts/ckeditor/lang/eo.js +0 -6
  509. data/test/tmp/public/javascripts/ckeditor/lang/es.js +0 -6
  510. data/test/tmp/public/javascripts/ckeditor/lang/et.js +0 -6
  511. data/test/tmp/public/javascripts/ckeditor/lang/eu.js +0 -6
  512. data/test/tmp/public/javascripts/ckeditor/lang/fa.js +0 -6
  513. data/test/tmp/public/javascripts/ckeditor/lang/fi.js +0 -6
  514. data/test/tmp/public/javascripts/ckeditor/lang/fo.js +0 -6
  515. data/test/tmp/public/javascripts/ckeditor/lang/fr-ca.js +0 -6
  516. data/test/tmp/public/javascripts/ckeditor/lang/fr.js +0 -6
  517. data/test/tmp/public/javascripts/ckeditor/lang/gl.js +0 -6
  518. data/test/tmp/public/javascripts/ckeditor/lang/gu.js +0 -6
  519. data/test/tmp/public/javascripts/ckeditor/lang/he.js +0 -6
  520. data/test/tmp/public/javascripts/ckeditor/lang/hi.js +0 -6
  521. data/test/tmp/public/javascripts/ckeditor/lang/hr.js +0 -6
  522. data/test/tmp/public/javascripts/ckeditor/lang/hu.js +0 -6
  523. data/test/tmp/public/javascripts/ckeditor/lang/is.js +0 -6
  524. data/test/tmp/public/javascripts/ckeditor/lang/it.js +0 -6
  525. data/test/tmp/public/javascripts/ckeditor/lang/ja.js +0 -6
  526. data/test/tmp/public/javascripts/ckeditor/lang/ka.js +0 -6
  527. data/test/tmp/public/javascripts/ckeditor/lang/km.js +0 -6
  528. data/test/tmp/public/javascripts/ckeditor/lang/ko.js +0 -6
  529. data/test/tmp/public/javascripts/ckeditor/lang/lt.js +0 -6
  530. data/test/tmp/public/javascripts/ckeditor/lang/lv.js +0 -6
  531. data/test/tmp/public/javascripts/ckeditor/lang/mn.js +0 -6
  532. data/test/tmp/public/javascripts/ckeditor/lang/ms.js +0 -6
  533. data/test/tmp/public/javascripts/ckeditor/lang/nb.js +0 -6
  534. data/test/tmp/public/javascripts/ckeditor/lang/nl.js +0 -6
  535. data/test/tmp/public/javascripts/ckeditor/lang/no.js +0 -6
  536. data/test/tmp/public/javascripts/ckeditor/lang/pl.js +0 -6
  537. data/test/tmp/public/javascripts/ckeditor/lang/pt-br.js +0 -6
  538. data/test/tmp/public/javascripts/ckeditor/lang/pt.js +0 -6
  539. data/test/tmp/public/javascripts/ckeditor/lang/ro.js +0 -6
  540. data/test/tmp/public/javascripts/ckeditor/lang/ru.js +0 -6
  541. data/test/tmp/public/javascripts/ckeditor/lang/sk.js +0 -6
  542. data/test/tmp/public/javascripts/ckeditor/lang/sl.js +0 -6
  543. data/test/tmp/public/javascripts/ckeditor/lang/sr-latn.js +0 -6
  544. data/test/tmp/public/javascripts/ckeditor/lang/sr.js +0 -6
  545. data/test/tmp/public/javascripts/ckeditor/lang/sv.js +0 -6
  546. data/test/tmp/public/javascripts/ckeditor/lang/th.js +0 -6
  547. data/test/tmp/public/javascripts/ckeditor/lang/tr.js +0 -6
  548. data/test/tmp/public/javascripts/ckeditor/lang/uk.js +0 -6
  549. data/test/tmp/public/javascripts/ckeditor/lang/vi.js +0 -6
  550. data/test/tmp/public/javascripts/ckeditor/lang/zh-cn.js +0 -6
  551. data/test/tmp/public/javascripts/ckeditor/lang/zh.js +0 -6
  552. data/test/tmp/public/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -7
  553. data/test/tmp/public/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +0 -6
  554. data/test/tmp/public/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +0 -6
  555. data/test/tmp/public/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -6
  556. data/test/tmp/public/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  557. data/test/tmp/public/javascripts/ckeditor/plugins/adobeair/plugin.js +0 -6
  558. data/test/tmp/public/javascripts/ckeditor/plugins/ajax/plugin.js +0 -6
  559. data/test/tmp/public/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +0 -1
  560. data/test/tmp/public/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
  561. data/test/tmp/public/javascripts/ckeditor/plugins/attachment/lang/en.js +0 -10
  562. data/test/tmp/public/javascripts/ckeditor/plugins/attachment/lang/ru.js +0 -10
  563. data/test/tmp/public/javascripts/ckeditor/plugins/attachment/lang/uk.js +0 -10
  564. data/test/tmp/public/javascripts/ckeditor/plugins/attachment/plugin.js +0 -1
  565. data/test/tmp/public/javascripts/ckeditor/plugins/autogrow/plugin.js +0 -6
  566. data/test/tmp/public/javascripts/ckeditor/plugins/bbcode/plugin.js +0 -9
  567. data/test/tmp/public/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  568. data/test/tmp/public/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  569. data/test/tmp/public/javascripts/ckeditor/plugins/devtools/lang/en.js +0 -6
  570. data/test/tmp/public/javascripts/ckeditor/plugins/devtools/plugin.js +0 -6
  571. data/test/tmp/public/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  572. data/test/tmp/public/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -8
  573. data/test/tmp/public/javascripts/ckeditor/plugins/docprops/dialogs/docprops.js +0 -10
  574. data/test/tmp/public/javascripts/ckeditor/plugins/docprops/plugin.js +0 -6
  575. data/test/tmp/public/javascripts/ckeditor/plugins/embed/dialogs/embed.js +0 -1
  576. data/test/tmp/public/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
  577. data/test/tmp/public/javascripts/ckeditor/plugins/embed/lang/en.js +0 -9
  578. data/test/tmp/public/javascripts/ckeditor/plugins/embed/lang/ru.js +0 -9
  579. data/test/tmp/public/javascripts/ckeditor/plugins/embed/lang/uk.js +0 -9
  580. data/test/tmp/public/javascripts/ckeditor/plugins/embed/plugin.js +0 -1
  581. data/test/tmp/public/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -10
  582. data/test/tmp/public/javascripts/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  583. data/test/tmp/public/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  584. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/button.js +0 -6
  585. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  586. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/form.js +0 -6
  587. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  588. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  589. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/select.js +0 -9
  590. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  591. data/test/tmp/public/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +0 -6
  592. data/test/tmp/public/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  593. data/test/tmp/public/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +0 -7
  594. data/test/tmp/public/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  595. data/test/tmp/public/javascripts/ckeditor/plugins/iframedialog/plugin.js +0 -6
  596. data/test/tmp/public/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -13
  597. data/test/tmp/public/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  598. data/test/tmp/public/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -12
  599. data/test/tmp/public/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  600. data/test/tmp/public/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -7
  601. data/test/tmp/public/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  602. data/test/tmp/public/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -11
  603. data/test/tmp/public/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -6
  604. data/test/tmp/public/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +0 -6
  605. data/test/tmp/public/javascripts/ckeditor/plugins/placeholder/lang/en.js +0 -6
  606. data/test/tmp/public/javascripts/ckeditor/plugins/placeholder/lang/he.js +0 -6
  607. data/test/tmp/public/javascripts/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  608. data/test/tmp/public/javascripts/ckeditor/plugins/placeholder/plugin.js +0 -6
  609. data/test/tmp/public/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  610. data/test/tmp/public/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -6
  611. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  612. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  613. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  614. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  615. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  616. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  617. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  618. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  619. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  620. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  621. data/test/tmp/public/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  622. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  623. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  624. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  625. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  626. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  627. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  628. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  629. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  630. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  631. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  632. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  633. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  634. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  635. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  636. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  637. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  638. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  639. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  640. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  641. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  642. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  643. data/test/tmp/public/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  644. data/test/tmp/public/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  645. data/test/tmp/public/javascripts/ckeditor/plugins/specialchar/lang/en.js +0 -6
  646. data/test/tmp/public/javascripts/ckeditor/plugins/styles/styles/default.js +0 -6
  647. data/test/tmp/public/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +0 -6
  648. data/test/tmp/public/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -9
  649. data/test/tmp/public/javascripts/ckeditor/plugins/tableresize/plugin.js +0 -7
  650. data/test/tmp/public/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  651. data/test/tmp/public/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -7
  652. data/test/tmp/public/javascripts/ckeditor/plugins/templates/templates/default.js +0 -6
  653. data/test/tmp/public/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  654. data/test/tmp/public/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  655. data/test/tmp/public/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  656. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -7
  657. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/lang/en.js +0 -6
  658. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/lang/he.js +0 -6
  659. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/plugin.js +0 -6
  660. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  661. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  662. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  663. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  664. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  665. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -6
  666. data/test/tmp/public/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -76
  667. data/test/tmp/public/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  668. data/test/tmp/public/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  669. data/test/tmp/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -6
  670. data/test/tmp/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  671. data/test/tmp/public/javascripts/ckeditor/plugins/xml/plugin.js +0 -6
  672. data/test/tmp/public/javascripts/ckeditor/skins/kama/dialog.css +0 -10
  673. data/test/tmp/public/javascripts/ckeditor/skins/kama/editor.css +0 -13
  674. data/test/tmp/public/javascripts/ckeditor/skins/kama/icons.png +0 -0
  675. data/test/tmp/public/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  676. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  677. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  678. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  679. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  680. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  681. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  682. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  683. data/test/tmp/public/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  684. data/test/tmp/public/javascripts/ckeditor/skins/kama/skin.js +0 -7
  685. data/test/tmp/public/javascripts/ckeditor/skins/kama/templates.css +0 -6
  686. data/test/tmp/public/javascripts/ckeditor/skins/office2003/dialog.css +0 -9
  687. data/test/tmp/public/javascripts/ckeditor/skins/office2003/editor.css +0 -14
  688. data/test/tmp/public/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  689. data/test/tmp/public/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  690. data/test/tmp/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  691. data/test/tmp/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  692. data/test/tmp/public/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  693. data/test/tmp/public/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  694. data/test/tmp/public/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  695. data/test/tmp/public/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  696. data/test/tmp/public/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  697. data/test/tmp/public/javascripts/ckeditor/skins/office2003/skin.js +0 -6
  698. data/test/tmp/public/javascripts/ckeditor/skins/office2003/templates.css +0 -6
  699. data/test/tmp/public/javascripts/ckeditor/skins/v2/dialog.css +0 -9
  700. data/test/tmp/public/javascripts/ckeditor/skins/v2/editor.css +0 -13
  701. data/test/tmp/public/javascripts/ckeditor/skins/v2/icons.png +0 -0
  702. data/test/tmp/public/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  703. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  704. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  705. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  706. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  707. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  708. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  709. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  710. data/test/tmp/public/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  711. data/test/tmp/public/javascripts/ckeditor/skins/v2/skin.js +0 -6
  712. data/test/tmp/public/javascripts/ckeditor/skins/v2/templates.css +0 -6
  713. data/test/tmp/public/javascripts/ckeditor/themes/default/theme.js +0 -8
@@ -1,1301 +0,0 @@
1
- /**
2
- * http://github.com/valums/file-uploader
3
- *
4
- * Multiple file upload component with progress-bar, drag-and-drop.
5
- * © 2010 Andrew Valums ( andrew(at)valums.com )
6
- *
7
- * Licensed under GNU GPL 2 or later, see license.txt.
8
- */
9
-
10
- //
11
- // Helper functions
12
- //
13
-
14
- var qq = qq || {};
15
-
16
- /**
17
- * Adds all missing properties from second obj to first obj
18
- */
19
- qq.extend = function(first, second){
20
- for (var prop in second){
21
- first[prop] = second[prop];
22
- }
23
- };
24
-
25
- /**
26
- * Searches for a given element in the array, returns -1 if it is not present.
27
- * @param {Number} [from] The index at which to begin the search
28
- */
29
- qq.indexOf = function(arr, elt, from){
30
- if (arr.indexOf) return arr.indexOf(elt, from);
31
-
32
- from = from || 0;
33
- var len = arr.length;
34
-
35
- if (from < 0) from += len;
36
-
37
- for (; from < len; from++){
38
- if (from in arr && arr[from] === elt){
39
- return from;
40
- }
41
- }
42
- return -1;
43
- };
44
-
45
- qq.getUniqueId = (function(){
46
- var id = 0;
47
- return function(){ return id++; };
48
- })();
49
-
50
- //
51
- // Events
52
-
53
- qq.attach = function(element, type, fn){
54
- if (element.addEventListener){
55
- element.addEventListener(type, fn, false);
56
- } else if (element.attachEvent){
57
- element.attachEvent('on' + type, fn);
58
- }
59
- };
60
- qq.detach = function(element, type, fn){
61
- if (element.removeEventListener){
62
- element.removeEventListener(type, fn, false);
63
- } else if (element.attachEvent){
64
- element.detachEvent('on' + type, fn);
65
- }
66
- };
67
-
68
- qq.preventDefault = function(e){
69
- if (e.preventDefault){
70
- e.preventDefault();
71
- } else{
72
- e.returnValue = false;
73
- }
74
- };
75
-
76
- //
77
- // Node manipulations
78
-
79
- /**
80
- * Insert node a before node b.
81
- */
82
- qq.insertBefore = function(a, b){
83
- b.parentNode.insertBefore(a, b);
84
- };
85
- qq.remove = function(element){
86
- element.parentNode.removeChild(element);
87
- };
88
-
89
- qq.contains = function(parent, descendant){
90
- // compareposition returns false in this case
91
- if (parent == descendant) return true;
92
-
93
- if (parent.contains){
94
- return parent.contains(descendant);
95
- } else {
96
- return !!(descendant.compareDocumentPosition(parent) & 8);
97
- }
98
- };
99
-
100
- /**
101
- * Creates and returns element from html string
102
- * Uses innerHTML to create an element
103
- */
104
- qq.toElement = (function(){
105
- var div = document.createElement('div');
106
- return function(html){
107
- div.innerHTML = html;
108
- var element = div.firstChild;
109
- div.removeChild(element);
110
- return element;
111
- };
112
- })();
113
-
114
- //
115
- // Node properties and attributes
116
-
117
- /**
118
- * Sets styles for an element.
119
- * Fixes opacity in IE6-8.
120
- */
121
- qq.css = function(element, styles){
122
- if (styles.opacity != null){
123
- if (typeof element.style.opacity != 'string' && typeof(element.filters) != 'undefined'){
124
- styles.filter = 'alpha(opacity=' + Math.round(100 * styles.opacity) + ')';
125
- }
126
- }
127
- qq.extend(element.style, styles);
128
- };
129
- qq.hasClass = function(element, name){
130
- var re = new RegExp('(^| )' + name + '( |$)');
131
- return re.test(element.className);
132
- };
133
- qq.addClass = function(element, name){
134
- if (!qq.hasClass(element, name)){
135
- element.className += ' ' + name;
136
- }
137
- };
138
- qq.removeClass = function(element, name){
139
- var re = new RegExp('(^| )' + name + '( |$)');
140
- element.className = element.className.replace(re, ' ').replace(/^\s+|\s+$/g, "");
141
- };
142
- qq.setText = function(element, text){
143
- element.innerText = text;
144
- element.textContent = text;
145
- };
146
-
147
- //
148
- // Selecting elements
149
-
150
- qq.children = function(element){
151
- var children = [],
152
- child = element.firstChild;
153
-
154
- while (child){
155
- if (child.nodeType == 1){
156
- children.push(child);
157
- }
158
- child = child.nextSibling;
159
- }
160
-
161
- return children;
162
- };
163
-
164
- qq.getByClass = function(element, className){
165
- if (element.querySelectorAll){
166
- return element.querySelectorAll('.' + className);
167
- }
168
-
169
- var result = [];
170
- var candidates = element.getElementsByTagName("*");
171
- var len = candidates.length;
172
-
173
- for (var i = 0; i < len; i++){
174
- if (qq.hasClass(candidates[i], className)){
175
- result.push(candidates[i]);
176
- }
177
- }
178
- return result;
179
- };
180
-
181
- /**
182
- * obj2url() takes a json-object as argument and generates
183
- * a querystring. pretty much like jQuery.param()
184
- *
185
- * how to use:
186
- *
187
- * `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`
188
- *
189
- * will result in:
190
- *
191
- * `http://any.url/upload?otherParam=value&a=b&c=d`
192
- *
193
- * @param Object JSON-Object
194
- * @param String current querystring-part
195
- * @return String encoded querystring
196
- */
197
- qq.obj2url = function(obj, temp, prefixDone){
198
- var uristrings = [],
199
- prefix = '&',
200
- add = function(nextObj, i){
201
- var nextTemp = temp
202
- ? (/\[\]$/.test(temp)) // prevent double-encoding
203
- ? temp
204
- : temp+'['+i+']'
205
- : i;
206
- if ((nextTemp != 'undefined') && (i != 'undefined')) {
207
- uristrings.push(
208
- (typeof nextObj === 'object')
209
- ? qq.obj2url(nextObj, nextTemp, true)
210
- : (Object.prototype.toString.call(nextObj) === '[object Function]')
211
- ? encodeURIComponent(nextTemp) + '=' + encodeURIComponent(nextObj())
212
- : encodeURIComponent(nextTemp) + '=' + encodeURIComponent(nextObj)
213
- );
214
- }
215
- };
216
-
217
- if (!prefixDone && temp) {
218
- prefix = (/\?/.test(temp)) ? (/\?$/.test(temp)) ? '' : '&' : '?';
219
- uristrings.push(temp);
220
- uristrings.push(qq.obj2url(obj));
221
- } else if ((Object.prototype.toString.call(obj) === '[object Array]') && (typeof obj != 'undefined') ) {
222
- // we wont use a for-in-loop on an array (performance)
223
- for (var i = 0, len = obj.length; i < len; ++i){
224
- add(obj[i], i);
225
- }
226
- } else if ((typeof obj != 'undefined') && (obj !== null) && (typeof obj === "object")){
227
- // for anything else but a scalar, we will use for-in-loop
228
- for (var i in obj){
229
- add(obj[i], i);
230
- }
231
- } else {
232
- uristrings.push(encodeURIComponent(temp) + '=' + encodeURIComponent(obj));
233
- }
234
-
235
- return uristrings.join(prefix)
236
- .replace(/^&/, '')
237
- .replace(/%20/g, '+');
238
- };
239
-
240
- //
241
- //
242
- // Uploader Classes
243
- //
244
- //
245
-
246
- var qq = qq || {};
247
-
248
- /**
249
- * Creates upload button, validates upload, but doesn't create file list or dd.
250
- */
251
- qq.FileUploaderBasic = function(o){
252
- this._options = {
253
- // set to true to see the server response
254
- debug: false,
255
- action: '/server/upload',
256
- params: {},
257
- button: null,
258
- multiple: true,
259
- maxConnections: 3,
260
- method: 'POST',
261
- fieldName: 'qqfile',
262
- // validation
263
- allowedExtensions: [],
264
- sizeLimit: 0,
265
- minSizeLimit: 0,
266
- maxFilesCount: 0, // 0 - no limit, works only in multiple mode
267
- minFilesCount: 0, // 0 - no limit, works only in multiple mode
268
- // events
269
- // return false to cancel submit
270
- onSubmit: function(id, fileName){},
271
- onProgress: function(id, fileName, loaded, total){},
272
- onComplete: function(id, fileName, responseJSON){},
273
- onCancel: function(id, fileName){},
274
- // messages
275
- messages: {
276
- typeError: "{file} has invalid extension. Only {extensions} are allowed.",
277
- sizeError: "{file} is too large, maximum file size is {sizeLimit}.",
278
- minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.",
279
- emptyError: "{file} is empty, please select files again without it.",
280
- onLeave: "The files are being uploaded, if you leave now the upload will be cancelled.",
281
- maxFilesError: "You must select less then {maxFilesCount} files.",
282
- minFilesError: "You must select more then {minFilesCount} files."
283
- },
284
- showMessage: function(message){
285
- alert(message);
286
- }
287
- };
288
- qq.extend(this._options, o);
289
-
290
- // number of files being uploaded
291
- this._filesInProgress = 0;
292
- // number of files was processed
293
- this._filesUploaded = 0;
294
- this._handler = this._createUploadHandler();
295
-
296
- if (this._options.button){
297
- this._button = this._createUploadButton(this._options.button);
298
- }
299
-
300
- this._preventLeaveInProgress();
301
- };
302
-
303
- qq.FileUploaderBasic.prototype = {
304
- setParams: function(params){
305
- this._options.params = params;
306
- },
307
- getInProgress: function(){
308
- return this._filesInProgress;
309
- },
310
- _createUploadButton: function(element){
311
- var self = this;
312
-
313
- return new qq.UploadButton({
314
- element: element,
315
- multiple: this._options.multiple && qq.UploadHandlerXhr.isSupported(),
316
- onChange: function(input){
317
- self._onInputChange(input);
318
- }
319
- });
320
- },
321
- _createUploadHandler: function(){
322
- var self = this,
323
- handlerClass;
324
-
325
- if(qq.UploadHandlerXhr.isSupported()){
326
- handlerClass = 'UploadHandlerXhr';
327
- } else {
328
- handlerClass = 'UploadHandlerForm';
329
- }
330
-
331
- var handler = new qq[handlerClass]({
332
- debug: this._options.debug,
333
- action: this._options.action,
334
- maxConnections: this._options.maxConnections,
335
- fieldName: this._options.fieldName,
336
- method: this._options.method,
337
- onProgress: function(id, fileName, loaded, total){
338
- self._onProgress(id, fileName, loaded, total);
339
- self._options.onProgress(id, fileName, loaded, total);
340
- },
341
- onComplete: function(id, fileName, result){
342
- self._onComplete(id, fileName, result);
343
- self._options.onComplete(id, fileName, result);
344
- },
345
- onCancel: function(id, fileName){
346
- self._onCancel(id, fileName);
347
- self._options.onCancel(id, fileName);
348
- }
349
- });
350
-
351
- return handler;
352
- },
353
- _preventLeaveInProgress: function(){
354
- var self = this;
355
-
356
- qq.attach(window, 'beforeunload', function(e){
357
- if (!self._filesInProgress){return;}
358
-
359
- var e = e || window.event;
360
- // for ie, ff
361
- e.returnValue = self._options.messages.onLeave;
362
- // for webkit
363
- return self._options.messages.onLeave;
364
- });
365
- },
366
- _onSubmit: function(id, fileName){
367
- this._filesInProgress++;
368
- },
369
- _onProgress: function(id, fileName, loaded, total){
370
- },
371
- _onComplete: function(id, fileName, result){
372
- this._filesInProgress--;
373
- if (result.error){
374
- this._options.showMessage(result.error);
375
- } else {
376
- this._filesUploaded++;
377
- }
378
- },
379
- _onCancel: function(id, fileName){
380
- this._filesInProgress--;
381
- },
382
- _onInputChange: function(input){
383
- if (this._handler instanceof qq.UploadHandlerXhr){
384
- this._uploadFileList(input.files);
385
- } else {
386
- if (this._validateFile(input)){
387
- this._uploadFile(input);
388
- }
389
- }
390
- this._button.reset();
391
- },
392
- _uploadFileList: function(files){
393
- if ( this._validateFiles(files) ) {
394
- for (var i=0; i<files.length; i++){
395
- this._uploadFile(files[i]);
396
- }
397
- }
398
- },
399
- _uploadFile: function(fileContainer){
400
- var id = this._handler.add(fileContainer);
401
- var fileName = this._handler.getName(id);
402
-
403
- if (this._options.onSubmit(id, fileName) !== false){
404
- this._onSubmit(id, fileName);
405
- this._handler.upload(id, this._options.params);
406
- }
407
- },
408
- _validateFiles: function(files){
409
- var uploadedCount = this._filesUploaded + files.length;
410
-
411
- if (this._options.maxFilesCount > 0) {
412
- if ( uploadedCount > this._options.maxFilesCount) {
413
- this._error('maxFilesError', 'name');
414
- return false;
415
- }
416
- }
417
-
418
- if (this._options.minFilesCount > 0) {
419
- if ( uploadedCount < this._options.minFilesCount) {
420
- this._error('minFilesError', 'name');
421
- return false;
422
- }
423
- }
424
-
425
- for (var i=0; i<files.length; i++){
426
- if ( !this._validateFile(files[i])){
427
- return false;
428
- }
429
- }
430
-
431
- return true;
432
- },
433
- _validateFile: function(file){
434
- var name, size;
435
-
436
- if (file.value){
437
- // it is a file input
438
- // get input value and remove path to normalize
439
- name = file.value.replace(/.*(\/|\\)/, "");
440
- } else {
441
- // fix missing properties in Safari
442
- name = file.fileName != null ? file.fileName : file.name;
443
- size = file.fileSize != null ? file.fileSize : file.size;
444
- }
445
-
446
- if (! this._isAllowedExtension(name)){
447
- this._error('typeError', name);
448
- return false;
449
-
450
- } else if (size === 0){
451
- this._error('emptyError', name);
452
- return false;
453
-
454
- } else if (size && this._options.sizeLimit && size > this._options.sizeLimit){
455
- this._error('sizeError', name);
456
- return false;
457
-
458
- } else if (size && size < this._options.minSizeLimit){
459
- this._error('minSizeError', name);
460
- return false;
461
- }
462
-
463
- return true;
464
- },
465
- _error: function(code, fileName){
466
- var message = this._options.messages[code];
467
- function r(name, replacement){ message = message.replace(name, replacement); }
468
-
469
- r('{file}', this._formatFileName(fileName));
470
- r('{extensions}', this._options.allowedExtensions.join(', '));
471
- r('{sizeLimit}', this._formatSize(this._options.sizeLimit));
472
- r('{minSizeLimit}', this._formatSize(this._options.minSizeLimit));
473
- r('{maxFilesCount}', this._options.maxFilesCount);
474
- r('{minFilesCount}', this._options.minFilesCount);
475
-
476
- this._options.showMessage(message);
477
- },
478
- _formatFileName: function(name){
479
- if (name.length > 33){
480
- name = name.slice(0, 19) + '...' + name.slice(-13);
481
- }
482
- return name;
483
- },
484
- _isAllowedExtension: function(fileName){
485
- var ext = (-1 !== fileName.indexOf('.')) ? fileName.replace(/.*[.]/, '').toLowerCase() : '';
486
- var allowed = this._options.allowedExtensions;
487
-
488
- if (!allowed.length){return true;}
489
-
490
- for (var i=0; i<allowed.length; i++){
491
- if (allowed[i].toLowerCase() == ext){ return true;}
492
- }
493
-
494
- return false;
495
- },
496
- _formatSize: function(bytes){
497
- var i = -1;
498
- do {
499
- bytes = bytes / 1024;
500
- i++;
501
- } while (bytes > 99);
502
-
503
- return Math.max(bytes, 0.1).toFixed(1) + ['kB', 'MB', 'GB', 'TB', 'PB', 'EB'][i];
504
- }
505
- };
506
-
507
-
508
- /**
509
- * Class that creates upload widget with drag-and-drop and file list
510
- * @inherits qq.FileUploaderBasic
511
- */
512
- qq.FileUploader = function(o){
513
- // call parent constructor
514
- qq.FileUploaderBasic.apply(this, arguments);
515
-
516
- // additional options
517
- qq.extend(this._options, {
518
- element: null,
519
- // if set, will be used instead of qq-upload-list in template
520
- listElement: null,
521
-
522
- template: '<div class="qq-uploader">' +
523
- '<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' +
524
- '<div class="qq-upload-button">Upload a file</div>' +
525
- '<ul class="qq-upload-list"></ul>' +
526
- '</div>',
527
-
528
- // template for one item in file list
529
- fileTemplate: '<li>' +
530
- '<span class="qq-upload-file"></span>' +
531
- '<span class="qq-upload-spinner"></span>' +
532
- '<span class="qq-upload-size"></span>' +
533
- '<a class="qq-upload-cancel" href="#">Cancel</a>' +
534
- '<span class="qq-upload-failed-text">Failed</span>' +
535
- '</li>',
536
-
537
- classes: {
538
- // used to get elements from templates
539
- button: 'qq-upload-button',
540
- drop: 'qq-upload-drop-area',
541
- dropActive: 'qq-upload-drop-area-active',
542
- list: 'qq-upload-list',
543
-
544
- file: 'qq-upload-file',
545
- spinner: 'qq-upload-spinner',
546
- size: 'qq-upload-size',
547
- cancel: 'qq-upload-cancel',
548
-
549
- // added to list item when upload completes
550
- // used in css to hide progress spinner
551
- success: 'qq-upload-success',
552
- fail: 'qq-upload-fail'
553
- }
554
- });
555
- // overwrite options with user supplied
556
- qq.extend(this._options, o);
557
-
558
- this._element = this._options.element;
559
- this._element.innerHTML = this._options.template;
560
- this._listElement = this._options.listElement || this._find(this._element, 'list');
561
-
562
- this._classes = this._options.classes;
563
-
564
- this._button = this._createUploadButton(this._find(this._element, 'button'));
565
-
566
- this._bindCancelEvent();
567
- this._setupDragDrop();
568
- };
569
-
570
- // inherit from Basic Uploader
571
- qq.extend(qq.FileUploader.prototype, qq.FileUploaderBasic.prototype);
572
-
573
- qq.extend(qq.FileUploader.prototype, {
574
- /**
575
- * Gets one of the elements listed in this._options.classes
576
- **/
577
- _find: function(parent, type){
578
- var element = qq.getByClass(parent, this._options.classes[type])[0];
579
- if (!element){
580
- throw new Error('element not found ' + type);
581
- }
582
-
583
- return element;
584
- },
585
- _setupDragDrop: function(){
586
- var self = this,
587
- dropArea = this._find(this._element, 'drop');
588
-
589
- var dz = new qq.UploadDropZone({
590
- element: dropArea,
591
- onEnter: function(e){
592
- qq.addClass(dropArea, self._classes.dropActive);
593
- e.stopPropagation();
594
- },
595
- onLeave: function(e){
596
- e.stopPropagation();
597
- },
598
- onLeaveNotDescendants: function(e){
599
- qq.removeClass(dropArea, self._classes.dropActive);
600
- },
601
- onDrop: function(e){
602
- dropArea.style.display = 'none';
603
- qq.removeClass(dropArea, self._classes.dropActive);
604
- self._uploadFileList(e.dataTransfer.files);
605
- }
606
- });
607
-
608
- dropArea.style.display = 'none';
609
-
610
- qq.attach(document, 'dragenter', function(e){
611
- if (!dz._isValidFileDrag(e)) return;
612
-
613
- dropArea.style.display = 'block';
614
- });
615
- qq.attach(document, 'dragleave', function(e){
616
- if (!dz._isValidFileDrag(e)) return;
617
-
618
- var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
619
- // only fire when leaving document out
620
- if ( ! relatedTarget || relatedTarget.nodeName == "HTML"){
621
- dropArea.style.display = 'none';
622
- }
623
- });
624
- },
625
- _onSubmit: function(id, fileName){
626
- qq.FileUploaderBasic.prototype._onSubmit.apply(this, arguments);
627
- this._addToList(id, fileName);
628
- },
629
- _onProgress: function(id, fileName, loaded, total){
630
- qq.FileUploaderBasic.prototype._onProgress.apply(this, arguments);
631
-
632
- var item = this._getItemByFileId(id);
633
- var size = this._find(item, 'size');
634
- size.style.display = 'inline';
635
-
636
- var text;
637
- if (loaded != total){
638
- text = Math.round(loaded / total * 100) + '% from ' + this._formatSize(total);
639
- } else {
640
- text = this._formatSize(total);
641
- }
642
-
643
- qq.setText(size, text);
644
- },
645
- _onComplete: function(id, fileName, result){
646
- qq.FileUploaderBasic.prototype._onComplete.apply(this, arguments);
647
-
648
- // mark completed
649
- var item = this._getItemByFileId(id);
650
- qq.remove(this._find(item, 'cancel'));
651
- qq.remove(this._find(item, 'spinner'));
652
-
653
- if (result.success){
654
- qq.addClass(item, this._classes.success);
655
- } else {
656
- qq.addClass(item, this._classes.fail);
657
- }
658
- },
659
- _addToList: function(id, fileName){
660
- var item = qq.toElement(this._options.fileTemplate);
661
- item.qqFileId = id;
662
-
663
- var fileElement = this._find(item, 'file');
664
- qq.setText(fileElement, this._formatFileName(fileName));
665
- this._find(item, 'size').style.display = 'none';
666
-
667
- this._listElement.appendChild(item);
668
- },
669
- _getItemByFileId: function(id){
670
- var item = this._listElement.firstChild;
671
-
672
- // there can't be txt nodes in dynamically created list
673
- // and we can use nextSibling
674
- while (item){
675
- if (item.qqFileId == id) return item;
676
- item = item.nextSibling;
677
- }
678
- },
679
- /**
680
- * delegate click event for cancel link
681
- **/
682
- _bindCancelEvent: function(){
683
- var self = this,
684
- list = this._listElement;
685
-
686
- qq.attach(list, 'click', function(e){
687
- e = e || window.event;
688
- var target = e.target || e.srcElement;
689
-
690
- if (qq.hasClass(target, self._classes.cancel)){
691
- qq.preventDefault(e);
692
-
693
- var item = target.parentNode;
694
- self._handler.cancel(item.qqFileId);
695
- qq.remove(item);
696
- }
697
- });
698
- }
699
- });
700
-
701
- qq.UploadDropZone = function(o){
702
- this._options = {
703
- element: null,
704
- onEnter: function(e){},
705
- onLeave: function(e){},
706
- // is not fired when leaving element by hovering descendants
707
- onLeaveNotDescendants: function(e){},
708
- onDrop: function(e){}
709
- };
710
- qq.extend(this._options, o);
711
-
712
- this._element = this._options.element;
713
-
714
- this._disableDropOutside();
715
- this._attachEvents();
716
- };
717
-
718
- qq.UploadDropZone.prototype = {
719
- _disableDropOutside: function(e){
720
- // run only once for all instances
721
- if (!qq.UploadDropZone.dropOutsideDisabled ){
722
-
723
- qq.attach(document, 'dragover', function(e){
724
- if (e.dataTransfer){
725
- e.dataTransfer.dropEffect = 'none';
726
- e.preventDefault();
727
- }
728
- });
729
-
730
- qq.UploadDropZone.dropOutsideDisabled = true;
731
- }
732
- },
733
- _attachEvents: function(){
734
- var self = this;
735
-
736
- qq.attach(self._element, 'dragover', function(e){
737
- if (!self._isValidFileDrag(e)) return;
738
-
739
- var effect = e.dataTransfer.effectAllowed;
740
- if (effect == 'move' || effect == 'linkMove'){
741
- e.dataTransfer.dropEffect = 'move'; // for FF (only move allowed)
742
- } else {
743
- e.dataTransfer.dropEffect = 'copy'; // for Chrome
744
- }
745
-
746
- e.stopPropagation();
747
- e.preventDefault();
748
- });
749
-
750
- qq.attach(self._element, 'dragenter', function(e){
751
- if (!self._isValidFileDrag(e)) return;
752
-
753
- self._options.onEnter(e);
754
- });
755
-
756
- qq.attach(self._element, 'dragleave', function(e){
757
- if (!self._isValidFileDrag(e)) return;
758
-
759
- self._options.onLeave(e);
760
-
761
- var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
762
- // do not fire when moving a mouse over a descendant
763
- if (qq.contains(this, relatedTarget)) return;
764
-
765
- self._options.onLeaveNotDescendants(e);
766
- });
767
-
768
- qq.attach(self._element, 'drop', function(e){
769
- if (!self._isValidFileDrag(e)) return;
770
-
771
- e.preventDefault();
772
- self._options.onDrop(e);
773
- });
774
- },
775
- _isValidFileDrag: function(e){
776
- var dt = e.dataTransfer,
777
- // do not check dt.types.contains in webkit, because it crashes safari 4
778
- isWebkit = navigator.userAgent.indexOf("AppleWebKit") > -1;
779
-
780
- // dt.effectAllowed is none in Safari 5
781
- // dt.types.contains check is for firefox
782
- return dt && dt.effectAllowed != 'none' &&
783
- (dt.files || (!isWebkit && dt.types.contains && dt.types.contains('Files')));
784
-
785
- }
786
- };
787
-
788
- qq.UploadButton = function(o){
789
- this._options = {
790
- element: null,
791
- // if set to true adds multiple attribute to file input
792
- multiple: false,
793
- // name attribute of file input
794
- name: 'file',
795
- onChange: function(input){},
796
- hoverClass: 'qq-upload-button-hover',
797
- focusClass: 'qq-upload-button-focus'
798
- };
799
-
800
- qq.extend(this._options, o);
801
-
802
- this._element = this._options.element;
803
-
804
- // make button suitable container for input
805
- qq.css(this._element, {
806
- position: 'relative',
807
- overflow: 'hidden',
808
- // Make sure browse button is in the right side
809
- // in Internet Explorer
810
- direction: 'ltr'
811
- });
812
-
813
- this._input = this._createInput();
814
- };
815
-
816
- qq.UploadButton.prototype = {
817
- /* returns file input element */
818
- getInput: function(){
819
- return this._input;
820
- },
821
- /* cleans/recreates the file input */
822
- reset: function(){
823
- if (this._input.parentNode){
824
- qq.remove(this._input);
825
- }
826
-
827
- qq.removeClass(this._element, this._options.focusClass);
828
- this._input = this._createInput();
829
- },
830
- _createInput: function(){
831
- var input = document.createElement("input");
832
-
833
- if (this._options.multiple){
834
- input.setAttribute("multiple", "multiple");
835
- }
836
-
837
- input.setAttribute("type", "file");
838
- input.setAttribute("name", this._options.name);
839
-
840
- qq.css(input, {
841
- position: 'absolute',
842
- // in Opera only 'browse' button
843
- // is clickable and it is located at
844
- // the right side of the input
845
- right: 0,
846
- top: 0,
847
- fontFamily: 'Arial',
848
- // 4 persons reported this, the max values that worked for them were 243, 236, 236, 118
849
- fontSize: '118px',
850
- margin: 0,
851
- padding: 0,
852
- cursor: 'pointer',
853
- opacity: 0
854
- });
855
-
856
- this._element.appendChild(input);
857
-
858
- var self = this;
859
- qq.attach(input, 'change', function(){
860
- self._options.onChange(input);
861
- });
862
-
863
- qq.attach(input, 'mouseover', function(){
864
- qq.addClass(self._element, self._options.hoverClass);
865
- });
866
- qq.attach(input, 'mouseout', function(){
867
- qq.removeClass(self._element, self._options.hoverClass);
868
- });
869
- qq.attach(input, 'focus', function(){
870
- qq.addClass(self._element, self._options.focusClass);
871
- });
872
- qq.attach(input, 'blur', function(){
873
- qq.removeClass(self._element, self._options.focusClass);
874
- });
875
-
876
- // IE and Opera, unfortunately have 2 tab stops on file input
877
- // which is unacceptable in our case, disable keyboard access
878
- if (window.attachEvent){
879
- // it is IE or Opera
880
- input.setAttribute('tabIndex', "-1");
881
- }
882
-
883
- return input;
884
- }
885
- };
886
-
887
- /**
888
- * Class for uploading files, uploading itself is handled by child classes
889
- */
890
- qq.UploadHandlerAbstract = function(o){
891
- this._options = {
892
- debug: false,
893
- action: '/upload.php',
894
- method: 'POST',
895
- fieldName: 'qqfile',
896
- // maximum number of concurrent uploads
897
- maxConnections: 999,
898
- onProgress: function(id, fileName, loaded, total){},
899
- onComplete: function(id, fileName, response){},
900
- onCancel: function(id, fileName){}
901
- };
902
- qq.extend(this._options, o);
903
-
904
- this._queue = [];
905
- // params for files in queue
906
- this._params = [];
907
- };
908
- qq.UploadHandlerAbstract.prototype = {
909
- log: function(str){
910
- if (this._options.debug && window.console) console.log('[uploader] ' + str);
911
- },
912
- /**
913
- * Adds file or file input to the queue
914
- * @returns id
915
- **/
916
- add: function(file){},
917
- /**
918
- * Sends the file identified by id and additional query params to the server
919
- */
920
- upload: function(id, params){
921
- var len = this._queue.push(id);
922
-
923
- var copy = {};
924
- qq.extend(copy, params);
925
- this._params[id] = copy;
926
-
927
- // if too many active uploads, wait...
928
- if (len <= this._options.maxConnections){
929
- this._upload(id, this._params[id]);
930
- }
931
- },
932
- /**
933
- * Cancels file upload by id
934
- */
935
- cancel: function(id){
936
- this._cancel(id);
937
- this._dequeue(id);
938
- },
939
- /**
940
- * Cancells all uploads
941
- */
942
- cancelAll: function(){
943
- for (var i=0; i<this._queue.length; i++){
944
- this._cancel(this._queue[i]);
945
- }
946
- this._queue = [];
947
- },
948
- /**
949
- * Returns name of the file identified by id
950
- */
951
- getName: function(id){},
952
- /**
953
- * Returns size of the file identified by id
954
- */
955
- getSize: function(id){},
956
- /**
957
- * Returns id of files being uploaded or
958
- * waiting for their turn
959
- */
960
- getQueue: function(){
961
- return this._queue;
962
- },
963
- /**
964
- * Actual upload method
965
- */
966
- _upload: function(id){},
967
- /**
968
- * Actual cancel method
969
- */
970
- _cancel: function(id){},
971
- /**
972
- * Removes element from queue, starts upload of next
973
- */
974
- _dequeue: function(id){
975
- var i = qq.indexOf(this._queue, id);
976
- this._queue.splice(i, 1);
977
-
978
- var max = this._options.maxConnections;
979
-
980
- if (this._queue.length >= max && i < max){
981
- var nextId = this._queue[max-1];
982
- this._upload(nextId, this._params[nextId]);
983
- }
984
- }
985
- };
986
-
987
- /**
988
- * Class for uploading files using form and iframe
989
- * @inherits qq.UploadHandlerAbstract
990
- */
991
- qq.UploadHandlerForm = function(o){
992
- qq.UploadHandlerAbstract.apply(this, arguments);
993
-
994
- this._inputs = {};
995
- };
996
- // @inherits qq.UploadHandlerAbstract
997
- qq.extend(qq.UploadHandlerForm.prototype, qq.UploadHandlerAbstract.prototype);
998
-
999
- qq.extend(qq.UploadHandlerForm.prototype, {
1000
- add: function(fileInput){
1001
- fileInput.setAttribute('name', this._options.fieldName);
1002
- var id = 'qq-upload-handler-iframe' + qq.getUniqueId();
1003
-
1004
- this._inputs[id] = fileInput;
1005
-
1006
- // remove file input from DOM
1007
- if (fileInput.parentNode){
1008
- qq.remove(fileInput);
1009
- }
1010
-
1011
- return id;
1012
- },
1013
- getName: function(id){
1014
- // get input value and remove path to normalize
1015
- return this._inputs[id].value.replace(/.*(\/|\\)/, "");
1016
- },
1017
- _cancel: function(id){
1018
- this._options.onCancel(id, this.getName(id));
1019
-
1020
- delete this._inputs[id];
1021
-
1022
- var iframe = document.getElementById(id);
1023
- if (iframe){
1024
- // to cancel request set src to something else
1025
- // we use src="javascript:false;" because it doesn't
1026
- // trigger ie6 prompt on https
1027
- iframe.setAttribute('src', 'javascript:false;');
1028
-
1029
- qq.remove(iframe);
1030
- }
1031
- },
1032
- _upload: function(id, params){
1033
- var input = this._inputs[id];
1034
-
1035
- if (!input){
1036
- throw new Error('file with passed id was not added, or already uploaded or cancelled');
1037
- }
1038
-
1039
- var fileName = this.getName(id);
1040
-
1041
- var iframe = this._createIframe(id);
1042
- var form = this._createForm(iframe, params);
1043
- form.appendChild(input);
1044
-
1045
- var self = this;
1046
- this._attachLoadEvent(iframe, function(){
1047
- self.log('iframe loaded');
1048
-
1049
- var response = self._getIframeContentJSON(iframe);
1050
-
1051
- self._options.onComplete(id, fileName, response);
1052
- self._dequeue(id);
1053
-
1054
- delete self._inputs[id];
1055
- // timeout added to fix busy state in FF3.6
1056
- setTimeout(function(){
1057
- qq.remove(iframe);
1058
- }, 1);
1059
- });
1060
-
1061
- form.submit();
1062
- qq.remove(form);
1063
-
1064
- return id;
1065
- },
1066
- _attachLoadEvent: function(iframe, callback){
1067
- qq.attach(iframe, 'load', function(){
1068
- // when we remove iframe from dom
1069
- // the request stops, but in IE load
1070
- // event fires
1071
- if (!iframe.parentNode){
1072
- return;
1073
- }
1074
-
1075
- // fixing Opera 10.53
1076
- if (iframe.contentDocument &&
1077
- iframe.contentDocument.body &&
1078
- iframe.contentDocument.body.innerHTML == "false"){
1079
- // In Opera event is fired second time
1080
- // when body.innerHTML changed from false
1081
- // to server response approx. after 1 sec
1082
- // when we upload file with iframe
1083
- return;
1084
- }
1085
-
1086
- callback();
1087
- });
1088
- },
1089
- /**
1090
- * Returns json object received by iframe from server.
1091
- */
1092
- _getIframeContentJSON: function(iframe){
1093
- // iframe.contentWindow.document - for IE<7
1094
- var doc = iframe.contentDocument ? iframe.contentDocument: iframe.contentWindow.document,
1095
- response;
1096
-
1097
- this.log("converting iframe's innerHTML to JSON");
1098
- this.log("innerHTML = " + doc.body.innerHTML);
1099
-
1100
- try {
1101
- response = eval("(" + doc.body.innerHTML + ")");
1102
- } catch(err){
1103
- response = {};
1104
- }
1105
-
1106
- return response;
1107
- },
1108
- /**
1109
- * Creates iframe with unique name
1110
- */
1111
- _createIframe: function(id){
1112
- // We can't use following code as the name attribute
1113
- // won't be properly registered in IE6, and new window
1114
- // on form submit will open
1115
- // var iframe = document.createElement('iframe');
1116
- // iframe.setAttribute('name', id);
1117
-
1118
- var iframe = qq.toElement('<iframe src="javascript:false;" name="' + id + '" />');
1119
- // src="javascript:false;" removes ie6 prompt on https
1120
-
1121
- iframe.setAttribute('id', id);
1122
-
1123
- iframe.style.display = 'none';
1124
- document.body.appendChild(iframe);
1125
-
1126
- return iframe;
1127
- },
1128
- /**
1129
- * Creates form, that will be submitted to iframe
1130
- */
1131
- _createForm: function(iframe, params){
1132
- // We can't use the following code in IE6
1133
- // var form = document.createElement('form');
1134
- // form.setAttribute('method', 'post');
1135
- // form.setAttribute('enctype', 'multipart/form-data');
1136
- // Because in this case file won't be attached to request
1137
- var form = qq.toElement('<form enctype="multipart/form-data"></form>');
1138
-
1139
- var queryString = qq.obj2url(params, this._options.action);
1140
-
1141
- form.setAttribute('method', this._options.method);
1142
- form.setAttribute('action', queryString);
1143
- form.setAttribute('target', iframe.name);
1144
- form.style.display = 'none';
1145
-
1146
- // Rails CSRFProtection
1147
- var token = $('meta[name="csrf-token"]').attr('content');
1148
- var param = $('meta[name="csrf-param"]').attr('content');
1149
- var input = qq.toElement('<input type="hidden" />');
1150
-
1151
- input.setAttribute('name', param);
1152
- input.setAttribute('value', token);
1153
-
1154
- form.appendChild(input);
1155
- document.body.appendChild(form);
1156
-
1157
- return form;
1158
- }
1159
- });
1160
-
1161
- /**
1162
- * Class for uploading files using xhr
1163
- * @inherits qq.UploadHandlerAbstract
1164
- */
1165
- qq.UploadHandlerXhr = function(o){
1166
- qq.UploadHandlerAbstract.apply(this, arguments);
1167
-
1168
- this._files = [];
1169
- this._xhrs = [];
1170
-
1171
- // current loaded size in bytes for each file
1172
- this._loaded = [];
1173
- };
1174
-
1175
- // static method
1176
- qq.UploadHandlerXhr.isSupported = function(){
1177
- var input = document.createElement('input');
1178
- input.type = 'file';
1179
-
1180
- return (
1181
- 'multiple' in input &&
1182
- typeof File != "undefined" &&
1183
- typeof (new XMLHttpRequest()).upload != "undefined" );
1184
- };
1185
-
1186
- // @inherits qq.UploadHandlerAbstract
1187
- qq.extend(qq.UploadHandlerXhr.prototype, qq.UploadHandlerAbstract.prototype)
1188
-
1189
- qq.extend(qq.UploadHandlerXhr.prototype, {
1190
- /**
1191
- * Adds file to the queue
1192
- * Returns id to use with upload, cancel
1193
- **/
1194
- add: function(file){
1195
- if (!(file instanceof File)){
1196
- throw new Error('Passed obj in not a File (in qq.UploadHandlerXhr)');
1197
- }
1198
-
1199
- return this._files.push(file) - 1;
1200
- },
1201
- getName: function(id){
1202
- var file = this._files[id];
1203
- // fix missing name in Safari 4
1204
- return file.fileName != null ? file.fileName : file.name;
1205
- },
1206
- getSize: function(id){
1207
- var file = this._files[id];
1208
- return file.fileSize != null ? file.fileSize : file.size;
1209
- },
1210
- /**
1211
- * Returns uploaded bytes for file identified by id
1212
- */
1213
- getLoaded: function(id){
1214
- return this._loaded[id] || 0;
1215
- },
1216
- /**
1217
- * Sends the file identified by id and additional query params to the server
1218
- * @param {Object} params name-value string pairs
1219
- */
1220
- _upload: function(id, params){
1221
- var file = this._files[id],
1222
- name = this.getName(id),
1223
- size = this.getSize(id);
1224
-
1225
- this._loaded[id] = 0;
1226
-
1227
- var xhr = this._xhrs[id] = new XMLHttpRequest();
1228
- var self = this;
1229
-
1230
- xhr.upload.onprogress = function(e){
1231
- if (e.lengthComputable){
1232
- self._loaded[id] = e.loaded;
1233
- self._options.onProgress(id, name, e.loaded, e.total);
1234
- }
1235
- };
1236
-
1237
- xhr.onreadystatechange = function(){
1238
- if (xhr.readyState == 4){
1239
- self._onComplete(id, xhr);
1240
- }
1241
- };
1242
-
1243
- // build query string
1244
- params = params || {};
1245
- params[this._options.fieldName] = name;
1246
- var queryString = qq.obj2url(params, this._options.action);
1247
-
1248
- xhr.open(this._options.method, queryString, true);
1249
- xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
1250
- xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
1251
- xhr.setRequestHeader('X-File-Size', size);
1252
- xhr.setRequestHeader('X-File-Type', file.type);
1253
- xhr.setRequestHeader("Content-Type", "application/octet-stream");
1254
-
1255
- // Rails CSRFProtection
1256
- if ($.rails) $.rails.CSRFProtection(xhr);
1257
-
1258
- xhr.send(file);
1259
- },
1260
- _onComplete: function(id, xhr){
1261
- // the request was aborted/cancelled
1262
- if (!this._files[id]) return;
1263
-
1264
- var name = this.getName(id);
1265
- var size = this.getSize(id);
1266
-
1267
- this._options.onProgress(id, name, size, size);
1268
-
1269
- if ([200, 201].indexOf( xhr.status ) > -1){
1270
- this.log("xhr - server response received");
1271
- this.log("responseText = " + xhr.responseText);
1272
-
1273
- var response;
1274
-
1275
- try {
1276
- response = eval("(" + xhr.responseText + ")");
1277
- } catch(err){
1278
- response = {};
1279
- }
1280
-
1281
- this._options.onComplete(id, name, response);
1282
-
1283
- } else {
1284
- this._options.onComplete(id, name, {});
1285
- }
1286
-
1287
- this._files[id] = null;
1288
- this._xhrs[id] = null;
1289
- this._dequeue(id);
1290
- },
1291
- _cancel: function(id){
1292
- this._options.onCancel(id, this.getName(id));
1293
-
1294
- this._files[id] = null;
1295
-
1296
- if (this._xhrs[id]){
1297
- this._xhrs[id].abort();
1298
- this._xhrs[id] = null;
1299
- }
1300
- }
1301
- });