site_logic 1.9.4 → 1.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (658) hide show
  1. data/VERSION +1 -1
  2. data/app/controllers/pages_controller.rb +1 -1
  3. data/app/models/page.rb +19 -2
  4. data/app/models/site.rb +5 -0
  5. data/config/environments/test.rb +2 -27
  6. data/features/support/env.rb +38 -20
  7. data/lib/tasks/cucumber.rake +12 -0
  8. data/site_logic.gemspec +2 -649
  9. data/spec/controllers/pages_controller_spec.rb +1 -1
  10. data/spec/models/page_spec.rb +63 -22
  11. metadata +5 -651
  12. data/config/environments/development.rb +0 -27
  13. data/config/environments/production.rb +0 -49
  14. data/public/favicon.ico +0 -0
  15. data/public/javascripts/ckeditor/.htaccess +0 -24
  16. data/public/javascripts/ckeditor/CHANGES.html +0 -993
  17. data/public/javascripts/ckeditor/INSTALL.html +0 -92
  18. data/public/javascripts/ckeditor/LICENSE.html +0 -1334
  19. data/public/javascripts/ckeditor/_samples/ajax.html +0 -87
  20. data/public/javascripts/ckeditor/_samples/api.html +0 -152
  21. data/public/javascripts/ckeditor/_samples/api_dialog/my_dialog.js +0 -28
  22. data/public/javascripts/ckeditor/_samples/api_dialog.html +0 -188
  23. data/public/javascripts/ckeditor/_samples/asp/advanced.asp +0 -105
  24. data/public/javascripts/ckeditor/_samples/asp/events.asp +0 -136
  25. data/public/javascripts/ckeditor/_samples/asp/index.html +0 -103
  26. data/public/javascripts/ckeditor/_samples/asp/replace.asp +0 -72
  27. data/public/javascripts/ckeditor/_samples/asp/replaceall.asp +0 -77
  28. data/public/javascripts/ckeditor/_samples/asp/sample_posteddata.asp +0 -46
  29. data/public/javascripts/ckeditor/_samples/asp/standalone.asp +0 -72
  30. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  31. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  32. data/public/javascripts/ckeditor/_samples/assets/output_xhtml.css +0 -204
  33. data/public/javascripts/ckeditor/_samples/assets/swfobject.js +0 -18
  34. data/public/javascripts/ckeditor/_samples/autogrow.html +0 -75
  35. data/public/javascripts/ckeditor/_samples/divreplace.html +0 -137
  36. data/public/javascripts/ckeditor/_samples/enterkey.html +0 -88
  37. data/public/javascripts/ckeditor/_samples/fullpage.html +0 -62
  38. data/public/javascripts/ckeditor/_samples/index.html +0 -57
  39. data/public/javascripts/ckeditor/_samples/jqueryadapter.html +0 -73
  40. data/public/javascripts/ckeditor/_samples/output_for_flash.html +0 -257
  41. data/public/javascripts/ckeditor/_samples/output_html.html +0 -259
  42. data/public/javascripts/ckeditor/_samples/output_xhtml.html +0 -159
  43. data/public/javascripts/ckeditor/_samples/php/advanced.php +0 -93
  44. data/public/javascripts/ckeditor/_samples/php/events.php +0 -130
  45. data/public/javascripts/ckeditor/_samples/php/replace.php +0 -63
  46. data/public/javascripts/ckeditor/_samples/php/replaceall.php +0 -68
  47. data/public/javascripts/ckeditor/_samples/php/standalone.php +0 -64
  48. data/public/javascripts/ckeditor/_samples/replacebyclass.html +0 -49
  49. data/public/javascripts/ckeditor/_samples/replacebycode.html +0 -80
  50. data/public/javascripts/ckeditor/_samples/sample.css +0 -81
  51. data/public/javascripts/ckeditor/_samples/sample.js +0 -65
  52. data/public/javascripts/ckeditor/_samples/sample_posteddata.php +0 -59
  53. data/public/javascripts/ckeditor/_samples/sharedspaces.html +0 -131
  54. data/public/javascripts/ckeditor/_samples/skins.html +0 -83
  55. data/public/javascripts/ckeditor/_samples/ui_color.html +0 -87
  56. data/public/javascripts/ckeditor/_samples/ui_languages.html +0 -103
  57. data/public/javascripts/ckeditor/_source/adapters/jquery.js +0 -297
  58. data/public/javascripts/ckeditor/_source/core/_bootstrap.js +0 -96
  59. data/public/javascripts/ckeditor/_source/core/ajax.js +0 -142
  60. data/public/javascripts/ckeditor/_source/core/ckeditor.js +0 -133
  61. data/public/javascripts/ckeditor/_source/core/ckeditor_base.js +0 -196
  62. data/public/javascripts/ckeditor/_source/core/ckeditor_basic.js +0 -239
  63. data/public/javascripts/ckeditor/_source/core/command.js +0 -209
  64. data/public/javascripts/ckeditor/_source/core/commanddefinition.js +0 -129
  65. data/public/javascripts/ckeditor/_source/core/config.js +0 -430
  66. data/public/javascripts/ckeditor/_source/core/dataprocessor.js +0 -65
  67. data/public/javascripts/ckeditor/_source/core/dom/comment.js +0 -32
  68. data/public/javascripts/ckeditor/_source/core/dom/document.js +0 -224
  69. data/public/javascripts/ckeditor/_source/core/dom/documentfragment.js +0 -49
  70. data/public/javascripts/ckeditor/_source/core/dom/domobject.js +0 -255
  71. data/public/javascripts/ckeditor/_source/core/dom/element.js +0 -1564
  72. data/public/javascripts/ckeditor/_source/core/dom/elementpath.js +0 -119
  73. data/public/javascripts/ckeditor/_source/core/dom/event.js +0 -142
  74. data/public/javascripts/ckeditor/_source/core/dom/node.js +0 -683
  75. data/public/javascripts/ckeditor/_source/core/dom/nodelist.js +0 -26
  76. data/public/javascripts/ckeditor/_source/core/dom/range.js +0 -1883
  77. data/public/javascripts/ckeditor/_source/core/dom/rangelist.js +0 -214
  78. data/public/javascripts/ckeditor/_source/core/dom/text.js +0 -123
  79. data/public/javascripts/ckeditor/_source/core/dom/walker.js +0 -445
  80. data/public/javascripts/ckeditor/_source/core/dom/window.js +0 -96
  81. data/public/javascripts/ckeditor/_source/core/dom.js +0 -20
  82. data/public/javascripts/ckeditor/_source/core/dtd.js +0 -238
  83. data/public/javascripts/ckeditor/_source/core/editor.js +0 -924
  84. data/public/javascripts/ckeditor/_source/core/editor_basic.js +0 -182
  85. data/public/javascripts/ckeditor/_source/core/env.js +0 -270
  86. data/public/javascripts/ckeditor/_source/core/event.js +0 -342
  87. data/public/javascripts/ckeditor/_source/core/eventInfo.js +0 -120
  88. data/public/javascripts/ckeditor/_source/core/focusmanager.js +0 -152
  89. data/public/javascripts/ckeditor/_source/core/htmlparser/basicwriter.js +0 -145
  90. data/public/javascripts/ckeditor/_source/core/htmlparser/cdata.js +0 -43
  91. data/public/javascripts/ckeditor/_source/core/htmlparser/comment.js +0 -60
  92. data/public/javascripts/ckeditor/_source/core/htmlparser/element.js +0 -240
  93. data/public/javascripts/ckeditor/_source/core/htmlparser/filter.js +0 -288
  94. data/public/javascripts/ckeditor/_source/core/htmlparser/fragment.js +0 -504
  95. data/public/javascripts/ckeditor/_source/core/htmlparser/text.js +0 -55
  96. data/public/javascripts/ckeditor/_source/core/htmlparser.js +0 -224
  97. data/public/javascripts/ckeditor/_source/core/imagecacher.js +0 -80
  98. data/public/javascripts/ckeditor/_source/core/lang.js +0 -156
  99. data/public/javascripts/ckeditor/_source/core/loader.js +0 -243
  100. data/public/javascripts/ckeditor/_source/core/plugindefinition.js +0 -66
  101. data/public/javascripts/ckeditor/_source/core/plugins.js +0 -85
  102. data/public/javascripts/ckeditor/_source/core/resourcemanager.js +0 -238
  103. data/public/javascripts/ckeditor/_source/core/scriptloader.js +0 -200
  104. data/public/javascripts/ckeditor/_source/core/skins.js +0 -212
  105. data/public/javascripts/ckeditor/_source/core/themes.js +0 -19
  106. data/public/javascripts/ckeditor/_source/core/tools.js +0 -734
  107. data/public/javascripts/ckeditor/_source/core/ui.js +0 -116
  108. data/public/javascripts/ckeditor/_source/core/xml.js +0 -165
  109. data/public/javascripts/ckeditor/_source/lang/_languages.js +0 -83
  110. data/public/javascripts/ckeditor/_source/lang/_translationstatus.txt +0 -60
  111. data/public/javascripts/ckeditor/_source/lang/af.js +0 -758
  112. data/public/javascripts/ckeditor/_source/lang/ar.js +0 -758
  113. data/public/javascripts/ckeditor/_source/lang/bg.js +0 -758
  114. data/public/javascripts/ckeditor/_source/lang/bn.js +0 -758
  115. data/public/javascripts/ckeditor/_source/lang/bs.js +0 -758
  116. data/public/javascripts/ckeditor/_source/lang/ca.js +0 -758
  117. data/public/javascripts/ckeditor/_source/lang/cs.js +0 -758
  118. data/public/javascripts/ckeditor/_source/lang/cy.js +0 -758
  119. data/public/javascripts/ckeditor/_source/lang/da.js +0 -758
  120. data/public/javascripts/ckeditor/_source/lang/de.js +0 -758
  121. data/public/javascripts/ckeditor/_source/lang/el.js +0 -758
  122. data/public/javascripts/ckeditor/_source/lang/en-au.js +0 -758
  123. data/public/javascripts/ckeditor/_source/lang/en-ca.js +0 -758
  124. data/public/javascripts/ckeditor/_source/lang/en-gb.js +0 -758
  125. data/public/javascripts/ckeditor/_source/lang/en.js +0 -758
  126. data/public/javascripts/ckeditor/_source/lang/eo.js +0 -758
  127. data/public/javascripts/ckeditor/_source/lang/es.js +0 -758
  128. data/public/javascripts/ckeditor/_source/lang/et.js +0 -758
  129. data/public/javascripts/ckeditor/_source/lang/eu.js +0 -758
  130. data/public/javascripts/ckeditor/_source/lang/fa.js +0 -758
  131. data/public/javascripts/ckeditor/_source/lang/fi.js +0 -758
  132. data/public/javascripts/ckeditor/_source/lang/fo.js +0 -758
  133. data/public/javascripts/ckeditor/_source/lang/fr-ca.js +0 -758
  134. data/public/javascripts/ckeditor/_source/lang/fr.js +0 -758
  135. data/public/javascripts/ckeditor/_source/lang/gl.js +0 -758
  136. data/public/javascripts/ckeditor/_source/lang/gu.js +0 -758
  137. data/public/javascripts/ckeditor/_source/lang/he.js +0 -758
  138. data/public/javascripts/ckeditor/_source/lang/hi.js +0 -758
  139. data/public/javascripts/ckeditor/_source/lang/hr.js +0 -758
  140. data/public/javascripts/ckeditor/_source/lang/hu.js +0 -758
  141. data/public/javascripts/ckeditor/_source/lang/is.js +0 -758
  142. data/public/javascripts/ckeditor/_source/lang/it.js +0 -758
  143. data/public/javascripts/ckeditor/_source/lang/ja.js +0 -758
  144. data/public/javascripts/ckeditor/_source/lang/km.js +0 -758
  145. data/public/javascripts/ckeditor/_source/lang/ko.js +0 -758
  146. data/public/javascripts/ckeditor/_source/lang/lt.js +0 -758
  147. data/public/javascripts/ckeditor/_source/lang/lv.js +0 -758
  148. data/public/javascripts/ckeditor/_source/lang/mn.js +0 -758
  149. data/public/javascripts/ckeditor/_source/lang/ms.js +0 -758
  150. data/public/javascripts/ckeditor/_source/lang/nb.js +0 -758
  151. data/public/javascripts/ckeditor/_source/lang/nl.js +0 -758
  152. data/public/javascripts/ckeditor/_source/lang/no.js +0 -758
  153. data/public/javascripts/ckeditor/_source/lang/pl.js +0 -758
  154. data/public/javascripts/ckeditor/_source/lang/pt-br.js +0 -757
  155. data/public/javascripts/ckeditor/_source/lang/pt.js +0 -758
  156. data/public/javascripts/ckeditor/_source/lang/ro.js +0 -758
  157. data/public/javascripts/ckeditor/_source/lang/ru.js +0 -758
  158. data/public/javascripts/ckeditor/_source/lang/sk.js +0 -758
  159. data/public/javascripts/ckeditor/_source/lang/sl.js +0 -758
  160. data/public/javascripts/ckeditor/_source/lang/sr-latn.js +0 -758
  161. data/public/javascripts/ckeditor/_source/lang/sr.js +0 -758
  162. data/public/javascripts/ckeditor/_source/lang/sv.js +0 -758
  163. data/public/javascripts/ckeditor/_source/lang/th.js +0 -758
  164. data/public/javascripts/ckeditor/_source/lang/tr.js +0 -757
  165. data/public/javascripts/ckeditor/_source/lang/uk.js +0 -758
  166. data/public/javascripts/ckeditor/_source/lang/vi.js +0 -758
  167. data/public/javascripts/ckeditor/_source/lang/zh-cn.js +0 -758
  168. data/public/javascripts/ckeditor/_source/lang/zh.js +0 -758
  169. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -211
  170. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -108
  171. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -216
  172. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -46
  173. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/about.js +0 -73
  174. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  175. data/public/javascripts/ckeditor/_source/plugins/about/plugin.js +0 -23
  176. data/public/javascripts/ckeditor/_source/plugins/ajax_save/plugin.js +0 -44
  177. data/public/javascripts/ckeditor/_source/plugins/attachment/dialogs/attachment.js +0 -384
  178. data/public/javascripts/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
  179. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/en.js +0 -10
  180. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/ru.js +0 -10
  181. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/uk.js +0 -10
  182. data/public/javascripts/ckeditor/_source/plugins/attachment/plugin.js +0 -44
  183. data/public/javascripts/ckeditor/_source/plugins/autogrow/plugin.js +0 -86
  184. data/public/javascripts/ckeditor/_source/plugins/basicstyles/plugin.js +0 -101
  185. data/public/javascripts/ckeditor/_source/plugins/bidi/plugin.js +0 -259
  186. data/public/javascripts/ckeditor/_source/plugins/blockquote/plugin.js +0 -301
  187. data/public/javascripts/ckeditor/_source/plugins/button/plugin.js +0 -277
  188. data/public/javascripts/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -205
  189. data/public/javascripts/ckeditor/_source/plugins/clipboard/plugin.js +0 -412
  190. data/public/javascripts/ckeditor/_source/plugins/colorbutton/plugin.js +0 -250
  191. data/public/javascripts/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -336
  192. data/public/javascripts/ckeditor/_source/plugins/colordialog/plugin.js +0 -13
  193. data/public/javascripts/ckeditor/_source/plugins/contextmenu/plugin.js +0 -290
  194. data/public/javascripts/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -315
  195. data/public/javascripts/ckeditor/_source/plugins/dialog/plugin.js +0 -3015
  196. data/public/javascripts/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -213
  197. data/public/javascripts/ckeditor/_source/plugins/dialogui/plugin.js +0 -1523
  198. data/public/javascripts/ckeditor/_source/plugins/div/dialogs/div.js +0 -535
  199. data/public/javascripts/ckeditor/_source/plugins/div/plugin.js +0 -121
  200. data/public/javascripts/ckeditor/_source/plugins/domiterator/plugin.js +0 -356
  201. data/public/javascripts/ckeditor/_source/plugins/editingblock/plugin.js +0 -229
  202. data/public/javascripts/ckeditor/_source/plugins/elementspath/plugin.js +0 -206
  203. data/public/javascripts/ckeditor/_source/plugins/embed/dialogs/embed.js +0 -65
  204. data/public/javascripts/ckeditor/_source/plugins/embed/images/embed.png +0 -0
  205. data/public/javascripts/ckeditor/_source/plugins/embed/lang/en.js +0 -9
  206. data/public/javascripts/ckeditor/_source/plugins/embed/lang/ru.js +0 -9
  207. data/public/javascripts/ckeditor/_source/plugins/embed/lang/uk.js +0 -9
  208. data/public/javascripts/ckeditor/_source/plugins/embed/plugin.js +0 -44
  209. data/public/javascripts/ckeditor/_source/plugins/enterkey/plugin.js +0 -363
  210. data/public/javascripts/ckeditor/_source/plugins/entities/plugin.js +0 -226
  211. data/public/javascripts/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -122
  212. data/public/javascripts/ckeditor/_source/plugins/filebrowser/plugin.js +0 -501
  213. data/public/javascripts/ckeditor/_source/plugins/find/dialogs/find.js +0 -890
  214. data/public/javascripts/ckeditor/_source/plugins/find/plugin.js +0 -46
  215. data/public/javascripts/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -698
  216. data/public/javascripts/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  217. data/public/javascripts/ckeditor/_source/plugins/flash/plugin.js +0 -168
  218. data/public/javascripts/ckeditor/_source/plugins/floatpanel/plugin.js +0 -402
  219. data/public/javascripts/ckeditor/_source/plugins/font/plugin.js +0 -234
  220. data/public/javascripts/ckeditor/_source/plugins/format/plugin.js +0 -194
  221. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/button.js +0 -135
  222. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  223. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  224. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -98
  225. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  226. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/select.js +0 -556
  227. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  228. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  229. data/public/javascripts/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  230. data/public/javascripts/ckeditor/_source/plugins/forms/plugin.js +0 -284
  231. data/public/javascripts/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -36
  232. data/public/javascripts/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -502
  233. data/public/javascripts/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -319
  234. data/public/javascripts/ckeditor/_source/plugins/iframedialog/plugin.js +0 -136
  235. data/public/javascripts/ckeditor/_source/plugins/image/dialogs/image.js +0 -1396
  236. data/public/javascripts/ckeditor/_source/plugins/image/plugin.js +0 -81
  237. data/public/javascripts/ckeditor/_source/plugins/indent/plugin.js +0 -455
  238. data/public/javascripts/ckeditor/_source/plugins/justify/plugin.js +0 -221
  239. data/public/javascripts/ckeditor/_source/plugins/keystrokes/plugin.js +0 -225
  240. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -99
  241. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/link.js +0 -1424
  242. data/public/javascripts/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  243. data/public/javascripts/ckeditor/_source/plugins/link/plugin.js +0 -238
  244. data/public/javascripts/ckeditor/_source/plugins/list/plugin.js +0 -710
  245. data/public/javascripts/ckeditor/_source/plugins/listblock/plugin.js +0 -257
  246. data/public/javascripts/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -204
  247. data/public/javascripts/ckeditor/_source/plugins/liststyle/plugin.js +0 -66
  248. data/public/javascripts/ckeditor/_source/plugins/maximize/plugin.js +0 -350
  249. data/public/javascripts/ckeditor/_source/plugins/menu/plugin.js +0 -408
  250. data/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js +0 -94
  251. data/public/javascripts/ckeditor/_source/plugins/newpage/plugin.js +0 -53
  252. data/public/javascripts/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  253. data/public/javascripts/ckeditor/_source/plugins/pagebreak/plugin.js +0 -121
  254. data/public/javascripts/ckeditor/_source/plugins/panel/plugin.js +0 -399
  255. data/public/javascripts/ckeditor/_source/plugins/panelbutton/plugin.js +0 -147
  256. data/public/javascripts/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1170
  257. data/public/javascripts/ckeditor/_source/plugins/pastefromword/plugin.js +0 -122
  258. data/public/javascripts/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -70
  259. data/public/javascripts/ckeditor/_source/plugins/pastetext/plugin.js +0 -145
  260. data/public/javascripts/ckeditor/_source/plugins/popup/plugin.js +0 -64
  261. data/public/javascripts/ckeditor/_source/plugins/preview/plugin.js +0 -108
  262. data/public/javascripts/ckeditor/_source/plugins/print/plugin.js +0 -41
  263. data/public/javascripts/ckeditor/_source/plugins/removeformat/plugin.js +0 -184
  264. data/public/javascripts/ckeditor/_source/plugins/resize/plugin.js +0 -157
  265. data/public/javascripts/ckeditor/_source/plugins/richcombo/plugin.js +0 -370
  266. data/public/javascripts/ckeditor/_source/plugins/save/plugin.js +0 -55
  267. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -534
  268. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -71
  269. data/public/javascripts/ckeditor/_source/plugins/scayt/plugin.js +0 -945
  270. data/public/javascripts/ckeditor/_source/plugins/selection/plugin.js +0 -1375
  271. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  272. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  273. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  274. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  275. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  276. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  277. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  278. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  279. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  280. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  281. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  282. data/public/javascripts/ckeditor/_source/plugins/showblocks/plugin.js +0 -155
  283. data/public/javascripts/ckeditor/_source/plugins/showborders/plugin.js +0 -201
  284. data/public/javascripts/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -218
  285. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  286. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  287. data/public/javascripts/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  288. data/public/javascripts/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  289. data/public/javascripts/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  290. data/public/javascripts/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  291. data/public/javascripts/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  292. data/public/javascripts/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  293. data/public/javascripts/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  294. data/public/javascripts/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  295. data/public/javascripts/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  296. data/public/javascripts/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  297. data/public/javascripts/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  298. data/public/javascripts/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  299. data/public/javascripts/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  300. data/public/javascripts/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  301. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  302. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  303. data/public/javascripts/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  304. data/public/javascripts/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  305. data/public/javascripts/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  306. data/public/javascripts/ckeditor/_source/plugins/smiley/plugin.js +0 -94
  307. data/public/javascripts/ckeditor/_source/plugins/sourcearea/plugin.js +0 -207
  308. data/public/javascripts/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -409
  309. data/public/javascripts/ckeditor/_source/plugins/specialchar/plugin.js +0 -29
  310. data/public/javascripts/ckeditor/_source/plugins/styles/plugin.js +0 -1479
  311. data/public/javascripts/ckeditor/_source/plugins/styles/styles/default.js +0 -88
  312. data/public/javascripts/ckeditor/_source/plugins/stylescombo/plugin.js +0 -206
  313. data/public/javascripts/ckeditor/_source/plugins/tab/plugin.js +0 -367
  314. data/public/javascripts/ckeditor/_source/plugins/table/dialogs/table.js +0 -672
  315. data/public/javascripts/ckeditor/_source/plugins/table/plugin.js +0 -78
  316. data/public/javascripts/ckeditor/_source/plugins/tableresize/plugin.js +0 -450
  317. data/public/javascripts/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -533
  318. data/public/javascripts/ckeditor/_source/plugins/tabletools/plugin.js +0 -1120
  319. data/public/javascripts/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -233
  320. data/public/javascripts/ckeditor/_source/plugins/templates/plugin.js +0 -99
  321. data/public/javascripts/ckeditor/_source/plugins/templates/templates/default.js +0 -94
  322. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  323. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  324. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  325. data/public/javascripts/ckeditor/_source/plugins/toolbar/plugin.js +0 -481
  326. data/public/javascripts/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -205
  327. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/en.js +0 -15
  328. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/he.js +0 -15
  329. data/public/javascripts/ckeditor/_source/plugins/uicolor/plugin.js +0 -37
  330. data/public/javascripts/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  331. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  332. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  333. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  334. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  335. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -15
  336. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -71
  337. data/public/javascripts/ckeditor/_source/plugins/undo/plugin.js +0 -554
  338. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -49
  339. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  340. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -82
  341. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -176
  342. data/public/javascripts/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  343. data/public/javascripts/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1146
  344. data/public/javascripts/ckeditor/_source/skins/kama/dialog.css +0 -882
  345. data/public/javascripts/ckeditor/_source/skins/kama/editor.css +0 -25
  346. data/public/javascripts/ckeditor/_source/skins/kama/elementspath.css +0 -73
  347. data/public/javascripts/ckeditor/_source/skins/kama/icons.css +0 -357
  348. data/public/javascripts/ckeditor/_source/skins/kama/icons.png +0 -0
  349. data/public/javascripts/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  350. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  351. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  352. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  353. data/public/javascripts/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  354. data/public/javascripts/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  355. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  356. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  357. data/public/javascripts/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  358. data/public/javascripts/ckeditor/_source/skins/kama/mainui.css +0 -195
  359. data/public/javascripts/ckeditor/_source/skins/kama/menu.css +0 -216
  360. data/public/javascripts/ckeditor/_source/skins/kama/panel.css +0 -217
  361. data/public/javascripts/ckeditor/_source/skins/kama/presets.css +0 -49
  362. data/public/javascripts/ckeditor/_source/skins/kama/reset.css +0 -84
  363. data/public/javascripts/ckeditor/_source/skins/kama/richcombo.css +0 -277
  364. data/public/javascripts/ckeditor/_source/skins/kama/skin.js +0 -268
  365. data/public/javascripts/ckeditor/_source/skins/kama/templates.css +0 -88
  366. data/public/javascripts/ckeditor/_source/skins/kama/toolbar.css +0 -409
  367. data/public/javascripts/ckeditor/_source/skins/office2003/dialog.css +0 -785
  368. data/public/javascripts/ckeditor/_source/skins/office2003/editor.css +0 -25
  369. data/public/javascripts/ckeditor/_source/skins/office2003/elementspath.css +0 -74
  370. data/public/javascripts/ckeditor/_source/skins/office2003/icons.css +0 -354
  371. data/public/javascripts/ckeditor/_source/skins/office2003/icons.png +0 -0
  372. data/public/javascripts/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  373. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  374. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  375. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  376. data/public/javascripts/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  377. data/public/javascripts/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  378. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  379. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  380. data/public/javascripts/ckeditor/_source/skins/office2003/mainui.css +0 -145
  381. data/public/javascripts/ckeditor/_source/skins/office2003/menu.css +0 -213
  382. data/public/javascripts/ckeditor/_source/skins/office2003/panel.css +0 -212
  383. data/public/javascripts/ckeditor/_source/skins/office2003/presets.css +0 -49
  384. data/public/javascripts/ckeditor/_source/skins/office2003/reset.css +0 -84
  385. data/public/javascripts/ckeditor/_source/skins/office2003/richcombo.css +0 -297
  386. data/public/javascripts/ckeditor/_source/skins/office2003/skin.js +0 -81
  387. data/public/javascripts/ckeditor/_source/skins/office2003/templates.css +0 -87
  388. data/public/javascripts/ckeditor/_source/skins/office2003/toolbar.css +0 -470
  389. data/public/javascripts/ckeditor/_source/skins/v2/dialog.css +0 -800
  390. data/public/javascripts/ckeditor/_source/skins/v2/editor.css +0 -25
  391. data/public/javascripts/ckeditor/_source/skins/v2/elementspath.css +0 -74
  392. data/public/javascripts/ckeditor/_source/skins/v2/icons.css +0 -354
  393. data/public/javascripts/ckeditor/_source/skins/v2/icons.png +0 -0
  394. data/public/javascripts/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  395. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  396. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  397. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  398. data/public/javascripts/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  399. data/public/javascripts/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  400. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  401. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  402. data/public/javascripts/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  403. data/public/javascripts/ckeditor/_source/skins/v2/mainui.css +0 -154
  404. data/public/javascripts/ckeditor/_source/skins/v2/menu.css +0 -215
  405. data/public/javascripts/ckeditor/_source/skins/v2/panel.css +0 -212
  406. data/public/javascripts/ckeditor/_source/skins/v2/presets.css +0 -50
  407. data/public/javascripts/ckeditor/_source/skins/v2/reset.css +0 -84
  408. data/public/javascripts/ckeditor/_source/skins/v2/richcombo.css +0 -297
  409. data/public/javascripts/ckeditor/_source/skins/v2/skin.js +0 -77
  410. data/public/javascripts/ckeditor/_source/skins/v2/templates.css +0 -87
  411. data/public/javascripts/ckeditor/_source/skins/v2/toolbar.css +0 -423
  412. data/public/javascripts/ckeditor/_source/themes/default/theme.js +0 -361
  413. data/public/javascripts/ckeditor/adapters/jquery.js +0 -6
  414. data/public/javascripts/ckeditor/ckeditor.js +0 -137
  415. data/public/javascripts/ckeditor/ckeditor.pack +0 -211
  416. data/public/javascripts/ckeditor/ckeditor_basic.js +0 -8
  417. data/public/javascripts/ckeditor/ckeditor_basic_source.js +0 -20
  418. data/public/javascripts/ckeditor/ckeditor_source.js +0 -25
  419. data/public/javascripts/ckeditor/config.js +0 -43
  420. data/public/javascripts/ckeditor/contents.css +0 -39
  421. data/public/javascripts/ckeditor/css/ckfinder.css +0 -299
  422. data/public/javascripts/ckeditor/css/fck_dialog.css +0 -119
  423. data/public/javascripts/ckeditor/css/fck_editor.css +0 -448
  424. data/public/javascripts/ckeditor/css/swfupload.css +0 -94
  425. data/public/javascripts/ckeditor/images/add.gif +0 -0
  426. data/public/javascripts/ckeditor/images/cancelbutton.gif +0 -0
  427. data/public/javascripts/ckeditor/images/ckfnothumb.gif +0 -0
  428. data/public/javascripts/ckeditor/images/doc.gif +0 -0
  429. data/public/javascripts/ckeditor/images/mp3.gif +0 -0
  430. data/public/javascripts/ckeditor/images/pdf.gif +0 -0
  431. data/public/javascripts/ckeditor/images/rar.gif +0 -0
  432. data/public/javascripts/ckeditor/images/refresh.gif +0 -0
  433. data/public/javascripts/ckeditor/images/select_files.png +0 -0
  434. data/public/javascripts/ckeditor/images/spacer.gif +0 -0
  435. data/public/javascripts/ckeditor/images/swf.gif +0 -0
  436. data/public/javascripts/ckeditor/images/toolbar.start.gif +0 -0
  437. data/public/javascripts/ckeditor/images/xls.gif +0 -0
  438. data/public/javascripts/ckeditor/lang/_languages.js +0 -6
  439. data/public/javascripts/ckeditor/lang/_translationstatus.txt +0 -60
  440. data/public/javascripts/ckeditor/lang/af.js +0 -6
  441. data/public/javascripts/ckeditor/lang/ar.js +0 -6
  442. data/public/javascripts/ckeditor/lang/bg.js +0 -6
  443. data/public/javascripts/ckeditor/lang/bn.js +0 -6
  444. data/public/javascripts/ckeditor/lang/bs.js +0 -6
  445. data/public/javascripts/ckeditor/lang/ca.js +0 -6
  446. data/public/javascripts/ckeditor/lang/cs.js +0 -6
  447. data/public/javascripts/ckeditor/lang/cy.js +0 -6
  448. data/public/javascripts/ckeditor/lang/da.js +0 -6
  449. data/public/javascripts/ckeditor/lang/de.js +0 -6
  450. data/public/javascripts/ckeditor/lang/el.js +0 -6
  451. data/public/javascripts/ckeditor/lang/en-au.js +0 -6
  452. data/public/javascripts/ckeditor/lang/en-ca.js +0 -6
  453. data/public/javascripts/ckeditor/lang/en-gb.js +0 -6
  454. data/public/javascripts/ckeditor/lang/en.js +0 -6
  455. data/public/javascripts/ckeditor/lang/eo.js +0 -6
  456. data/public/javascripts/ckeditor/lang/es.js +0 -6
  457. data/public/javascripts/ckeditor/lang/et.js +0 -6
  458. data/public/javascripts/ckeditor/lang/eu.js +0 -6
  459. data/public/javascripts/ckeditor/lang/fa.js +0 -6
  460. data/public/javascripts/ckeditor/lang/fi.js +0 -6
  461. data/public/javascripts/ckeditor/lang/fo.js +0 -6
  462. data/public/javascripts/ckeditor/lang/fr-ca.js +0 -6
  463. data/public/javascripts/ckeditor/lang/fr.js +0 -6
  464. data/public/javascripts/ckeditor/lang/gl.js +0 -6
  465. data/public/javascripts/ckeditor/lang/gu.js +0 -6
  466. data/public/javascripts/ckeditor/lang/he.js +0 -6
  467. data/public/javascripts/ckeditor/lang/hi.js +0 -6
  468. data/public/javascripts/ckeditor/lang/hr.js +0 -6
  469. data/public/javascripts/ckeditor/lang/hu.js +0 -6
  470. data/public/javascripts/ckeditor/lang/is.js +0 -6
  471. data/public/javascripts/ckeditor/lang/it.js +0 -6
  472. data/public/javascripts/ckeditor/lang/ja.js +0 -6
  473. data/public/javascripts/ckeditor/lang/km.js +0 -6
  474. data/public/javascripts/ckeditor/lang/ko.js +0 -6
  475. data/public/javascripts/ckeditor/lang/lt.js +0 -6
  476. data/public/javascripts/ckeditor/lang/lv.js +0 -6
  477. data/public/javascripts/ckeditor/lang/mn.js +0 -6
  478. data/public/javascripts/ckeditor/lang/ms.js +0 -6
  479. data/public/javascripts/ckeditor/lang/nb.js +0 -6
  480. data/public/javascripts/ckeditor/lang/nl.js +0 -6
  481. data/public/javascripts/ckeditor/lang/no.js +0 -6
  482. data/public/javascripts/ckeditor/lang/pl.js +0 -6
  483. data/public/javascripts/ckeditor/lang/pt-br.js +0 -6
  484. data/public/javascripts/ckeditor/lang/pt.js +0 -6
  485. data/public/javascripts/ckeditor/lang/ro.js +0 -6
  486. data/public/javascripts/ckeditor/lang/ru.js +0 -6
  487. data/public/javascripts/ckeditor/lang/sk.js +0 -6
  488. data/public/javascripts/ckeditor/lang/sl.js +0 -6
  489. data/public/javascripts/ckeditor/lang/sr-latn.js +0 -6
  490. data/public/javascripts/ckeditor/lang/sr.js +0 -6
  491. data/public/javascripts/ckeditor/lang/sv.js +0 -6
  492. data/public/javascripts/ckeditor/lang/th.js +0 -6
  493. data/public/javascripts/ckeditor/lang/tr.js +0 -6
  494. data/public/javascripts/ckeditor/lang/uk.js +0 -6
  495. data/public/javascripts/ckeditor/lang/vi.js +0 -6
  496. data/public/javascripts/ckeditor/lang/zh-cn.js +0 -6
  497. data/public/javascripts/ckeditor/lang/zh.js +0 -6
  498. data/public/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -7
  499. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +0 -6
  500. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +0 -6
  501. data/public/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -6
  502. data/public/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  503. data/public/javascripts/ckeditor/plugins/ajax_save/plugin.js +0 -1
  504. data/public/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +0 -1
  505. data/public/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
  506. data/public/javascripts/ckeditor/plugins/attachment/lang/en.js +0 -10
  507. data/public/javascripts/ckeditor/plugins/attachment/lang/ru.js +0 -10
  508. data/public/javascripts/ckeditor/plugins/attachment/lang/uk.js +0 -10
  509. data/public/javascripts/ckeditor/plugins/attachment/plugin.js +0 -1
  510. data/public/javascripts/ckeditor/plugins/autogrow/plugin.js +0 -6
  511. data/public/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  512. data/public/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  513. data/public/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  514. data/public/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -8
  515. data/public/javascripts/ckeditor/plugins/embed/dialogs/embed.js +0 -1
  516. data/public/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
  517. data/public/javascripts/ckeditor/plugins/embed/lang/en.js +0 -9
  518. data/public/javascripts/ckeditor/plugins/embed/lang/ru.js +0 -9
  519. data/public/javascripts/ckeditor/plugins/embed/lang/uk.js +0 -9
  520. data/public/javascripts/ckeditor/plugins/embed/plugin.js +0 -1
  521. data/public/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -9
  522. data/public/javascripts/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  523. data/public/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  524. data/public/javascripts/ckeditor/plugins/forms/dialogs/button.js +0 -6
  525. data/public/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  526. data/public/javascripts/ckeditor/plugins/forms/dialogs/form.js +0 -6
  527. data/public/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  528. data/public/javascripts/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  529. data/public/javascripts/ckeditor/plugins/forms/dialogs/select.js +0 -9
  530. data/public/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  531. data/public/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +0 -7
  532. data/public/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  533. data/public/javascripts/ckeditor/plugins/iframedialog/plugin.js +0 -6
  534. data/public/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -13
  535. data/public/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  536. data/public/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -11
  537. data/public/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  538. data/public/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -6
  539. data/public/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  540. data/public/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -10
  541. data/public/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -6
  542. data/public/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  543. data/public/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -6
  544. data/public/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  545. data/public/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  546. data/public/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  547. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  548. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  549. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  550. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  551. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  552. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  553. data/public/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  554. data/public/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  555. data/public/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  556. data/public/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  557. data/public/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  558. data/public/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  559. data/public/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  560. data/public/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  561. data/public/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  562. data/public/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  563. data/public/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  564. data/public/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  565. data/public/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  566. data/public/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  567. data/public/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  568. data/public/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  569. data/public/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  570. data/public/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  571. data/public/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  572. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  573. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  574. data/public/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  575. data/public/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  576. data/public/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  577. data/public/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  578. data/public/javascripts/ckeditor/plugins/styles/styles/default.js +0 -6
  579. data/public/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -9
  580. data/public/javascripts/ckeditor/plugins/tableresize/plugin.js +0 -7
  581. data/public/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  582. data/public/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -7
  583. data/public/javascripts/ckeditor/plugins/templates/templates/default.js +0 -6
  584. data/public/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  585. data/public/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  586. data/public/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  587. data/public/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -7
  588. data/public/javascripts/ckeditor/plugins/uicolor/lang/en.js +0 -6
  589. data/public/javascripts/ckeditor/plugins/uicolor/lang/he.js +0 -6
  590. data/public/javascripts/ckeditor/plugins/uicolor/plugin.js +0 -6
  591. data/public/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  592. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  593. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  594. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  595. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  596. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -6
  597. data/public/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -76
  598. data/public/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  599. data/public/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  600. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -6
  601. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  602. data/public/javascripts/ckeditor/skins/kama/dialog.css +0 -9
  603. data/public/javascripts/ckeditor/skins/kama/editor.css +0 -12
  604. data/public/javascripts/ckeditor/skins/kama/icons.png +0 -0
  605. data/public/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  606. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  607. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  608. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  609. data/public/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  610. data/public/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  611. data/public/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  612. data/public/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  613. data/public/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  614. data/public/javascripts/ckeditor/skins/kama/skin.js +0 -7
  615. data/public/javascripts/ckeditor/skins/kama/templates.css +0 -6
  616. data/public/javascripts/ckeditor/skins/office2003/dialog.css +0 -9
  617. data/public/javascripts/ckeditor/skins/office2003/editor.css +0 -13
  618. data/public/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  619. data/public/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  620. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  621. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  622. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  623. data/public/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  624. data/public/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  625. data/public/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  626. data/public/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  627. data/public/javascripts/ckeditor/skins/office2003/skin.js +0 -6
  628. data/public/javascripts/ckeditor/skins/office2003/templates.css +0 -6
  629. data/public/javascripts/ckeditor/skins/v2/dialog.css +0 -9
  630. data/public/javascripts/ckeditor/skins/v2/editor.css +0 -12
  631. data/public/javascripts/ckeditor/skins/v2/icons.png +0 -0
  632. data/public/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  633. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  634. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  635. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  636. data/public/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  637. data/public/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  638. data/public/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  639. data/public/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  640. data/public/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  641. data/public/javascripts/ckeditor/skins/v2/skin.js +0 -6
  642. data/public/javascripts/ckeditor/skins/v2/templates.css +0 -6
  643. data/public/javascripts/ckeditor/swfupload/fileprogress.js +0 -275
  644. data/public/javascripts/ckeditor/swfupload/handlers.js +0 -170
  645. data/public/javascripts/ckeditor/swfupload/mootools-1.2.3-core-yc.js +0 -356
  646. data/public/javascripts/ckeditor/swfupload/querystring.js +0 -40
  647. data/public/javascripts/ckeditor/swfupload/swfupload.js +0 -1
  648. data/public/javascripts/ckeditor/swfupload/swfupload.queue.js +0 -1
  649. data/public/javascripts/ckeditor/swfupload/swfupload.swf +0 -0
  650. data/public/javascripts/ckeditor/swfupload/swfupload.swfobject.js +0 -111
  651. data/public/javascripts/ckeditor/themes/default/theme.js +0 -8
  652. data/public/javascripts/controls.js +0 -62
  653. data/public/javascripts/dragdrop.js +0 -66
  654. data/public/javascripts/effects.js +0 -38
  655. data/public/javascripts/prototype.js +0 -541
  656. data/public/javascripts/rails.js +0 -22
  657. data/public/stylesheets/core_ie.css +0 -52
  658. data/public/stylesheets/csshover3.htc +0 -14
