ppc_logic 0.8.0 → 0.8.1

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 (665) hide show
  1. data/Gemfile +1 -4
  2. data/VERSION +1 -1
  3. data/app/models/landing_page.rb +13 -50
  4. data/app/views/admin/landing_pages/_form.html.erb +1 -1
  5. data/app/views/layouts/application.html.erb +2 -8
  6. data/config/environments/development.rb +1 -0
  7. data/config/environments/production.rb +2 -0
  8. data/config/environments/test.rb +2 -3
  9. data/features/manage_landing_pages.feature +1 -1
  10. data/features/manage_local_offers.feature +1 -1
  11. data/features/support/env.rb +38 -20
  12. data/lib/tasks/cucumber.rake +12 -0
  13. data/ppc_logic.gemspec +5 -659
  14. metadata +22 -686
  15. data/public/404.html +0 -26
  16. data/public/422.html +0 -26
  17. data/public/500.html +0 -26
  18. data/public/favicon.ico +0 -0
  19. data/public/javascripts/application.js +0 -2
  20. data/public/javascripts/ckeditor/.htaccess +0 -24
  21. data/public/javascripts/ckeditor/CHANGES.html +0 -993
  22. data/public/javascripts/ckeditor/INSTALL.html +0 -92
  23. data/public/javascripts/ckeditor/LICENSE.html +0 -1334
  24. data/public/javascripts/ckeditor/_samples/ajax.html +0 -87
  25. data/public/javascripts/ckeditor/_samples/api.html +0 -152
  26. data/public/javascripts/ckeditor/_samples/api_dialog.html +0 -188
  27. data/public/javascripts/ckeditor/_samples/api_dialog/my_dialog.js +0 -28
  28. data/public/javascripts/ckeditor/_samples/asp/advanced.asp +0 -105
  29. data/public/javascripts/ckeditor/_samples/asp/events.asp +0 -136
  30. data/public/javascripts/ckeditor/_samples/asp/index.html +0 -103
  31. data/public/javascripts/ckeditor/_samples/asp/replace.asp +0 -72
  32. data/public/javascripts/ckeditor/_samples/asp/replaceall.asp +0 -77
  33. data/public/javascripts/ckeditor/_samples/asp/sample_posteddata.asp +0 -46
  34. data/public/javascripts/ckeditor/_samples/asp/standalone.asp +0 -72
  35. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  36. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  37. data/public/javascripts/ckeditor/_samples/assets/output_xhtml.css +0 -204
  38. data/public/javascripts/ckeditor/_samples/assets/swfobject.js +0 -18
  39. data/public/javascripts/ckeditor/_samples/autogrow.html +0 -75
  40. data/public/javascripts/ckeditor/_samples/divreplace.html +0 -137
  41. data/public/javascripts/ckeditor/_samples/enterkey.html +0 -88
  42. data/public/javascripts/ckeditor/_samples/fullpage.html +0 -62
  43. data/public/javascripts/ckeditor/_samples/index.html +0 -57
  44. data/public/javascripts/ckeditor/_samples/jqueryadapter.html +0 -73
  45. data/public/javascripts/ckeditor/_samples/output_for_flash.html +0 -257
  46. data/public/javascripts/ckeditor/_samples/output_html.html +0 -259
  47. data/public/javascripts/ckeditor/_samples/output_xhtml.html +0 -159
  48. data/public/javascripts/ckeditor/_samples/php/advanced.php +0 -93
  49. data/public/javascripts/ckeditor/_samples/php/events.php +0 -130
  50. data/public/javascripts/ckeditor/_samples/php/replace.php +0 -63
  51. data/public/javascripts/ckeditor/_samples/php/replaceall.php +0 -68
  52. data/public/javascripts/ckeditor/_samples/php/standalone.php +0 -64
  53. data/public/javascripts/ckeditor/_samples/replacebyclass.html +0 -49
  54. data/public/javascripts/ckeditor/_samples/replacebycode.html +0 -80
  55. data/public/javascripts/ckeditor/_samples/sample.css +0 -81
  56. data/public/javascripts/ckeditor/_samples/sample.js +0 -65
  57. data/public/javascripts/ckeditor/_samples/sample_posteddata.php +0 -59
  58. data/public/javascripts/ckeditor/_samples/sharedspaces.html +0 -131
  59. data/public/javascripts/ckeditor/_samples/skins.html +0 -83
  60. data/public/javascripts/ckeditor/_samples/ui_color.html +0 -87
  61. data/public/javascripts/ckeditor/_samples/ui_languages.html +0 -103
  62. data/public/javascripts/ckeditor/_source/adapters/jquery.js +0 -297
  63. data/public/javascripts/ckeditor/_source/core/_bootstrap.js +0 -96
  64. data/public/javascripts/ckeditor/_source/core/ajax.js +0 -142
  65. data/public/javascripts/ckeditor/_source/core/ckeditor.js +0 -133
  66. data/public/javascripts/ckeditor/_source/core/ckeditor_base.js +0 -196
  67. data/public/javascripts/ckeditor/_source/core/ckeditor_basic.js +0 -239
  68. data/public/javascripts/ckeditor/_source/core/command.js +0 -209
  69. data/public/javascripts/ckeditor/_source/core/commanddefinition.js +0 -129
  70. data/public/javascripts/ckeditor/_source/core/config.js +0 -430
  71. data/public/javascripts/ckeditor/_source/core/dataprocessor.js +0 -65
  72. data/public/javascripts/ckeditor/_source/core/dom.js +0 -20
  73. data/public/javascripts/ckeditor/_source/core/dom/comment.js +0 -32
  74. data/public/javascripts/ckeditor/_source/core/dom/document.js +0 -224
  75. data/public/javascripts/ckeditor/_source/core/dom/documentfragment.js +0 -49
  76. data/public/javascripts/ckeditor/_source/core/dom/domobject.js +0 -255
  77. data/public/javascripts/ckeditor/_source/core/dom/element.js +0 -1564
  78. data/public/javascripts/ckeditor/_source/core/dom/elementpath.js +0 -119
  79. data/public/javascripts/ckeditor/_source/core/dom/event.js +0 -142
  80. data/public/javascripts/ckeditor/_source/core/dom/node.js +0 -683
  81. data/public/javascripts/ckeditor/_source/core/dom/nodelist.js +0 -26
  82. data/public/javascripts/ckeditor/_source/core/dom/range.js +0 -1883
  83. data/public/javascripts/ckeditor/_source/core/dom/rangelist.js +0 -214
  84. data/public/javascripts/ckeditor/_source/core/dom/text.js +0 -123
  85. data/public/javascripts/ckeditor/_source/core/dom/walker.js +0 -445
  86. data/public/javascripts/ckeditor/_source/core/dom/window.js +0 -96
  87. data/public/javascripts/ckeditor/_source/core/dtd.js +0 -238
  88. data/public/javascripts/ckeditor/_source/core/editor.js +0 -924
  89. data/public/javascripts/ckeditor/_source/core/editor_basic.js +0 -182
  90. data/public/javascripts/ckeditor/_source/core/env.js +0 -270
  91. data/public/javascripts/ckeditor/_source/core/event.js +0 -342
  92. data/public/javascripts/ckeditor/_source/core/eventInfo.js +0 -120
  93. data/public/javascripts/ckeditor/_source/core/focusmanager.js +0 -152
  94. data/public/javascripts/ckeditor/_source/core/htmlparser.js +0 -224
  95. data/public/javascripts/ckeditor/_source/core/htmlparser/basicwriter.js +0 -145
  96. data/public/javascripts/ckeditor/_source/core/htmlparser/cdata.js +0 -43
  97. data/public/javascripts/ckeditor/_source/core/htmlparser/comment.js +0 -60
  98. data/public/javascripts/ckeditor/_source/core/htmlparser/element.js +0 -240
  99. data/public/javascripts/ckeditor/_source/core/htmlparser/filter.js +0 -288
  100. data/public/javascripts/ckeditor/_source/core/htmlparser/fragment.js +0 -504
  101. data/public/javascripts/ckeditor/_source/core/htmlparser/text.js +0 -55
  102. data/public/javascripts/ckeditor/_source/core/imagecacher.js +0 -80
  103. data/public/javascripts/ckeditor/_source/core/lang.js +0 -156
  104. data/public/javascripts/ckeditor/_source/core/loader.js +0 -243
  105. data/public/javascripts/ckeditor/_source/core/plugindefinition.js +0 -66
  106. data/public/javascripts/ckeditor/_source/core/plugins.js +0 -85
  107. data/public/javascripts/ckeditor/_source/core/resourcemanager.js +0 -238
  108. data/public/javascripts/ckeditor/_source/core/scriptloader.js +0 -200
  109. data/public/javascripts/ckeditor/_source/core/skins.js +0 -212
  110. data/public/javascripts/ckeditor/_source/core/themes.js +0 -19
  111. data/public/javascripts/ckeditor/_source/core/tools.js +0 -734
  112. data/public/javascripts/ckeditor/_source/core/ui.js +0 -116
  113. data/public/javascripts/ckeditor/_source/core/xml.js +0 -165
  114. data/public/javascripts/ckeditor/_source/lang/_languages.js +0 -83
  115. data/public/javascripts/ckeditor/_source/lang/_translationstatus.txt +0 -60
  116. data/public/javascripts/ckeditor/_source/lang/af.js +0 -758
  117. data/public/javascripts/ckeditor/_source/lang/ar.js +0 -758
  118. data/public/javascripts/ckeditor/_source/lang/bg.js +0 -758
  119. data/public/javascripts/ckeditor/_source/lang/bn.js +0 -758
  120. data/public/javascripts/ckeditor/_source/lang/bs.js +0 -758
  121. data/public/javascripts/ckeditor/_source/lang/ca.js +0 -758
  122. data/public/javascripts/ckeditor/_source/lang/cs.js +0 -758
  123. data/public/javascripts/ckeditor/_source/lang/cy.js +0 -758
  124. data/public/javascripts/ckeditor/_source/lang/da.js +0 -758
  125. data/public/javascripts/ckeditor/_source/lang/de.js +0 -758
  126. data/public/javascripts/ckeditor/_source/lang/el.js +0 -758
  127. data/public/javascripts/ckeditor/_source/lang/en-au.js +0 -758
  128. data/public/javascripts/ckeditor/_source/lang/en-ca.js +0 -758
  129. data/public/javascripts/ckeditor/_source/lang/en-gb.js +0 -758
  130. data/public/javascripts/ckeditor/_source/lang/en.js +0 -758
  131. data/public/javascripts/ckeditor/_source/lang/eo.js +0 -758
  132. data/public/javascripts/ckeditor/_source/lang/es.js +0 -758
  133. data/public/javascripts/ckeditor/_source/lang/et.js +0 -758
  134. data/public/javascripts/ckeditor/_source/lang/eu.js +0 -758
  135. data/public/javascripts/ckeditor/_source/lang/fa.js +0 -758
  136. data/public/javascripts/ckeditor/_source/lang/fi.js +0 -758
  137. data/public/javascripts/ckeditor/_source/lang/fo.js +0 -758
  138. data/public/javascripts/ckeditor/_source/lang/fr-ca.js +0 -758
  139. data/public/javascripts/ckeditor/_source/lang/fr.js +0 -758
  140. data/public/javascripts/ckeditor/_source/lang/gl.js +0 -758
  141. data/public/javascripts/ckeditor/_source/lang/gu.js +0 -758
  142. data/public/javascripts/ckeditor/_source/lang/he.js +0 -758
  143. data/public/javascripts/ckeditor/_source/lang/hi.js +0 -758
  144. data/public/javascripts/ckeditor/_source/lang/hr.js +0 -758
  145. data/public/javascripts/ckeditor/_source/lang/hu.js +0 -758
  146. data/public/javascripts/ckeditor/_source/lang/is.js +0 -758
  147. data/public/javascripts/ckeditor/_source/lang/it.js +0 -758
  148. data/public/javascripts/ckeditor/_source/lang/ja.js +0 -758
  149. data/public/javascripts/ckeditor/_source/lang/km.js +0 -758
  150. data/public/javascripts/ckeditor/_source/lang/ko.js +0 -758
  151. data/public/javascripts/ckeditor/_source/lang/lt.js +0 -758
  152. data/public/javascripts/ckeditor/_source/lang/lv.js +0 -758
  153. data/public/javascripts/ckeditor/_source/lang/mn.js +0 -758
  154. data/public/javascripts/ckeditor/_source/lang/ms.js +0 -758
  155. data/public/javascripts/ckeditor/_source/lang/nb.js +0 -758
  156. data/public/javascripts/ckeditor/_source/lang/nl.js +0 -758
  157. data/public/javascripts/ckeditor/_source/lang/no.js +0 -758
  158. data/public/javascripts/ckeditor/_source/lang/pl.js +0 -758
  159. data/public/javascripts/ckeditor/_source/lang/pt-br.js +0 -757
  160. data/public/javascripts/ckeditor/_source/lang/pt.js +0 -758
  161. data/public/javascripts/ckeditor/_source/lang/ro.js +0 -758
  162. data/public/javascripts/ckeditor/_source/lang/ru.js +0 -758
  163. data/public/javascripts/ckeditor/_source/lang/sk.js +0 -758
  164. data/public/javascripts/ckeditor/_source/lang/sl.js +0 -758
  165. data/public/javascripts/ckeditor/_source/lang/sr-latn.js +0 -758
  166. data/public/javascripts/ckeditor/_source/lang/sr.js +0 -758
  167. data/public/javascripts/ckeditor/_source/lang/sv.js +0 -758
  168. data/public/javascripts/ckeditor/_source/lang/th.js +0 -758
  169. data/public/javascripts/ckeditor/_source/lang/tr.js +0 -757
  170. data/public/javascripts/ckeditor/_source/lang/uk.js +0 -758
  171. data/public/javascripts/ckeditor/_source/lang/vi.js +0 -758
  172. data/public/javascripts/ckeditor/_source/lang/zh-cn.js +0 -758
  173. data/public/javascripts/ckeditor/_source/lang/zh.js +0 -758
  174. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -211
  175. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -108
  176. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -216
  177. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -46
  178. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/about.js +0 -73
  179. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  180. data/public/javascripts/ckeditor/_source/plugins/about/plugin.js +0 -23
  181. data/public/javascripts/ckeditor/_source/plugins/ajax_save/plugin.js +0 -44
  182. data/public/javascripts/ckeditor/_source/plugins/attachment/dialogs/attachment.js +0 -384
  183. data/public/javascripts/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
  184. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/en.js +0 -10
  185. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/ru.js +0 -10
  186. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/uk.js +0 -10
  187. data/public/javascripts/ckeditor/_source/plugins/attachment/plugin.js +0 -44
  188. data/public/javascripts/ckeditor/_source/plugins/autogrow/plugin.js +0 -86
  189. data/public/javascripts/ckeditor/_source/plugins/basicstyles/plugin.js +0 -101
  190. data/public/javascripts/ckeditor/_source/plugins/bidi/plugin.js +0 -259
  191. data/public/javascripts/ckeditor/_source/plugins/blockquote/plugin.js +0 -301
  192. data/public/javascripts/ckeditor/_source/plugins/button/plugin.js +0 -277
  193. data/public/javascripts/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -205
  194. data/public/javascripts/ckeditor/_source/plugins/clipboard/plugin.js +0 -412
  195. data/public/javascripts/ckeditor/_source/plugins/colorbutton/plugin.js +0 -250
  196. data/public/javascripts/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -336
  197. data/public/javascripts/ckeditor/_source/plugins/colordialog/plugin.js +0 -13
  198. data/public/javascripts/ckeditor/_source/plugins/contextmenu/plugin.js +0 -290
  199. data/public/javascripts/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -315
  200. data/public/javascripts/ckeditor/_source/plugins/dialog/plugin.js +0 -3015
  201. data/public/javascripts/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -213
  202. data/public/javascripts/ckeditor/_source/plugins/dialogui/plugin.js +0 -1523
  203. data/public/javascripts/ckeditor/_source/plugins/div/dialogs/div.js +0 -535
  204. data/public/javascripts/ckeditor/_source/plugins/div/plugin.js +0 -121
  205. data/public/javascripts/ckeditor/_source/plugins/domiterator/plugin.js +0 -356
  206. data/public/javascripts/ckeditor/_source/plugins/editingblock/plugin.js +0 -229
  207. data/public/javascripts/ckeditor/_source/plugins/elementspath/plugin.js +0 -206
  208. data/public/javascripts/ckeditor/_source/plugins/embed/dialogs/embed.js +0 -65
  209. data/public/javascripts/ckeditor/_source/plugins/embed/images/embed.png +0 -0
  210. data/public/javascripts/ckeditor/_source/plugins/embed/lang/en.js +0 -9
  211. data/public/javascripts/ckeditor/_source/plugins/embed/lang/ru.js +0 -9
  212. data/public/javascripts/ckeditor/_source/plugins/embed/lang/uk.js +0 -9
  213. data/public/javascripts/ckeditor/_source/plugins/embed/plugin.js +0 -44
  214. data/public/javascripts/ckeditor/_source/plugins/enterkey/plugin.js +0 -363
  215. data/public/javascripts/ckeditor/_source/plugins/entities/plugin.js +0 -226
  216. data/public/javascripts/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -122
  217. data/public/javascripts/ckeditor/_source/plugins/filebrowser/plugin.js +0 -501
  218. data/public/javascripts/ckeditor/_source/plugins/find/dialogs/find.js +0 -890
  219. data/public/javascripts/ckeditor/_source/plugins/find/plugin.js +0 -46
  220. data/public/javascripts/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -698
  221. data/public/javascripts/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  222. data/public/javascripts/ckeditor/_source/plugins/flash/plugin.js +0 -168
  223. data/public/javascripts/ckeditor/_source/plugins/floatpanel/plugin.js +0 -402
  224. data/public/javascripts/ckeditor/_source/plugins/font/plugin.js +0 -234
  225. data/public/javascripts/ckeditor/_source/plugins/format/plugin.js +0 -194
  226. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/button.js +0 -135
  227. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  228. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  229. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -98
  230. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  231. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/select.js +0 -556
  232. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  233. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  234. data/public/javascripts/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  235. data/public/javascripts/ckeditor/_source/plugins/forms/plugin.js +0 -284
  236. data/public/javascripts/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -36
  237. data/public/javascripts/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -502
  238. data/public/javascripts/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -319
  239. data/public/javascripts/ckeditor/_source/plugins/iframedialog/plugin.js +0 -136
  240. data/public/javascripts/ckeditor/_source/plugins/image/dialogs/image.js +0 -1396
  241. data/public/javascripts/ckeditor/_source/plugins/image/plugin.js +0 -81
  242. data/public/javascripts/ckeditor/_source/plugins/indent/plugin.js +0 -455
  243. data/public/javascripts/ckeditor/_source/plugins/justify/plugin.js +0 -221
  244. data/public/javascripts/ckeditor/_source/plugins/keystrokes/plugin.js +0 -225
  245. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -99
  246. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/link.js +0 -1424
  247. data/public/javascripts/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  248. data/public/javascripts/ckeditor/_source/plugins/link/plugin.js +0 -238
  249. data/public/javascripts/ckeditor/_source/plugins/list/plugin.js +0 -710
  250. data/public/javascripts/ckeditor/_source/plugins/listblock/plugin.js +0 -257
  251. data/public/javascripts/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -204
  252. data/public/javascripts/ckeditor/_source/plugins/liststyle/plugin.js +0 -66
  253. data/public/javascripts/ckeditor/_source/plugins/maximize/plugin.js +0 -350
  254. data/public/javascripts/ckeditor/_source/plugins/menu/plugin.js +0 -408
  255. data/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js +0 -94
  256. data/public/javascripts/ckeditor/_source/plugins/newpage/plugin.js +0 -53
  257. data/public/javascripts/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  258. data/public/javascripts/ckeditor/_source/plugins/pagebreak/plugin.js +0 -121
  259. data/public/javascripts/ckeditor/_source/plugins/panel/plugin.js +0 -399
  260. data/public/javascripts/ckeditor/_source/plugins/panelbutton/plugin.js +0 -147
  261. data/public/javascripts/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1170
  262. data/public/javascripts/ckeditor/_source/plugins/pastefromword/plugin.js +0 -122
  263. data/public/javascripts/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -70
  264. data/public/javascripts/ckeditor/_source/plugins/pastetext/plugin.js +0 -145
  265. data/public/javascripts/ckeditor/_source/plugins/popup/plugin.js +0 -64
  266. data/public/javascripts/ckeditor/_source/plugins/preview/plugin.js +0 -108
  267. data/public/javascripts/ckeditor/_source/plugins/print/plugin.js +0 -41
  268. data/public/javascripts/ckeditor/_source/plugins/removeformat/plugin.js +0 -184
  269. data/public/javascripts/ckeditor/_source/plugins/resize/plugin.js +0 -157
  270. data/public/javascripts/ckeditor/_source/plugins/richcombo/plugin.js +0 -370
  271. data/public/javascripts/ckeditor/_source/plugins/save/plugin.js +0 -55
  272. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -534
  273. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -71
  274. data/public/javascripts/ckeditor/_source/plugins/scayt/plugin.js +0 -945
  275. data/public/javascripts/ckeditor/_source/plugins/selection/plugin.js +0 -1375
  276. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  277. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  278. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  279. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  280. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  281. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  282. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  283. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  284. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  285. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  286. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  287. data/public/javascripts/ckeditor/_source/plugins/showblocks/plugin.js +0 -155
  288. data/public/javascripts/ckeditor/_source/plugins/showborders/plugin.js +0 -201
  289. data/public/javascripts/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -218
  290. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  291. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  292. data/public/javascripts/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  293. data/public/javascripts/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  294. data/public/javascripts/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  295. data/public/javascripts/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  296. data/public/javascripts/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  297. data/public/javascripts/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  298. data/public/javascripts/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  299. data/public/javascripts/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  300. data/public/javascripts/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  301. data/public/javascripts/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  302. data/public/javascripts/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  303. data/public/javascripts/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  304. data/public/javascripts/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  305. data/public/javascripts/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  306. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  307. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  308. data/public/javascripts/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  309. data/public/javascripts/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  310. data/public/javascripts/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  311. data/public/javascripts/ckeditor/_source/plugins/smiley/plugin.js +0 -94
  312. data/public/javascripts/ckeditor/_source/plugins/sourcearea/plugin.js +0 -207
  313. data/public/javascripts/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -409
  314. data/public/javascripts/ckeditor/_source/plugins/specialchar/plugin.js +0 -29
  315. data/public/javascripts/ckeditor/_source/plugins/styles/plugin.js +0 -1479
  316. data/public/javascripts/ckeditor/_source/plugins/styles/styles/default.js +0 -88
  317. data/public/javascripts/ckeditor/_source/plugins/stylescombo/plugin.js +0 -206
  318. data/public/javascripts/ckeditor/_source/plugins/tab/plugin.js +0 -367
  319. data/public/javascripts/ckeditor/_source/plugins/table/dialogs/table.js +0 -672
  320. data/public/javascripts/ckeditor/_source/plugins/table/plugin.js +0 -78
  321. data/public/javascripts/ckeditor/_source/plugins/tableresize/plugin.js +0 -450
  322. data/public/javascripts/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -533
  323. data/public/javascripts/ckeditor/_source/plugins/tabletools/plugin.js +0 -1120
  324. data/public/javascripts/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -233
  325. data/public/javascripts/ckeditor/_source/plugins/templates/plugin.js +0 -99
  326. data/public/javascripts/ckeditor/_source/plugins/templates/templates/default.js +0 -94
  327. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  328. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  329. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  330. data/public/javascripts/ckeditor/_source/plugins/toolbar/plugin.js +0 -481
  331. data/public/javascripts/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -205
  332. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/en.js +0 -15
  333. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/he.js +0 -15
  334. data/public/javascripts/ckeditor/_source/plugins/uicolor/plugin.js +0 -37
  335. data/public/javascripts/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  336. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  337. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  338. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  339. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  340. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -15
  341. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -71
  342. data/public/javascripts/ckeditor/_source/plugins/undo/plugin.js +0 -554
  343. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -49
  344. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  345. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -82
  346. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -176
  347. data/public/javascripts/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  348. data/public/javascripts/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1146
  349. data/public/javascripts/ckeditor/_source/skins/kama/dialog.css +0 -882
  350. data/public/javascripts/ckeditor/_source/skins/kama/editor.css +0 -25
  351. data/public/javascripts/ckeditor/_source/skins/kama/elementspath.css +0 -73
  352. data/public/javascripts/ckeditor/_source/skins/kama/icons.css +0 -357
  353. data/public/javascripts/ckeditor/_source/skins/kama/icons.png +0 -0
  354. data/public/javascripts/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  355. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  356. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  357. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  358. data/public/javascripts/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  359. data/public/javascripts/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  360. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  361. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  362. data/public/javascripts/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  363. data/public/javascripts/ckeditor/_source/skins/kama/mainui.css +0 -195
  364. data/public/javascripts/ckeditor/_source/skins/kama/menu.css +0 -216
  365. data/public/javascripts/ckeditor/_source/skins/kama/panel.css +0 -217
  366. data/public/javascripts/ckeditor/_source/skins/kama/presets.css +0 -49
  367. data/public/javascripts/ckeditor/_source/skins/kama/reset.css +0 -84
  368. data/public/javascripts/ckeditor/_source/skins/kama/richcombo.css +0 -277
  369. data/public/javascripts/ckeditor/_source/skins/kama/skin.js +0 -268
  370. data/public/javascripts/ckeditor/_source/skins/kama/templates.css +0 -88
  371. data/public/javascripts/ckeditor/_source/skins/kama/toolbar.css +0 -409
  372. data/public/javascripts/ckeditor/_source/skins/office2003/dialog.css +0 -785
  373. data/public/javascripts/ckeditor/_source/skins/office2003/editor.css +0 -25
  374. data/public/javascripts/ckeditor/_source/skins/office2003/elementspath.css +0 -74
  375. data/public/javascripts/ckeditor/_source/skins/office2003/icons.css +0 -354
  376. data/public/javascripts/ckeditor/_source/skins/office2003/icons.png +0 -0
  377. data/public/javascripts/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  378. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  379. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  380. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  381. data/public/javascripts/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  382. data/public/javascripts/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  383. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  384. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  385. data/public/javascripts/ckeditor/_source/skins/office2003/mainui.css +0 -145
  386. data/public/javascripts/ckeditor/_source/skins/office2003/menu.css +0 -213
  387. data/public/javascripts/ckeditor/_source/skins/office2003/panel.css +0 -212
  388. data/public/javascripts/ckeditor/_source/skins/office2003/presets.css +0 -49
  389. data/public/javascripts/ckeditor/_source/skins/office2003/reset.css +0 -84
  390. data/public/javascripts/ckeditor/_source/skins/office2003/richcombo.css +0 -297
  391. data/public/javascripts/ckeditor/_source/skins/office2003/skin.js +0 -81
  392. data/public/javascripts/ckeditor/_source/skins/office2003/templates.css +0 -87
  393. data/public/javascripts/ckeditor/_source/skins/office2003/toolbar.css +0 -470
  394. data/public/javascripts/ckeditor/_source/skins/v2/dialog.css +0 -800
  395. data/public/javascripts/ckeditor/_source/skins/v2/editor.css +0 -25
  396. data/public/javascripts/ckeditor/_source/skins/v2/elementspath.css +0 -74
  397. data/public/javascripts/ckeditor/_source/skins/v2/icons.css +0 -354
  398. data/public/javascripts/ckeditor/_source/skins/v2/icons.png +0 -0
  399. data/public/javascripts/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  400. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  401. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  402. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  403. data/public/javascripts/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  404. data/public/javascripts/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  405. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  406. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  407. data/public/javascripts/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  408. data/public/javascripts/ckeditor/_source/skins/v2/mainui.css +0 -154
  409. data/public/javascripts/ckeditor/_source/skins/v2/menu.css +0 -215
  410. data/public/javascripts/ckeditor/_source/skins/v2/panel.css +0 -212
  411. data/public/javascripts/ckeditor/_source/skins/v2/presets.css +0 -50
  412. data/public/javascripts/ckeditor/_source/skins/v2/reset.css +0 -84
  413. data/public/javascripts/ckeditor/_source/skins/v2/richcombo.css +0 -297
  414. data/public/javascripts/ckeditor/_source/skins/v2/skin.js +0 -77
  415. data/public/javascripts/ckeditor/_source/skins/v2/templates.css +0 -87
  416. data/public/javascripts/ckeditor/_source/skins/v2/toolbar.css +0 -423
  417. data/public/javascripts/ckeditor/_source/themes/default/theme.js +0 -361
  418. data/public/javascripts/ckeditor/adapters/jquery.js +0 -6
  419. data/public/javascripts/ckeditor/ckeditor.js +0 -137
  420. data/public/javascripts/ckeditor/ckeditor.pack +0 -211
  421. data/public/javascripts/ckeditor/ckeditor_basic.js +0 -8
  422. data/public/javascripts/ckeditor/ckeditor_basic_source.js +0 -20
  423. data/public/javascripts/ckeditor/ckeditor_source.js +0 -25
  424. data/public/javascripts/ckeditor/config.js +0 -43
  425. data/public/javascripts/ckeditor/contents.css +0 -39
  426. data/public/javascripts/ckeditor/css/ckfinder.css +0 -299
  427. data/public/javascripts/ckeditor/css/fck_dialog.css +0 -119
  428. data/public/javascripts/ckeditor/css/fck_editor.css +0 -448
  429. data/public/javascripts/ckeditor/css/swfupload.css +0 -94
  430. data/public/javascripts/ckeditor/images/add.gif +0 -0
  431. data/public/javascripts/ckeditor/images/cancelbutton.gif +0 -0
  432. data/public/javascripts/ckeditor/images/ckfnothumb.gif +0 -0
  433. data/public/javascripts/ckeditor/images/doc.gif +0 -0
  434. data/public/javascripts/ckeditor/images/mp3.gif +0 -0
  435. data/public/javascripts/ckeditor/images/pdf.gif +0 -0
  436. data/public/javascripts/ckeditor/images/rar.gif +0 -0
  437. data/public/javascripts/ckeditor/images/refresh.gif +0 -0
  438. data/public/javascripts/ckeditor/images/select_files.png +0 -0
  439. data/public/javascripts/ckeditor/images/spacer.gif +0 -0
  440. data/public/javascripts/ckeditor/images/swf.gif +0 -0
  441. data/public/javascripts/ckeditor/images/toolbar.start.gif +0 -0
  442. data/public/javascripts/ckeditor/images/xls.gif +0 -0
  443. data/public/javascripts/ckeditor/lang/_languages.js +0 -6
  444. data/public/javascripts/ckeditor/lang/_translationstatus.txt +0 -60
  445. data/public/javascripts/ckeditor/lang/af.js +0 -6
  446. data/public/javascripts/ckeditor/lang/ar.js +0 -6
  447. data/public/javascripts/ckeditor/lang/bg.js +0 -6
  448. data/public/javascripts/ckeditor/lang/bn.js +0 -6
  449. data/public/javascripts/ckeditor/lang/bs.js +0 -6
  450. data/public/javascripts/ckeditor/lang/ca.js +0 -6
  451. data/public/javascripts/ckeditor/lang/cs.js +0 -6
  452. data/public/javascripts/ckeditor/lang/cy.js +0 -6
  453. data/public/javascripts/ckeditor/lang/da.js +0 -6
  454. data/public/javascripts/ckeditor/lang/de.js +0 -6
  455. data/public/javascripts/ckeditor/lang/el.js +0 -6
  456. data/public/javascripts/ckeditor/lang/en-au.js +0 -6
  457. data/public/javascripts/ckeditor/lang/en-ca.js +0 -6
  458. data/public/javascripts/ckeditor/lang/en-gb.js +0 -6
  459. data/public/javascripts/ckeditor/lang/en.js +0 -6
  460. data/public/javascripts/ckeditor/lang/eo.js +0 -6
  461. data/public/javascripts/ckeditor/lang/es.js +0 -6
  462. data/public/javascripts/ckeditor/lang/et.js +0 -6
  463. data/public/javascripts/ckeditor/lang/eu.js +0 -6
  464. data/public/javascripts/ckeditor/lang/fa.js +0 -6
  465. data/public/javascripts/ckeditor/lang/fi.js +0 -6
  466. data/public/javascripts/ckeditor/lang/fo.js +0 -6
  467. data/public/javascripts/ckeditor/lang/fr-ca.js +0 -6
  468. data/public/javascripts/ckeditor/lang/fr.js +0 -6
  469. data/public/javascripts/ckeditor/lang/gl.js +0 -6
  470. data/public/javascripts/ckeditor/lang/gu.js +0 -6
  471. data/public/javascripts/ckeditor/lang/he.js +0 -6
  472. data/public/javascripts/ckeditor/lang/hi.js +0 -6
  473. data/public/javascripts/ckeditor/lang/hr.js +0 -6
  474. data/public/javascripts/ckeditor/lang/hu.js +0 -6
  475. data/public/javascripts/ckeditor/lang/is.js +0 -6
  476. data/public/javascripts/ckeditor/lang/it.js +0 -6
  477. data/public/javascripts/ckeditor/lang/ja.js +0 -6
  478. data/public/javascripts/ckeditor/lang/km.js +0 -6
  479. data/public/javascripts/ckeditor/lang/ko.js +0 -6
  480. data/public/javascripts/ckeditor/lang/lt.js +0 -6
  481. data/public/javascripts/ckeditor/lang/lv.js +0 -6
  482. data/public/javascripts/ckeditor/lang/mn.js +0 -6
  483. data/public/javascripts/ckeditor/lang/ms.js +0 -6
  484. data/public/javascripts/ckeditor/lang/nb.js +0 -6
  485. data/public/javascripts/ckeditor/lang/nl.js +0 -6
  486. data/public/javascripts/ckeditor/lang/no.js +0 -6
  487. data/public/javascripts/ckeditor/lang/pl.js +0 -6
  488. data/public/javascripts/ckeditor/lang/pt-br.js +0 -6
  489. data/public/javascripts/ckeditor/lang/pt.js +0 -6
  490. data/public/javascripts/ckeditor/lang/ro.js +0 -6
  491. data/public/javascripts/ckeditor/lang/ru.js +0 -6
  492. data/public/javascripts/ckeditor/lang/sk.js +0 -6
  493. data/public/javascripts/ckeditor/lang/sl.js +0 -6
  494. data/public/javascripts/ckeditor/lang/sr-latn.js +0 -6
  495. data/public/javascripts/ckeditor/lang/sr.js +0 -6
  496. data/public/javascripts/ckeditor/lang/sv.js +0 -6
  497. data/public/javascripts/ckeditor/lang/th.js +0 -6
  498. data/public/javascripts/ckeditor/lang/tr.js +0 -6
  499. data/public/javascripts/ckeditor/lang/uk.js +0 -6
  500. data/public/javascripts/ckeditor/lang/vi.js +0 -6
  501. data/public/javascripts/ckeditor/lang/zh-cn.js +0 -6
  502. data/public/javascripts/ckeditor/lang/zh.js +0 -6
  503. data/public/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -7
  504. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +0 -6
  505. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +0 -6
  506. data/public/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -6
  507. data/public/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  508. data/public/javascripts/ckeditor/plugins/ajax_save/plugin.js +0 -1
  509. data/public/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +0 -1
  510. data/public/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
  511. data/public/javascripts/ckeditor/plugins/attachment/lang/en.js +0 -10
  512. data/public/javascripts/ckeditor/plugins/attachment/lang/ru.js +0 -10
  513. data/public/javascripts/ckeditor/plugins/attachment/lang/uk.js +0 -10
  514. data/public/javascripts/ckeditor/plugins/attachment/plugin.js +0 -1
  515. data/public/javascripts/ckeditor/plugins/autogrow/plugin.js +0 -6
  516. data/public/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  517. data/public/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  518. data/public/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  519. data/public/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -8
  520. data/public/javascripts/ckeditor/plugins/embed/dialogs/embed.js +0 -1
  521. data/public/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
  522. data/public/javascripts/ckeditor/plugins/embed/lang/en.js +0 -9
  523. data/public/javascripts/ckeditor/plugins/embed/lang/ru.js +0 -9
  524. data/public/javascripts/ckeditor/plugins/embed/lang/uk.js +0 -9
  525. data/public/javascripts/ckeditor/plugins/embed/plugin.js +0 -1
  526. data/public/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -9
  527. data/public/javascripts/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  528. data/public/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  529. data/public/javascripts/ckeditor/plugins/forms/dialogs/button.js +0 -6
  530. data/public/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  531. data/public/javascripts/ckeditor/plugins/forms/dialogs/form.js +0 -6
  532. data/public/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  533. data/public/javascripts/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  534. data/public/javascripts/ckeditor/plugins/forms/dialogs/select.js +0 -9
  535. data/public/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  536. data/public/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +0 -7
  537. data/public/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  538. data/public/javascripts/ckeditor/plugins/iframedialog/plugin.js +0 -6
  539. data/public/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -13
  540. data/public/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  541. data/public/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -11
  542. data/public/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  543. data/public/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -6
  544. data/public/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  545. data/public/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -10
  546. data/public/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -6
  547. data/public/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  548. data/public/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -6
  549. data/public/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  550. data/public/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  551. data/public/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  552. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  553. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  554. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  555. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  556. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  557. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  558. data/public/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  559. data/public/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  560. data/public/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  561. data/public/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  562. data/public/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  563. data/public/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  564. data/public/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  565. data/public/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  566. data/public/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  567. data/public/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  568. data/public/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  569. data/public/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  570. data/public/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  571. data/public/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  572. data/public/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  573. data/public/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  574. data/public/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  575. data/public/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  576. data/public/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  577. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  578. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  579. data/public/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  580. data/public/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  581. data/public/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  582. data/public/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  583. data/public/javascripts/ckeditor/plugins/styles/styles/default.js +0 -6
  584. data/public/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -9
  585. data/public/javascripts/ckeditor/plugins/tableresize/plugin.js +0 -7
  586. data/public/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  587. data/public/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -7
  588. data/public/javascripts/ckeditor/plugins/templates/templates/default.js +0 -6
  589. data/public/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  590. data/public/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  591. data/public/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  592. data/public/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -7
  593. data/public/javascripts/ckeditor/plugins/uicolor/lang/en.js +0 -6
  594. data/public/javascripts/ckeditor/plugins/uicolor/lang/he.js +0 -6
  595. data/public/javascripts/ckeditor/plugins/uicolor/plugin.js +0 -6
  596. data/public/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  597. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  598. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  599. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  600. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  601. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -6
  602. data/public/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -76
  603. data/public/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  604. data/public/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  605. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -6
  606. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  607. data/public/javascripts/ckeditor/skins/kama/dialog.css +0 -9
  608. data/public/javascripts/ckeditor/skins/kama/editor.css +0 -12
  609. data/public/javascripts/ckeditor/skins/kama/icons.png +0 -0
  610. data/public/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  611. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  612. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  613. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  614. data/public/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  615. data/public/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  616. data/public/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  617. data/public/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  618. data/public/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  619. data/public/javascripts/ckeditor/skins/kama/skin.js +0 -7
  620. data/public/javascripts/ckeditor/skins/kama/templates.css +0 -6
  621. data/public/javascripts/ckeditor/skins/office2003/dialog.css +0 -9
  622. data/public/javascripts/ckeditor/skins/office2003/editor.css +0 -13
  623. data/public/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  624. data/public/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  625. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  626. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  627. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  628. data/public/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  629. data/public/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  630. data/public/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  631. data/public/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  632. data/public/javascripts/ckeditor/skins/office2003/skin.js +0 -6
  633. data/public/javascripts/ckeditor/skins/office2003/templates.css +0 -6
  634. data/public/javascripts/ckeditor/skins/v2/dialog.css +0 -9
  635. data/public/javascripts/ckeditor/skins/v2/editor.css +0 -12
  636. data/public/javascripts/ckeditor/skins/v2/icons.png +0 -0
  637. data/public/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  638. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  639. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  640. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  641. data/public/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  642. data/public/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  643. data/public/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  644. data/public/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  645. data/public/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  646. data/public/javascripts/ckeditor/skins/v2/skin.js +0 -6
  647. data/public/javascripts/ckeditor/skins/v2/templates.css +0 -6
  648. data/public/javascripts/ckeditor/swfupload/fileprogress.js +0 -275
  649. data/public/javascripts/ckeditor/swfupload/handlers.js +0 -170
  650. data/public/javascripts/ckeditor/swfupload/mootools-1.2.3-core-yc.js +0 -356
  651. data/public/javascripts/ckeditor/swfupload/querystring.js +0 -40
  652. data/public/javascripts/ckeditor/swfupload/swfupload.js +0 -1
  653. data/public/javascripts/ckeditor/swfupload/swfupload.queue.js +0 -1
  654. data/public/javascripts/ckeditor/swfupload/swfupload.swf +0 -0
  655. data/public/javascripts/ckeditor/swfupload/swfupload.swfobject.js +0 -111
  656. data/public/javascripts/ckeditor/themes/default/theme.js +0 -8
  657. data/public/javascripts/controls.js +0 -965
  658. data/public/javascripts/dragdrop.js +0 -974
  659. data/public/javascripts/effects.js +0 -1123
  660. data/public/javascripts/link_obfuscator.js +0 -31
  661. data/public/javascripts/prototype.js +0 -6001
  662. data/public/javascripts/rails.js +0 -175
  663. data/public/robots.txt +0 -5
  664. data/public/stylesheets/core_ie.css +0 -52
  665. data/public/stylesheets/csshover3.htc +0 -14
