ckeditor 3.6.2 → 3.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
- });