@@ -1,710 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- /**
7
- * @file Insert and remove numbered and bulleted lists.
8
- */
9
-
10
- (function()
11
- {
12
- var listNodeNames = { ol : 1, ul : 1 },
13
- emptyTextRegex = /^[\n\r\t ]*$/;
14
-
15
- CKEDITOR.plugins.list = {
16
- /*
17
- * Convert a DOM list tree into a data structure that is easier to
18
- * manipulate. This operation should be non-intrusive in the sense that it
19
- * does not change the DOM tree, with the exception that it may add some
20
- * markers to the list item nodes when database is specified.
21
- */
22
- listToArray : function( listNode, database, baseArray, baseIndentLevel, grandparentNode )
23
- {
24
- if ( !listNodeNames[ listNode.getName() ] )
25
- return [];
26
-
27
- if ( !baseIndentLevel )
28
- baseIndentLevel = 0;
29
- if ( !baseArray )
30
- baseArray = [];
31
-
32
- // Iterate over all list items to and look for inner lists.
33
- for ( var i = 0, count = listNode.getChildCount() ; i < count ; i++ )
34
- {
35
- var listItem = listNode.getChild( i );
36
-
37
- // It may be a text node or some funny stuff.
38
- if ( listItem.$.nodeName.toLowerCase() != 'li' )
39
- continue;
40
-
41
- var itemObj = { 'parent' : listNode, indent : baseIndentLevel, element : listItem, contents : [] };
42
- if ( !grandparentNode )
43
- {
44
- itemObj.grandparent = listNode.getParent();
45
- if ( itemObj.grandparent && itemObj.grandparent.$.nodeName.toLowerCase() == 'li' )
46
- itemObj.grandparent = itemObj.grandparent.getParent();
47
- }
48
- else
49
- itemObj.grandparent = grandparentNode;
50
-
51
- if ( database )
52
- CKEDITOR.dom.element.setMarker( database, listItem, 'listarray_index', baseArray.length );
53
- baseArray.push( itemObj );
54
-
55
- for ( var j = 0, itemChildCount = listItem.getChildCount(), child; j < itemChildCount ; j++ )
56
- {
57
- child = listItem.getChild( j );
58
- if ( child.type == CKEDITOR.NODE_ELEMENT && listNodeNames[ child.getName() ] )
59
- // Note the recursion here, it pushes inner list items with
60
- // +1 indentation in the correct order.
61
- CKEDITOR.plugins.list.listToArray( child, database, baseArray, baseIndentLevel + 1, itemObj.grandparent );
62
- else
63
- itemObj.contents.push( child );
64
- }
65
- }
66
- return baseArray;
67
- },
68
-
69
- // Convert our internal representation of a list back to a DOM forest.
70
- arrayToList : function( listArray, database, baseIndex, paragraphMode, dir )
71
- {
72
- if ( !baseIndex )
73
- baseIndex = 0;
74
- if ( !listArray || listArray.length < baseIndex + 1 )
75
- return null;
76
- var doc = listArray[ baseIndex ].parent.getDocument(),
77
- retval = new CKEDITOR.dom.documentFragment( doc ),
78
- rootNode = null,
79
- currentIndex = baseIndex,
80
- indentLevel = Math.max( listArray[ baseIndex ].indent, 0 ),
81
- currentListItem = null,
82
- paragraphName = ( paragraphMode == CKEDITOR.ENTER_P ? 'p' : 'div' );
83
- while ( 1 )
84
- {
85
- var item = listArray[ currentIndex ];
86
- if ( item.indent == indentLevel )
87
- {
88
- if ( !rootNode || listArray[ currentIndex ].parent.getName() != rootNode.getName() )
89
- {
90
- rootNode = listArray[ currentIndex ].parent.clone( false, 1 );
91
- retval.append( rootNode );
92
- }
93
- currentListItem = rootNode.append( item.element.clone( 0, 1 ) );
94
- for ( var i = 0 ; i < item.contents.length ; i++ )
95
- currentListItem.append( item.contents[i].clone( 1, 1 ) );
96
- currentIndex++;
97
- }
98
- else if ( item.indent == Math.max( indentLevel, 0 ) + 1 )
99
- {
100
- var listData = CKEDITOR.plugins.list.arrayToList( listArray, null, currentIndex, paragraphMode );
101
- currentListItem.append( listData.listNode );
102
- currentIndex = listData.nextIndex;
103
- }
104
- else if ( item.indent == -1 && !baseIndex && item.grandparent )
105
- {
106
- currentListItem;
107
- if ( listNodeNames[ item.grandparent.getName() ] )
108
- currentListItem = item.element.clone( false, true );
109
- else
110
- {
111
- // Create completely new blocks here.
112
- if ( dir || item.element.hasAttributes() ||
113
- ( paragraphMode != CKEDITOR.ENTER_BR && item.grandparent.getName() != 'td' ) )
114
- {
115
- currentListItem = doc.createElement( paragraphName );
116
- item.element.copyAttributes( currentListItem, { type:1, value:1 } );
117
- dir && currentListItem.setAttribute( 'dir', dir );
118
-
119
- // There might be a case where there are no attributes in the element after all
120
- // (i.e. when "type" or "value" are the only attributes set). In this case, if enterMode = BR,
121
- // the current item should be a fragment.
122
- if ( !dir && paragraphMode == CKEDITOR.ENTER_BR && !currentListItem.hasAttributes() )
123
- currentListItem = new CKEDITOR.dom.documentFragment( doc );
124
- }
125
- else
126
- currentListItem = new CKEDITOR.dom.documentFragment( doc );
127
- }
128
-
129
- for ( i = 0 ; i < item.contents.length ; i++ )
130
- currentListItem.append( item.contents[i].clone( 1, 1 ) );
131
-
132
- if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT
133
- && currentIndex != listArray.length - 1 )
134
- {
135
- if ( currentListItem.getLast()
136
- && currentListItem.getLast().type == CKEDITOR.NODE_ELEMENT
137
- && currentListItem.getLast().getAttribute( 'type' ) == '_moz' )
138
- currentListItem.getLast().remove();
139
- currentListItem.appendBogus();
140
- }
141
-
142
- if ( currentListItem.type == CKEDITOR.NODE_ELEMENT &&
143
- currentListItem.getName() == paragraphName &&
144
- currentListItem.$.firstChild )
145
- {
146
- currentListItem.trim();
147
- var firstChild = currentListItem.getFirst();
148
- if ( firstChild.type == CKEDITOR.NODE_ELEMENT && firstChild.isBlockBoundary() )
149
- {
150
- var tmp = new CKEDITOR.dom.documentFragment( doc );
151
- currentListItem.moveChildren( tmp );
152
- currentListItem = tmp;
153
- }
154
- }
155
-
156
- var currentListItemName = currentListItem.$.nodeName.toLowerCase();
157
- if ( !CKEDITOR.env.ie && ( currentListItemName == 'div' || currentListItemName == 'p' ) )
158
- currentListItem.appendBogus();
159
- retval.append( currentListItem );
160
- rootNode = null;
161
- currentIndex++;
162
- }
163
- else
164
- return null;
165
-
166
- if ( listArray.length <= currentIndex || Math.max( listArray[ currentIndex ].indent, 0 ) < indentLevel )
167
- break;
168
- }
169
-
170
- // Clear marker attributes for the new list tree made of cloned nodes, if any.
171
- if ( database )
172
- {
173
- var currentNode = retval.getFirst();
174
- while ( currentNode )
175
- {
176
- if ( currentNode.type == CKEDITOR.NODE_ELEMENT )
177
- CKEDITOR.dom.element.clearMarkers( database, currentNode );
178
- currentNode = currentNode.getNextSourceNode();
179
- }
180
- }
181
-
182
- return { listNode : retval, nextIndex : currentIndex };
183
- }
184
- };
185
-
186
- function setState( editor, state )
187
- {
188
- editor.getCommand( this.name ).setState( state );
189
- }
190
-
191
- function onSelectionChange( evt )
192
- {
193
- var path = evt.data.path,
194
- blockLimit = path.blockLimit,
195
- elements = path.elements,
196
- element;
197
-
198
- // Grouping should only happen under blockLimit.(#3940).
199
- for ( var i = 0 ; i < elements.length && ( element = elements[ i ] )
200
- && !element.equals( blockLimit ); i++ )
201
- {
202
- if ( listNodeNames[ elements[i].getName() ] )
203
- {
204
- return setState.call( this, evt.editor,
205
- this.type == elements[i].getName() ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );
206
- }
207
- }
208
-
209
- return setState.call( this, evt.editor, CKEDITOR.TRISTATE_OFF );
210
- }
211
-
212
- function changeListType( editor, groupObj, database, listsCreated )
213
- {
214
- // This case is easy...
215
- // 1. Convert the whole list into a one-dimensional array.
216
- // 2. Change the list type by modifying the array.
217
- // 3. Recreate the whole list by converting the array to a list.
218
- // 4. Replace the original list with the recreated list.
219
- var listArray = CKEDITOR.plugins.list.listToArray( groupObj.root, database ),
220
- selectedListItems = [];
221
-
222
- for ( var i = 0 ; i < groupObj.contents.length ; i++ )
223
- {
224
- var itemNode = groupObj.contents[i];
225
- itemNode = itemNode.getAscendant( 'li', true );
226
- if ( !itemNode || itemNode.getCustomData( 'list_item_processed' ) )
227
- continue;
228
- selectedListItems.push( itemNode );
229
- CKEDITOR.dom.element.setMarker( database, itemNode, 'list_item_processed', true );
230
- }
231
-
232
- var root = groupObj.root,
233
- fakeParent = root.getDocument().createElement( this.type );
234
- // Copy all attributes, except from 'start' and 'type'.
235
- root.copyAttributes( fakeParent, { start : 1, type : 1 } );
236
- // The list-style-type property should be ignored.
237
- fakeParent.removeStyle( 'list-style-type' );
238
-
239
- for ( i = 0 ; i < selectedListItems.length ; i++ )
240
- {
241
- var listIndex = selectedListItems[i].getCustomData( 'listarray_index' );
242
- listArray[listIndex].parent = fakeParent;
243
- }
244
- var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode );
245
- var child, length = newList.listNode.getChildCount();
246
- for ( i = 0 ; i < length && ( child = newList.listNode.getChild( i ) ) ; i++ )
247
- {
248
- if ( child.getName() == this.type )
249
- listsCreated.push( child );
250
- }
251
- newList.listNode.replace( groupObj.root );
252
- }
253
-
254
- var headerTagRegex = /^h[1-6]$/;
255
-
256
- function createList( editor, groupObj, listsCreated )
257
- {
258
- var contents = groupObj.contents,
259
- doc = groupObj.root.getDocument(),
260
- listContents = [];
261
-
262
- // It is possible to have the contents returned by DomRangeIterator to be the same as the root.
263
- // e.g. when we're running into table cells.
264
- // In such a case, enclose the childNodes of contents[0] into a <div>.
265
- if ( contents.length == 1 && contents[0].equals( groupObj.root ) )
266
- {
267
- var divBlock = doc.createElement( 'div' );
268
- contents[0].moveChildren && contents[0].moveChildren( divBlock );
269
- contents[0].append( divBlock );
270
- contents[0] = divBlock;
271
- }
272
-
273
- // Calculate the common parent node of all content blocks.
274
- var commonParent = groupObj.contents[0].getParent();
275
- for ( var i = 0 ; i < contents.length ; i++ )
276
- commonParent = commonParent.getCommonAncestor( contents[i].getParent() );
277
-
278
- var useComputedState = editor.config.useComputedState,
279
- listDir, explicitDirection;
280
-
281
- useComputedState = useComputedState === undefined || useComputedState;
282
-
283
- // We want to insert things that are in the same tree level only, so calculate the contents again
284
- // by expanding the selected blocks to the same tree level.
285
- for ( i = 0 ; i < contents.length ; i++ )
286
- {
287
- var contentNode = contents[i],
288
- parentNode;
289
- while ( ( parentNode = contentNode.getParent() ) )
290
- {
291
- if ( parentNode.equals( commonParent ) )
292
- {
293
- listContents.push( contentNode );
294
-
295
- // Determine the lists's direction.
296
- if ( !explicitDirection && contentNode.getDirection() )
297
- explicitDirection = 1;
298
-
299
- var itemDir = contentNode.getDirection( useComputedState );
300
-
301
- if ( listDir !== null )
302
- {
303
- // If at least one LI have a different direction than current listDir, we can't have listDir.
304
- if ( listDir && listDir != itemDir )
305
- listDir = null;
306
- else
307
- listDir = itemDir;
308
- }
309
-
310
- break;
311
- }
312
- contentNode = parentNode;
313
- }
314
- }
315
-
316
- if ( listContents.length < 1 )
317
- return;
318
-
319
- // Insert the list to the DOM tree.
320
- var insertAnchor = listContents[ listContents.length - 1 ].getNext(),
321
- listNode = doc.createElement( this.type );
322
-
323
- listsCreated.push( listNode );
324
-
325
- var contentBlock, listItem;
326
-
327
- while ( listContents.length )
328
- {
329
- contentBlock = listContents.shift();
330
- listItem = doc.createElement( 'li' );
331
-
332
- // Preserve preformat block and heading structure when converting to list item. (#5335) (#5271)
333
- if ( contentBlock.is( 'pre' ) || headerTagRegex.test( contentBlock.getName() ) )
334
- contentBlock.appendTo( listItem );
335
- else
336
- {
337
- // Remove DIR attribute if it was merged into list root.
338
- if ( listDir && contentBlock.getDirection() )
339
- {
340
- contentBlock.removeStyle( 'direction' );
341
- contentBlock.removeAttribute( 'dir' );
342
- }
343
-
344
- contentBlock.copyAttributes( listItem );
345
- contentBlock.moveChildren( listItem );
346
- contentBlock.remove();
347
- }
348
-
349
- listItem.appendTo( listNode );
350
- }
351
-
352
- // Apply list root dir only if it has been explicitly declared.
353
- if ( listDir && explicitDirection )
354
- listNode.setAttribute( 'dir', listDir );
355
-
356
- if ( insertAnchor )
357
- listNode.insertBefore( insertAnchor );
358
- else
359
- listNode.appendTo( commonParent );
360
- }
361
-
362
- function removeList( editor, groupObj, database )
363
- {
364
- // This is very much like the change list type operation.
365
- // Except that we're changing the selected items' indent to -1 in the list array.
366
- var listArray = CKEDITOR.plugins.list.listToArray( groupObj.root, database ),
367
- selectedListItems = [];
368
-
369
- for ( var i = 0 ; i < groupObj.contents.length ; i++ )
370
- {
371
- var itemNode = groupObj.contents[i];
372
- itemNode = itemNode.getAscendant( 'li', true );
373
- if ( !itemNode || itemNode.getCustomData( 'list_item_processed' ) )
374
- continue;
375
- selectedListItems.push( itemNode );
376
- CKEDITOR.dom.element.setMarker( database, itemNode, 'list_item_processed', true );
377
- }
378
-
379
- var lastListIndex = null;
380
- for ( i = 0 ; i < selectedListItems.length ; i++ )
381
- {
382
- var listIndex = selectedListItems[i].getCustomData( 'listarray_index' );
383
- listArray[listIndex].indent = -1;
384
- lastListIndex = listIndex;
385
- }
386
-
387
- // After cutting parts of the list out with indent=-1, we still have to maintain the array list
388
- // model's nextItem.indent <= currentItem.indent + 1 invariant. Otherwise the array model of the
389
- // list cannot be converted back to a real DOM list.
390
- for ( i = lastListIndex + 1 ; i < listArray.length ; i++ )
391
- {
392
- if ( listArray[i].indent > listArray[i-1].indent + 1 )
393
- {
394
- var indentOffset = listArray[i-1].indent + 1 - listArray[i].indent;
395
- var oldIndent = listArray[i].indent;
396
- while ( listArray[i] && listArray[i].indent >= oldIndent )
397
- {
398
- listArray[i].indent += indentOffset;
399
- i++;
400
- }
401
- i--;
402
- }
403
- }
404
-
405
- var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode,
406
- groupObj.root.getAttribute( 'dir' ) );
407
-
408
- // Compensate <br> before/after the list node if the surrounds are non-blocks.(#3836)
409
- var docFragment = newList.listNode, boundaryNode, siblingNode;
410
- function compensateBrs( isStart )
411
- {
412
- if ( ( boundaryNode = docFragment[ isStart ? 'getFirst' : 'getLast' ]() )
413
- && !( boundaryNode.is && boundaryNode.isBlockBoundary() )
414
- && ( siblingNode = groupObj.root[ isStart ? 'getPrevious' : 'getNext' ]
415
- ( CKEDITOR.dom.walker.whitespaces( true ) ) )
416
- && !( siblingNode.is && siblingNode.isBlockBoundary( { br : 1 } ) ) )
417
- editor.document.createElement( 'br' )[ isStart ? 'insertBefore' : 'insertAfter' ]( boundaryNode );
418
- }
419
- compensateBrs( true );
420
- compensateBrs();
421
-
422
- docFragment.replace( groupObj.root );
423
- }
424
-
425
- function listCommand( name, type )
426
- {
427
- this.name = name;
428
- this.type = type;
429
- }
430
-
431
- listCommand.prototype = {
432
- exec : function( editor )
433
- {
434
- editor.focus();
435
-
436
- var doc = editor.document,
437
- selection = editor.getSelection(),
438
- ranges = selection && selection.getRanges( true );
439
-
440
- // There should be at least one selected range.
441
- if ( !ranges || ranges.length < 1 )
442
- return;
443
-
444
- // Midas lists rule #1 says we can create a list even in an empty document.
445
- // But DOM iterator wouldn't run if the document is really empty.
446
- // So create a paragraph if the document is empty and we're going to create a list.
447
- if ( this.state == CKEDITOR.TRISTATE_OFF )
448
- {
449
- var body = doc.getBody();
450
- body.trim();
451
- if ( !body.getFirst() )
452
- {
453
- var paragraph = doc.createElement( editor.config.enterMode == CKEDITOR.ENTER_P ? 'p' :
454
- ( editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'br' ) );
455
- paragraph.appendTo( body );
456
- ranges = new CKEDITOR.dom.rangeList( [ new CKEDITOR.dom.range( doc ) ] );
457
- // IE exception on inserting anything when anchor inside <br>.
458
- if ( paragraph.is( 'br' ) )
459
- {
460
- ranges[ 0 ].setStartBefore( paragraph );
461
- ranges[ 0 ].setEndAfter( paragraph );
462
- }
463
- else
464
- ranges[ 0 ].selectNodeContents( paragraph );
465
- selection.selectRanges( ranges );
466
- }
467
- // Maybe a single range there enclosing the whole list,
468
- // turn on the list state manually(#4129).
469
- else
470
- {
471
- var range = ranges.length == 1 && ranges[ 0 ],
472
- enclosedNode = range && range.getEnclosedNode();
473
- if ( enclosedNode && enclosedNode.is
474
- && this.type == enclosedNode.getName() )
475
- setState.call( this, editor, CKEDITOR.TRISTATE_ON );
476
- }
477
- }
478
-
479
- var bookmarks = selection.createBookmarks( true );
480
-
481
- // Group the blocks up because there are many cases where multiple lists have to be created,
482
- // or multiple lists have to be cancelled.
483
- var listGroups = [],
484
- database = {},
485
- rangeIterator = ranges.createIterator(),
486
- index = 0;
487
-
488
- while ( ( range = rangeIterator.getNextRange() ) && ++index )
489
- {
490
- var boundaryNodes = range.getBoundaryNodes(),
491
- startNode = boundaryNodes.startNode,
492
- endNode = boundaryNodes.endNode;
493
-
494
- if ( startNode.type == CKEDITOR.NODE_ELEMENT && startNode.getName() == 'td' )
495
- range.setStartAt( boundaryNodes.startNode, CKEDITOR.POSITION_AFTER_START );
496
-
497
- if ( endNode.type == CKEDITOR.NODE_ELEMENT && endNode.getName() == 'td' )
498
- range.setEndAt( boundaryNodes.endNode, CKEDITOR.POSITION_BEFORE_END );
499
-
500
- var iterator = range.createIterator(),
501
- block;
502
-
503
- iterator.forceBrBreak = ( this.state == CKEDITOR.TRISTATE_OFF );
504
-
505
- while ( ( block = iterator.getNextParagraph() ) )
506
- {
507
- // Avoid duplicate blocks get processed across ranges.
508
- if( block.getCustomData( 'list_block' ) )
509
- continue;
510
- else
511
- CKEDITOR.dom.element.setMarker( database, block, 'list_block', 1 );
512
-
513
- var path = new CKEDITOR.dom.elementPath( block ),
514
- pathElements = path.elements,
515
- pathElementsCount = pathElements.length,
516
- listNode = null,
517
- processedFlag = 0,
518
- blockLimit = path.blockLimit,
519
- element;
520
-
521
- // First, try to group by a list ancestor.
522
- for ( var i = pathElementsCount - 1; i >= 0 && ( element = pathElements[ i ] ); i-- )
523
- {
524
- if ( listNodeNames[ element.getName() ]
525
- && blockLimit.contains( element ) ) // Don't leak outside block limit (#3940).
526
- {
527
- // If we've encountered a list inside a block limit
528
- // The last group object of the block limit element should
529
- // no longer be valid. Since paragraphs after the list
530
- // should belong to a different group of paragraphs before
531
- // the list. (Bug #1309)
532
- blockLimit.removeCustomData( 'list_group_object_' + index );
533
-
534
- var groupObj = element.getCustomData( 'list_group_object' );
535
- if ( groupObj )
536
- groupObj.contents.push( block );
537
- else
538
- {
539
- groupObj = { root : element, contents : [ block ] };
540
- listGroups.push( groupObj );
541
- CKEDITOR.dom.element.setMarker( database, element, 'list_group_object', groupObj );
542
- }
543
- processedFlag = 1;
544
- break;
545
- }
546
- }
547
-
548
- if ( processedFlag )
549
- continue;
550
-
551
- // No list ancestor? Group by block limit, but don't mix contents from different ranges.
552
- var root = blockLimit;
553
- if ( root.getCustomData( 'list_group_object_' + index ) )
554
- root.getCustomData( 'list_group_object_' + index ).contents.push( block );
555
- else
556
- {
557
- groupObj = { root : root, contents : [ block ] };
558
- CKEDITOR.dom.element.setMarker( database, root, 'list_group_object_' + index, groupObj );
559
- listGroups.push( groupObj );
560
- }
561
- }
562
- }
563
-
564
- // Now we have two kinds of list groups, groups rooted at a list, and groups rooted at a block limit element.
565
- // We either have to build lists or remove lists, for removing a list does not makes sense when we are looking
566
- // at the group that's not rooted at lists. So we have three cases to handle.
567
- var listsCreated = [];
568
- while ( listGroups.length > 0 )
569
- {
570
- groupObj = listGroups.shift();
571
- if ( this.state == CKEDITOR.TRISTATE_OFF )
572
- {
573
- if ( listNodeNames[ groupObj.root.getName() ] )
574
- changeListType.call( this, editor, groupObj, database, listsCreated );
575
- else
576
- createList.call( this, editor, groupObj, listsCreated );
577
- }
578
- else if ( this.state == CKEDITOR.TRISTATE_ON && listNodeNames[ groupObj.root.getName() ] )
579
- removeList.call( this, editor, groupObj, database );
580
- }
581
-
582
- // For all new lists created, merge adjacent, same type lists.
583
- for ( i = 0 ; i < listsCreated.length ; i++ )
584
- {
585
- listNode = listsCreated[i];
586
- var mergeSibling, listCommand = this;
587
- ( mergeSibling = function( rtl ){
588
-
589
- var sibling = listNode[ rtl ?
590
- 'getPrevious' : 'getNext' ]( CKEDITOR.dom.walker.whitespaces( true ) );
591
- if ( sibling && sibling.getName &&
592
- sibling.getName() == listCommand.type )
593
- {
594
- sibling.remove();
595
- // Move children order by merge direction.(#3820)
596
- sibling.moveChildren( listNode, rtl );
597
- }
598
- } )();
599
- mergeSibling( 1 );
600
- }
601
-
602
- // Clean up, restore selection and update toolbar button states.
603
- CKEDITOR.dom.element.clearAllMarkers( database );
604
- selection.selectBookmarks( bookmarks );
605
- editor.focus();
606
- }
607
- };
608
-
609
- var dtd = CKEDITOR.dtd;
610
- var tailNbspRegex = /[\t\r\n ]*(?:&nbsp;|\xa0)$/;
611
-
612
- function indexOfFirstChildElement( element, tagNameList )
613
- {
614
- var child,
615
- children = element.children,
616
- length = children.length;
617
-
618
- for ( var i = 0 ; i < length ; i++ )
619
- {
620
- child = children[ i ];
621
- if ( child.name && ( child.name in tagNameList ) )
622
- return i;
623
- }
624
-
625
- return length;
626
- }
627
-
628
- function getExtendNestedListFilter( isHtmlFilter )
629
- {
630
- // An element filter function that corrects nested list start in an empty
631
- // list item for better displaying/outputting. (#3165)
632
- return function( listItem )
633
- {
634
- var children = listItem.children,
635
- firstNestedListIndex = indexOfFirstChildElement( listItem, dtd.$list ),
636
- firstNestedList = children[ firstNestedListIndex ],
637
- nodeBefore = firstNestedList && firstNestedList.previous,
638
- tailNbspmatch;
639
-
640
- if ( nodeBefore
641
- && ( nodeBefore.name && nodeBefore.name == 'br'
642
- || nodeBefore.value && ( tailNbspmatch = nodeBefore.value.match( tailNbspRegex ) ) ) )
643
- {
644
- var fillerNode = nodeBefore;
645
-
646
- // Always use 'nbsp' as filler node if we found a nested list appear
647
- // in front of a list item.
648
- if ( !( tailNbspmatch && tailNbspmatch.index ) && fillerNode == children[ 0 ] )
649
- children[ 0 ] = ( isHtmlFilter || CKEDITOR.env.ie ) ?
650
- new CKEDITOR.htmlParser.text( '\xa0' ) :
651
- new CKEDITOR.htmlParser.element( 'br', {} );
652
-
653
- // Otherwise the filler is not needed anymore.
654
- else if ( fillerNode.name == 'br' )
655
- children.splice( firstNestedListIndex - 1, 1 );
656
- else
657
- fillerNode.value = fillerNode.value.replace( tailNbspRegex, '' );
658
- }
659
-
660
- };
661
- }
662
-
663
- var defaultListDataFilterRules = { elements : {} };
664
- for ( var i in dtd.$listItem )
665
- defaultListDataFilterRules.elements[ i ] = getExtendNestedListFilter();
666
-
667
- var defaultListHtmlFilterRules = { elements : {} };
668
- for ( i in dtd.$listItem )
669
- defaultListHtmlFilterRules.elements[ i ] = getExtendNestedListFilter( true );
670
-
671
- CKEDITOR.plugins.add( 'list',
672
- {
673
- init : function( editor )
674
- {
675
- // Register commands.
676
- var numberedListCommand = new listCommand( 'numberedlist', 'ol' ),
677
- bulletedListCommand = new listCommand( 'bulletedlist', 'ul' );
678
- editor.addCommand( 'numberedlist', numberedListCommand );
679
- editor.addCommand( 'bulletedlist', bulletedListCommand );
680
-
681
- // Register the toolbar button.
682
- editor.ui.addButton( 'NumberedList',
683
- {
684
- label : editor.lang.numberedlist,
685
- command : 'numberedlist'
686
- } );
687
- editor.ui.addButton( 'BulletedList',
688
- {
689
- label : editor.lang.bulletedlist,
690
- command : 'bulletedlist'
691
- } );
692
-
693
- // Register the state changing handlers.
694
- editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, numberedListCommand ) );
695
- editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, bulletedListCommand ) );
696
- },
697
-
698
- afterInit : function ( editor )
699
- {
700
- var dataProcessor = editor.dataProcessor;
701
- if ( dataProcessor )
702
- {
703
- dataProcessor.dataFilter.addRules( defaultListDataFilterRules );
704
- dataProcessor.htmlFilter.addRules( defaultListHtmlFilterRules );
705
- }
706
- },
707
-
708
- requires : [ 'domiterator' ]
709
- } );
710
- })();