@@ -1,238 +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
- CKEDITOR.plugins.add( 'link',
7
- {
8
- init : function( editor )
9
- {
10
- // Add the link and unlink buttons.
11
- editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link' ) );
12
- editor.addCommand( 'anchor', new CKEDITOR.dialogCommand( 'anchor' ) );
13
- editor.addCommand( 'unlink', new CKEDITOR.unlinkCommand() );
14
- editor.ui.addButton( 'Link',
15
- {
16
- label : editor.lang.link.toolbar,
17
- command : 'link'
18
- } );
19
- editor.ui.addButton( 'Unlink',
20
- {
21
- label : editor.lang.unlink,
22
- command : 'unlink'
23
- } );
24
- editor.ui.addButton( 'Anchor',
25
- {
26
- label : editor.lang.anchor.toolbar,
27
- command : 'anchor'
28
- } );
29
- CKEDITOR.dialog.add( 'link', this.path + 'dialogs/link.js' );
30
- CKEDITOR.dialog.add( 'anchor', this.path + 'dialogs/anchor.js' );
31
-
32
- // Add the CSS styles for anchor placeholders.
33
- editor.addCss(
34
- 'img.cke_anchor' +
35
- '{' +
36
- 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/anchor.gif' ) + ');' +
37
- 'background-position: center center;' +
38
- 'background-repeat: no-repeat;' +
39
- 'border: 1px solid #a9a9a9;' +
40
- 'width: 18px !important;' +
41
- 'height: 18px !important;' +
42
- '}\n' +
43
- 'a.cke_anchor' +
44
- '{' +
45
- 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/anchor.gif' ) + ');' +
46
- 'background-position: 0 center;' +
47
- 'background-repeat: no-repeat;' +
48
- 'border: 1px solid #a9a9a9;' +
49
- 'padding-left: 18px;' +
50
- '}'
51
- );
52
-
53
- // Register selection change handler for the unlink button.
54
- editor.on( 'selectionChange', function( evt )
55
- {
56
- /*
57
- * Despite our initial hope, document.queryCommandEnabled() does not work
58
- * for this in Firefox. So we must detect the state by element paths.
59
- */
60
- var command = editor.getCommand( 'unlink' ),
61
- element = evt.data.path.lastElement && evt.data.path.lastElement.getAscendant( 'a', true );
62
- if ( element && element.getName() == 'a' && element.getAttribute( 'href' ) )
63
- command.setState( CKEDITOR.TRISTATE_OFF );
64
- else
65
- command.setState( CKEDITOR.TRISTATE_DISABLED );
66
- } );
67
-
68
- editor.on( 'doubleclick', function( evt )
69
- {
70
- var element = CKEDITOR.plugins.link.getSelectedLink( editor ) || evt.data.element;
71
-
72
- if ( element.is( 'a' ) )
73
- evt.data.dialog = ( element.getAttribute( 'name' ) && !element.getAttribute( 'href' ) ) ? 'anchor' : 'link';
74
- else if ( element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'anchor' )
75
- evt.data.dialog = 'anchor';
76
- });
77
-
78
- // If the "menu" plugin is loaded, register the menu items.
79
- if ( editor.addMenuItems )
80
- {
81
- editor.addMenuItems(
82
- {
83
- anchor :
84
- {
85
- label : editor.lang.anchor.menu,
86
- command : 'anchor',
87
- group : 'anchor'
88
- },
89
-
90
- link :
91
- {
92
- label : editor.lang.link.menu,
93
- command : 'link',
94
- group : 'link',
95
- order : 1
96
- },
97
-
98
- unlink :
99
- {
100
- label : editor.lang.unlink,
101
- command : 'unlink',
102
- group : 'link',
103
- order : 5
104
- }
105
- });
106
- }
107
-
108
- // If the "contextmenu" plugin is loaded, register the listeners.
109
- if ( editor.contextMenu )
110
- {
111
- editor.contextMenu.addListener( function( element, selection )
112
- {
113
- if ( !element || element.isReadOnly() )
114
- return null;
115
-
116
- var isAnchor = ( element.is( 'img' ) && element.getAttribute( '_cke_real_element_type' ) == 'anchor' );
117
-
118
- if ( !isAnchor )
119
- {
120
- if ( !( element = CKEDITOR.plugins.link.getSelectedLink( editor ) ) )
121
- return null;
122
-
123
- isAnchor = ( element.getAttribute( 'name' ) && !element.getAttribute( 'href' ) );
124
- }
125
-
126
- return isAnchor ?
127
- { anchor : CKEDITOR.TRISTATE_OFF } :
128
- { link : CKEDITOR.TRISTATE_OFF, unlink : CKEDITOR.TRISTATE_OFF };
129
- });
130
- }
131
- },
132
-
133
- afterInit : function( editor )
134
- {
135
- // Register a filter to displaying placeholders after mode change.
136
-
137
- var dataProcessor = editor.dataProcessor,
138
- dataFilter = dataProcessor && dataProcessor.dataFilter;
139
-
140
- if ( dataFilter )
141
- {
142
- dataFilter.addRules(
143
- {
144
- elements :
145
- {
146
- a : function( element )
147
- {
148
- var attributes = element.attributes;
149
- if ( attributes.name && !attributes.href )
150
- return editor.createFakeParserElement( element, 'cke_anchor', 'anchor' );
151
- }
152
- }
153
- });
154
- }
155
- },
156
-
157
- requires : [ 'fakeobjects' ]
158
- } );
159
-
160
- CKEDITOR.plugins.link =
161
- {
162
- /**
163
- * Get the surrounding link element of current selection.
164
- * @param editor
165
- * @example CKEDITOR.plugins.link.getSelectedLink( editor );
166
- * @since 3.2.1
167
- * The following selection will all return the link element.
168
- * <pre>
169
- * <a href="#">li^nk</a>
170
- * <a href="#">[link]</a>
171
- * text[<a href="#">link]</a>
172
- * <a href="#">li[nk</a>]
173
- * [<b><a href="#">li]nk</a></b>]
174
- * [<a href="#"><b>li]nk</b></a>
175
- * </pre>
176
- */
177
- getSelectedLink : function( editor )
178
- {
179
- try
180
- {
181
- var selection = editor.getSelection();
182
- if ( selection.getType() == CKEDITOR.SELECTION_ELEMENT )
183
- {
184
- var selectedElement = selection.getSelectedElement();
185
- if ( selectedElement.is( 'a' ) )
186
- return selectedElement;
187
- }
188
-
189
- var range = selection.getRanges( true )[ 0 ];
190
- range.shrink( CKEDITOR.SHRINK_TEXT );
191
- var root = range.getCommonAncestor();
192
- return root.getAscendant( 'a', true );
193
- }
194
- catch( e ) { return null; }
195
- }
196
- };
197
-
198
- CKEDITOR.unlinkCommand = function(){};
199
- CKEDITOR.unlinkCommand.prototype =
200
- {
201
- /** @ignore */
202
- exec : function( editor )
203
- {
204
- /*
205
- * execCommand( 'unlink', ... ) in Firefox leaves behind <span> tags at where
206
- * the <a> was, so again we have to remove the link ourselves. (See #430)
207
- *
208
- * TODO: Use the style system when it's complete. Let's use execCommand()
209
- * as a stopgap solution for now.
210
- */
211
- var selection = editor.getSelection(),
212
- bookmarks = selection.createBookmarks(),
213
- ranges = selection.getRanges(),
214
- rangeRoot,
215
- element;
216
-
217
- for ( var i = 0 ; i < ranges.length ; i++ )
218
- {
219
- rangeRoot = ranges[i].getCommonAncestor( true );
220
- element = rangeRoot.getAscendant( 'a', true );
221
- if ( !element )
222
- continue;
223
- ranges[i].selectNodeContents( element );
224
- }
225
-
226
- selection.selectRanges( ranges );
227
- editor.document.$.execCommand( 'unlink', false, null );
228
- selection.selectBookmarks( bookmarks );
229
- },
230
-
231
- startDisabled : true
232
- };
233
-
234
- CKEDITOR.tools.extend( CKEDITOR.config,
235
- {
236
- linkShowAdvancedTab : true,
237
- linkShowTargetTab : true
238
- } );
@@ -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
- })();