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,1120 +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
- (function()
7
- {
8
- function removeRawAttribute( $node, attr )
9
- {
10
- if ( CKEDITOR.env.ie )
11
- $node.removeAttribute( attr );
12
- else
13
- delete $node[ attr ];
14
- }
15
-
16
- var cellNodeRegex = /^(?:td|th)$/;
17
-
18
- function getSelectedCells( selection )
19
- {
20
- // Walker will try to split text nodes, which will make the current selection
21
- // invalid. So save bookmarks before doing anything.
22
- var bookmarks = selection.createBookmarks();
23
-
24
- var ranges = selection.getRanges();
25
- var retval = [];
26
- var database = {};
27
-
28
- function moveOutOfCellGuard( node )
29
- {
30
- // Apply to the first cell only.
31
- if ( retval.length > 0 )
32
- return;
33
-
34
- // If we are exiting from the first </td>, then the td should definitely be
35
- // included.
36
- if ( node.type == CKEDITOR.NODE_ELEMENT && cellNodeRegex.test( node.getName() )
37
- && !node.getCustomData( 'selected_cell' ) )
38
- {
39
- CKEDITOR.dom.element.setMarker( database, node, 'selected_cell', true );
40
- retval.push( node );
41
- }
42
- }
43
-
44
- for ( var i = 0 ; i < ranges.length ; i++ )
45
- {
46
- var range = ranges[ i ];
47
-
48
- if ( range.collapsed )
49
- {
50
- // Walker does not handle collapsed ranges yet - fall back to old API.
51
- var startNode = range.getCommonAncestor();
52
- var nearestCell = startNode.getAscendant( 'td', true ) || startNode.getAscendant( 'th', true );
53
- if ( nearestCell )
54
- retval.push( nearestCell );
55
- }
56
- else
57
- {
58
- var walker = new CKEDITOR.dom.walker( range );
59
- var node;
60
- walker.guard = moveOutOfCellGuard;
61
-
62
- while ( ( node = walker.next() ) )
63
- {
64
- // If may be possible for us to have a range like this:
65
- // <td>^1</td><td>^2</td>
66
- // The 2nd td shouldn't be included.
67
- //
68
- // So we have to take care to include a td we've entered only when we've
69
- // walked into its children.
70
-
71
- var parent = node.getParent();
72
- if ( parent && cellNodeRegex.test( parent.getName() ) && !parent.getCustomData( 'selected_cell' ) )
73
- {
74
- CKEDITOR.dom.element.setMarker( database, parent, 'selected_cell', true );
75
- retval.push( parent );
76
- }
77
- }
78
- }
79
- }
80
-
81
- CKEDITOR.dom.element.clearAllMarkers( database );
82
-
83
- // Restore selection position.
84
- selection.selectBookmarks( bookmarks );
85
-
86
- return retval;
87
- }
88
-
89
- function getFocusElementAfterDelCells( cellsToDelete ) {
90
- var i = 0,
91
- last = cellsToDelete.length - 1,
92
- database = {},
93
- cell,focusedCell,
94
- tr;
95
-
96
- while ( ( cell = cellsToDelete[ i++ ] ) )
97
- CKEDITOR.dom.element.setMarker( database, cell, 'delete_cell', true );
98
-
99
- // 1.first we check left or right side focusable cell row by row;
100
- i = 0;
101
- while ( ( cell = cellsToDelete[ i++ ] ) )
102
- {
103
- if ( ( focusedCell = cell.getPrevious() ) && !focusedCell.getCustomData( 'delete_cell' )
104
- || ( focusedCell = cell.getNext() ) && !focusedCell.getCustomData( 'delete_cell' ) )
105
- {
106
- CKEDITOR.dom.element.clearAllMarkers( database );
107
- return focusedCell;
108
- }
109
- }
110
-
111
- CKEDITOR.dom.element.clearAllMarkers( database );
112
-
113
- // 2. then we check the toppest row (outside the selection area square) focusable cell
114
- tr = cellsToDelete[ 0 ].getParent();
115
- if ( ( tr = tr.getPrevious() ) )
116
- return tr.getLast();
117
-
118
- // 3. last we check the lowerest row focusable cell
119
- tr = cellsToDelete[ last ].getParent();
120
- if ( ( tr = tr.getNext() ) )
121
- return tr.getChild( 0 );
122
-
123
- return null;
124
- }
125
-
126
- function clearRow( $tr )
127
- {
128
- // Get the array of row's cells.
129
- var $cells = $tr.cells;
130
-
131
- // Empty all cells.
132
- for ( var i = 0 ; i < $cells.length ; i++ )
133
- {
134
- $cells[ i ].innerHTML = '';
135
-
136
- if ( !CKEDITOR.env.ie )
137
- ( new CKEDITOR.dom.element( $cells[ i ] ) ).appendBogus();
138
- }
139
- }
140
-
141
- function insertRow( selection, insertBefore )
142
- {
143
- // Get the row where the selection is placed in.
144
- var row = selection.getStartElement().getAscendant( 'tr' );
145
- if ( !row )
146
- return;
147
-
148
- // Create a clone of the row.
149
- var newRow = row.clone( 1 );
150
-
151
- insertBefore ?
152
- newRow.insertBefore( row ) :
153
- newRow.insertAfter( row );
154
-
155
- // Clean the new row.
156
- clearRow( newRow.$ );
157
- }
158
-
159
- function deleteRows( selectionOrRow )
160
- {
161
- if ( selectionOrRow instanceof CKEDITOR.dom.selection )
162
- {
163
- var cells = getSelectedCells( selectionOrRow ),
164
- cellsCount = cells.length,
165
- rowsToDelete = [],
166
- cursorPosition,
167
- previousRowIndex,
168
- nextRowIndex;
169
-
170
- // Queue up the rows - it's possible and likely that we have duplicates.
171
- for ( var i = 0 ; i < cellsCount ; i++ )
172
- {
173
- var row = cells[ i ].getParent(),
174
- rowIndex = row.$.rowIndex;
175
-
176
- !i && ( previousRowIndex = rowIndex - 1 );
177
- rowsToDelete[ rowIndex ] = row;
178
- i == cellsCount - 1 && ( nextRowIndex = rowIndex + 1 );
179
- }
180
-
181
- var table = row.getAscendant( 'table' ),
182
- rows = table.$.rows,
183
- rowCount = rows.length;
184
-
185
- // Where to put the cursor after rows been deleted?
186
- // 1. Into next sibling row if any;
187
- // 2. Into previous sibling row if any;
188
- // 3. Into table's parent element if it's the very last row.
189
- cursorPosition = new CKEDITOR.dom.element(
190
- nextRowIndex < rowCount && table.$.rows[ nextRowIndex ] ||
191
- previousRowIndex > 0 && table.$.rows[ previousRowIndex ] ||
192
- table.$.parentNode );
193
-
194
- for ( i = rowsToDelete.length ; i >= 0 ; i-- )
195
- {
196
- if ( rowsToDelete[ i ] )
197
- deleteRows( rowsToDelete[ i ] );
198
- }
199
-
200
- return cursorPosition;
201
- }
202
- else if ( selectionOrRow instanceof CKEDITOR.dom.element )
203
- {
204
- table = selectionOrRow.getAscendant( 'table' );
205
-
206
- if ( table.$.rows.length == 1 )
207
- table.remove();
208
- else
209
- selectionOrRow.remove();
210
- }
211
-
212
- return 0;
213
- }
214
-
215
- function insertColumn( selection, insertBefore )
216
- {
217
- // Get the cell where the selection is placed in.
218
- var startElement = selection.getStartElement();
219
- var cell = startElement.getAscendant( 'td', 1 ) || startElement.getAscendant( 'th', 1 );
220
-
221
- if ( !cell )
222
- return;
223
-
224
- // Get the cell's table.
225
- var table = cell.getAscendant( 'table' );
226
- var cellIndex = cell.$.cellIndex;
227
-
228
- // Loop through all rows available in the table.
229
- for ( var i = 0 ; i < table.$.rows.length ; i++ )
230
- {
231
- var $row = table.$.rows[ i ];
232
-
233
- // If the row doesn't have enough cells, ignore it.
234
- if ( $row.cells.length < ( cellIndex + 1 ) )
235
- continue;
236
-
237
- cell = ( new CKEDITOR.dom.element( $row.cells[ cellIndex ] ) ).clone( 0 );
238
-
239
- if ( !CKEDITOR.env.ie )
240
- cell.appendBogus();
241
-
242
- // Get back the currently selected cell.
243
- var baseCell = new CKEDITOR.dom.element( $row.cells[ cellIndex ] );
244
- if ( insertBefore )
245
- cell.insertBefore( baseCell );
246
- else
247
- cell.insertAfter( baseCell );
248
- }
249
- }
250
-
251
- function getFocusElementAfterDelCols( cells )
252
- {
253
- var cellIndexList = [],
254
- table = cells[ 0 ] && cells[ 0 ].getAscendant( 'table' ),
255
- i, length,
256
- targetIndex, targetCell;
257
-
258
- // get the cellIndex list of delete cells
259
- for ( i = 0, length = cells.length; i < length; i++ )
260
- cellIndexList.push( cells[i].$.cellIndex );
261
-
262
- // get the focusable column index
263
- cellIndexList.sort();
264
- for ( i = 1, length = cellIndexList.length; i < length; i++ )
265
- {
266
- if ( cellIndexList[ i ] - cellIndexList[ i - 1 ] > 1 )
267
- {
268
- targetIndex = cellIndexList[ i - 1 ] + 1;
269
- break;
270
- }
271
- }
272
-
273
- if ( !targetIndex )
274
- targetIndex = cellIndexList[ 0 ] > 0 ? ( cellIndexList[ 0 ] - 1 )
275
- : ( cellIndexList[ cellIndexList.length - 1 ] + 1 );
276
-
277
- // scan row by row to get the target cell
278
- var rows = table.$.rows;
279
- for ( i = 0, length = rows.length; i < length ; i++ )
280
- {
281
- targetCell = rows[ i ].cells[ targetIndex ];
282
- if ( targetCell )
283
- break;
284
- }
285
-
286
- return targetCell ? new CKEDITOR.dom.element( targetCell ) : table.getPrevious();
287
- }
288
-
289
- function deleteColumns( selectionOrCell )
290
- {
291
- if ( selectionOrCell instanceof CKEDITOR.dom.selection )
292
- {
293
- var colsToDelete = getSelectedCells( selectionOrCell ),
294
- elementToFocus = getFocusElementAfterDelCols( colsToDelete );
295
-
296
- for ( var i = colsToDelete.length - 1 ; i >= 0 ; i-- )
297
- {
298
- if ( colsToDelete[ i ] )
299
- deleteColumns( colsToDelete[ i ] );
300
- }
301
-
302
- return elementToFocus;
303
- }
304
- else if ( selectionOrCell instanceof CKEDITOR.dom.element )
305
- {
306
- // Get the cell's table.
307
- var table = selectionOrCell.getAscendant( 'table' );
308
- if ( !table )
309
- return null;
310
-
311
- // Get the cell index.
312
- var cellIndex = selectionOrCell.$.cellIndex;
313
-
314
- /*
315
- * Loop through all rows from down to up, coz it's possible that some rows
316
- * will be deleted.
317
- */
318
- for ( i = table.$.rows.length - 1 ; i >= 0 ; i-- )
319
- {
320
- // Get the row.
321
- var row = new CKEDITOR.dom.element( table.$.rows[ i ] );
322
-
323
- // If the cell to be removed is the first one and the row has just one cell.
324
- if ( !cellIndex && row.$.cells.length == 1 )
325
- {
326
- deleteRows( row );
327
- continue;
328
- }
329
-
330
- // Else, just delete the cell.
331
- if ( row.$.cells[ cellIndex ] )
332
- row.$.removeChild( row.$.cells[ cellIndex ] );
333
- }
334
- }
335
-
336
- return null;
337
- }
338
-
339
- function insertCell( selection, insertBefore )
340
- {
341
- var startElement = selection.getStartElement();
342
- var cell = startElement.getAscendant( 'td', 1 ) || startElement.getAscendant( 'th', 1 );
343
-
344
- if ( !cell )
345
- return;
346
-
347
- // Create the new cell element to be added.
348
- var newCell = cell.clone();
349
- if ( !CKEDITOR.env.ie )
350
- newCell.appendBogus();
351
-
352
- if ( insertBefore )
353
- newCell.insertBefore( cell );
354
- else
355
- newCell.insertAfter( cell );
356
- }
357
-
358
- function deleteCells( selectionOrCell )
359
- {
360
- if ( selectionOrCell instanceof CKEDITOR.dom.selection )
361
- {
362
- var cellsToDelete = getSelectedCells( selectionOrCell );
363
- var table = cellsToDelete[ 0 ] && cellsToDelete[ 0 ].getAscendant( 'table' );
364
- var cellToFocus = getFocusElementAfterDelCells( cellsToDelete );
365
-
366
- for ( var i = cellsToDelete.length - 1 ; i >= 0 ; i-- )
367
- deleteCells( cellsToDelete[ i ] );
368
-
369
- if ( cellToFocus )
370
- placeCursorInCell( cellToFocus, true );
371
- else if ( table )
372
- table.remove();
373
- }
374
- else if ( selectionOrCell instanceof CKEDITOR.dom.element )
375
- {
376
- var tr = selectionOrCell.getParent();
377
- if ( tr.getChildCount() == 1 )
378
- tr.remove();
379
- else
380
- selectionOrCell.remove();
381
- }
382
- }
383
-
384
- // Remove filler at end and empty spaces around the cell content.
385
- function trimCell( cell )
386
- {
387
- var bogus = cell.getBogus();
388
- bogus && bogus.remove();
389
- cell.trim();
390
- }
391
-
392
- function placeCursorInCell( cell, placeAtEnd )
393
- {
394
- var range = new CKEDITOR.dom.range( cell.getDocument() );
395
- if ( !range[ 'moveToElementEdit' + ( placeAtEnd ? 'End' : 'Start' ) ]( cell ) )
396
- {
397
- range.selectNodeContents( cell );
398
- range.collapse( placeAtEnd ? false : true );
399
- }
400
- range.select( true );
401
- }
402
-
403
- function cellInRow( tableMap, rowIndex, cell )
404
- {
405
- var oRow = tableMap[ rowIndex ];
406
- if ( typeof cell == 'undefined' )
407
- return oRow;
408
-
409
- for ( var c = 0 ; oRow && c < oRow.length ; c++ )
410
- {
411
- if ( cell.is && oRow[c] == cell.$ )
412
- return c;
413
- else if ( c == cell )
414
- return new CKEDITOR.dom.element( oRow[ c ] );
415
- }
416
- return cell.is ? -1 : null;
417
- }
418
-
419
- function cellInCol( tableMap, colIndex, cell )
420
- {
421
- var oCol = [];
422
- for ( var r = 0; r < tableMap.length; r++ )
423
- {
424
- var row = tableMap[ r ];
425
- if ( typeof cell == 'undefined' )
426
- oCol.push( row[ colIndex ] );
427
- else if ( cell.is && row[ colIndex ] == cell.$ )
428
- return r;
429
- else if ( r == cell )
430
- return new CKEDITOR.dom.element( row[ colIndex ] );
431
- }
432
-
433
- return ( typeof cell == 'undefined' )? oCol : cell.is ? -1 : null;
434
- }
435
-
436
- function mergeCells( selection, mergeDirection, isDetect )
437
- {
438
- var cells = getSelectedCells( selection );
439
-
440
- // Invalid merge request if:
441
- // 1. In batch mode despite that less than two selected.
442
- // 2. In solo mode while not exactly only one selected.
443
- // 3. Cells distributed in different table groups (e.g. from both thead and tbody).
444
- var commonAncestor;
445
- if ( ( mergeDirection ? cells.length != 1 : cells.length < 2 )
446
- || ( commonAncestor = selection.getCommonAncestor() )
447
- && commonAncestor.type == CKEDITOR.NODE_ELEMENT
448
- && commonAncestor.is( 'table' ) )
449
- {
450
- return false;
451
- }
452
-
453
- var cell,
454
- firstCell = cells[ 0 ],
455
- table = firstCell.getAscendant( 'table' ),
456
- map = CKEDITOR.tools.buildTableMap( table ),
457
- mapHeight = map.length,
458
- mapWidth = map[ 0 ].length,
459
- startRow = firstCell.getParent().$.rowIndex,
460
- startColumn = cellInRow( map, startRow, firstCell );
461
-
462
- if ( mergeDirection )
463
- {
464
- var targetCell;
465
- try
466
- {
467
- targetCell =
468
- map[ mergeDirection == 'up' ?
469
- ( startRow - 1 ):
470
- mergeDirection == 'down' ? ( startRow + 1 ) : startRow ] [
471
- mergeDirection == 'left' ?
472
- ( startColumn - 1 ):
473
- mergeDirection == 'right' ? ( startColumn + 1 ) : startColumn ];
474
-
475
- }
476
- catch( er )
477
- {
478
- return false;
479
- }
480
-
481
- // 1. No cell could be merged.
482
- // 2. Same cell actually.
483
- if ( !targetCell || firstCell.$ == targetCell )
484
- return false;
485
-
486
- // Sort in map order regardless of the DOM sequence.
487
- cells[ ( mergeDirection == 'up' || mergeDirection == 'left' ) ?
488
- 'unshift' : 'push' ]( new CKEDITOR.dom.element( targetCell ) );
489
- }
490
-
491
- // Start from here are merging way ignorance (merge up/right, batch merge).
492
- var doc = firstCell.getDocument(),
493
- lastRowIndex = startRow,
494
- totalRowSpan = 0,
495
- totalColSpan = 0,
496
- // Use a documentFragment as buffer when appending cell contents.
497
- frag = !isDetect && new CKEDITOR.dom.documentFragment( doc ),
498
- dimension = 0;
499
-
500
- for ( var i = 0; i < cells.length; i++ )
501
- {
502
- cell = cells[ i ];
503
-
504
- var tr = cell.getParent(),
505
- cellFirstChild = cell.getFirst(),
506
- colSpan = cell.$.colSpan,
507
- rowSpan = cell.$.rowSpan,
508
- rowIndex = tr.$.rowIndex,
509
- colIndex = cellInRow( map, rowIndex, cell );
510
-
511
- // Accumulated the actual places taken by all selected cells.
512
- dimension += colSpan * rowSpan;
513
- // Accumulated the maximum virtual spans from column and row.
514
- totalColSpan = Math.max( totalColSpan, colIndex - startColumn + colSpan ) ;
515
- totalRowSpan = Math.max( totalRowSpan, rowIndex - startRow + rowSpan );
516
-
517
- if ( !isDetect )
518
- {
519
- // Trim all cell fillers and check to remove empty cells.
520
- if ( trimCell( cell ), cell.getChildren().count() )
521
- {
522
- // Merge vertically cells as two separated paragraphs.
523
- if ( rowIndex != lastRowIndex
524
- && cellFirstChild
525
- && !( cellFirstChild.isBlockBoundary
526
- && cellFirstChild.isBlockBoundary( { br : 1 } ) ) )
527
- {
528
- var last = frag.getLast( CKEDITOR.dom.walker.whitespaces( true ) );
529
- if ( last && !( last.is && last.is( 'br' ) ) )
530
- frag.append( new CKEDITOR.dom.element( 'br' ) );
531
- }
532
-
533
- cell.moveChildren( frag );
534
- }
535
- i ? cell.remove() : cell.setHtml( '' );
536
- }
537
- lastRowIndex = rowIndex;
538
- }
539
-
540
- if ( !isDetect )
541
- {
542
- frag.moveChildren( firstCell );
543
-
544
- if ( !CKEDITOR.env.ie )
545
- firstCell.appendBogus();
546
-
547
- if ( totalColSpan >= mapWidth )
548
- firstCell.removeAttribute( 'rowSpan' );
549
- else
550
- firstCell.$.rowSpan = totalRowSpan;
551
-
552
- if ( totalRowSpan >= mapHeight )
553
- firstCell.removeAttribute( 'colSpan' );
554
- else
555
- firstCell.$.colSpan = totalColSpan;
556
-
557
- // Swip empty <tr> left at the end of table due to the merging.
558
- var trs = new CKEDITOR.dom.nodeList( table.$.rows ),
559
- count = trs.count();
560
-
561
- for ( i = count - 1; i >= 0; i-- )
562
- {
563
- var tailTr = trs.getItem( i );
564
- if ( !tailTr.$.cells.length )
565
- {
566
- tailTr.remove();
567
- count++;
568
- continue;
569
- }
570
- }
571
-
572
- return firstCell;
573
- }
574
- // Be able to merge cells only if actual dimension of selected
575
- // cells equals to the caculated rectangle.
576
- else
577
- return ( totalRowSpan * totalColSpan ) == dimension;
578
- }
579
-
580
- function verticalSplitCell ( selection, isDetect )
581
- {
582
- var cells = getSelectedCells( selection );
583
- if ( cells.length > 1 )
584
- return false;
585
- else if ( isDetect )
586
- return true;
587
-
588
- var cell = cells[ 0 ],
589
- tr = cell.getParent(),
590
- table = tr.getAscendant( 'table' ),
591
- map = CKEDITOR.tools.buildTableMap( table ),
592
- rowIndex = tr.$.rowIndex,
593
- colIndex = cellInRow( map, rowIndex, cell ),
594
- rowSpan = cell.$.rowSpan,
595
- newCell,
596
- newRowSpan,
597
- newCellRowSpan,
598
- newRowIndex;
599
-
600
- if ( rowSpan > 1 )
601
- {
602
- newRowSpan = Math.ceil( rowSpan / 2 );
603
- newCellRowSpan = Math.floor( rowSpan / 2 );
604
- newRowIndex = rowIndex + newRowSpan;
605
- var newCellTr = new CKEDITOR.dom.element( table.$.rows[ newRowIndex ] ),
606
- newCellRow = cellInRow( map, newRowIndex ),
607
- candidateCell;
608
-
609
- newCell = cell.clone();
610
-
611
- // Figure out where to insert the new cell by checking the vitual row.
612
- for ( var c = 0; c < newCellRow.length; c++ )
613
- {
614
- candidateCell = newCellRow[ c ];
615
- // Catch first cell actually following the column.
616
- if ( candidateCell.parentNode == newCellTr.$
617
- && c > colIndex )
618
- {
619
- newCell.insertBefore( new CKEDITOR.dom.element( candidateCell ) );
620
- break;
621
- }
622
- else
623
- candidateCell = null;
624
- }
625
-
626
- // The destination row is empty, append at will.
627
- if ( !candidateCell )
628
- newCellTr.append( newCell, true );
629
- }
630
- else
631
- {
632
- newCellRowSpan = newRowSpan = 1;
633
-
634
- newCellTr = tr.clone();
635
- newCellTr.insertAfter( tr );
636
- newCellTr.append( newCell = cell.clone() );
637
-
638
- var cellsInSameRow = cellInRow( map, rowIndex );
639
- for ( var i = 0; i < cellsInSameRow.length; i++ )
640
- cellsInSameRow[ i ].rowSpan++;
641
- }
642
-
643
- if ( !CKEDITOR.env.ie )
644
- newCell.appendBogus();
645
-
646
- cell.$.rowSpan = newRowSpan;
647
- newCell.$.rowSpan = newCellRowSpan;
648
- if ( newRowSpan == 1 )
649
- cell.removeAttribute( 'rowSpan' );
650
- if ( newCellRowSpan == 1 )
651
- newCell.removeAttribute( 'rowSpan' );
652
-
653
- return newCell;
654
- }
655
-
656
- function horizontalSplitCell( selection, isDetect )
657
- {
658
- var cells = getSelectedCells( selection );
659
- if ( cells.length > 1 )
660
- return false;
661
- else if ( isDetect )
662
- return true;
663
-
664
- var cell = cells[ 0 ],
665
- tr = cell.getParent(),
666
- table = tr.getAscendant( 'table' ),
667
- map = CKEDITOR.tools.buildTableMap( table ),
668
- rowIndex = tr.$.rowIndex,
669
- colIndex = cellInRow( map, rowIndex, cell ),
670
- colSpan = cell.$.colSpan,
671
- newCell,
672
- newColSpan,
673
- newCellColSpan;
674
-
675
- if ( colSpan > 1 )
676
- {
677
- newColSpan = Math.ceil( colSpan / 2 );
678
- newCellColSpan = Math.floor( colSpan / 2 );
679
- }
680
- else
681
- {
682
- newCellColSpan = newColSpan = 1;
683
- var cellsInSameCol = cellInCol( map, colIndex );
684
- for ( var i = 0; i < cellsInSameCol.length; i++ )
685
- cellsInSameCol[ i ].colSpan++;
686
- }
687
- newCell = cell.clone();
688
- newCell.insertAfter( cell );
689
- if ( !CKEDITOR.env.ie )
690
- newCell.appendBogus();
691
-
692
- cell.$.colSpan = newColSpan;
693
- newCell.$.colSpan = newCellColSpan;
694
- if ( newColSpan == 1 )
695
- cell.removeAttribute( 'colSpan' );
696
- if ( newCellColSpan == 1 )
697
- newCell.removeAttribute( 'colSpan' );
698
-
699
- return newCell;
700
- }
701
- // Context menu on table caption incorrect (#3834)
702
- var contextMenuTags = { thead : 1, tbody : 1, tfoot : 1, td : 1, tr : 1, th : 1 };
703
-
704
- CKEDITOR.plugins.tabletools =
705
- {
706
- init : function( editor )
707
- {
708
- var lang = editor.lang.table;
709
-
710
- editor.addCommand( 'cellProperties', new CKEDITOR.dialogCommand( 'cellProperties' ) );
711
- CKEDITOR.dialog.add( 'cellProperties', this.path + 'dialogs/tableCell.js' );
712
-
713
- editor.addCommand( 'tableDelete',
714
- {
715
- exec : function( editor )
716
- {
717
- var selection = editor.getSelection(),
718
- startElement = selection && selection.getStartElement(),
719
- table = startElement && startElement.getAscendant( 'table', 1 );
720
-
721
- if ( !table )
722
- return;
723
-
724
- // Maintain the selection point at where the table was deleted.
725
- selection.selectElement( table );
726
- var range = selection.getRanges()[0];
727
- range.collapse();
728
- selection.selectRanges( [ range ] );
729
-
730
- // If the table's parent has only one child remove it as well (unless it's the body or a table cell) (#5416, #6289)
731
- var parent = table.getParent();
732
- if ( parent.getChildCount() == 1 && !parent.is( 'body', 'td', 'th' ) )
733
- parent.remove();
734
- else
735
- table.remove();
736
- }
737
- } );
738
-
739
- editor.addCommand( 'rowDelete',
740
- {
741
- exec : function( editor )
742
- {
743
- var selection = editor.getSelection();
744
- placeCursorInCell( deleteRows( selection ) );
745
- }
746
- } );
747
-
748
- editor.addCommand( 'rowInsertBefore',
749
- {
750
- exec : function( editor )
751
- {
752
- var selection = editor.getSelection();
753
- insertRow( selection, true );
754
- }
755
- } );
756
-
757
- editor.addCommand( 'rowInsertAfter',
758
- {
759
- exec : function( editor )
760
- {
761
- var selection = editor.getSelection();
762
- insertRow( selection );
763
- }
764
- } );
765
-
766
- editor.addCommand( 'columnDelete',
767
- {
768
- exec : function( editor )
769
- {
770
- var selection = editor.getSelection();
771
- var element = deleteColumns( selection );
772
- element && placeCursorInCell( element, true );
773
- }
774
- } );
775
-
776
- editor.addCommand( 'columnInsertBefore',
777
- {
778
- exec : function( editor )
779
- {
780
- var selection = editor.getSelection();
781
- insertColumn( selection, true );
782
- }
783
- } );
784
-
785
- editor.addCommand( 'columnInsertAfter',
786
- {
787
- exec : function( editor )
788
- {
789
- var selection = editor.getSelection();
790
- insertColumn( selection );
791
- }
792
- } );
793
-
794
- editor.addCommand( 'cellDelete',
795
- {
796
- exec : function( editor )
797
- {
798
- var selection = editor.getSelection();
799
- deleteCells( selection );
800
- }
801
- } );
802
-
803
- editor.addCommand( 'cellMerge',
804
- {
805
- exec : function( editor )
806
- {
807
- placeCursorInCell( mergeCells( editor.getSelection() ), true );
808
- }
809
- } );
810
-
811
- editor.addCommand( 'cellMergeRight',
812
- {
813
- exec : function( editor )
814
- {
815
- placeCursorInCell( mergeCells( editor.getSelection(), 'right' ), true );
816
- }
817
- } );
818
-
819
- editor.addCommand( 'cellMergeDown',
820
- {
821
- exec : function( editor )
822
- {
823
- placeCursorInCell( mergeCells( editor.getSelection(), 'down' ), true );
824
- }
825
- } );
826
-
827
- editor.addCommand( 'cellVerticalSplit',
828
- {
829
- exec : function( editor )
830
- {
831
- placeCursorInCell( verticalSplitCell( editor.getSelection() ) );
832
- }
833
- } );
834
-
835
- editor.addCommand( 'cellHorizontalSplit',
836
- {
837
- exec : function( editor )
838
- {
839
- placeCursorInCell( horizontalSplitCell( editor.getSelection() ) );
840
- }
841
- } );
842
-
843
- editor.addCommand( 'cellInsertBefore',
844
- {
845
- exec : function( editor )
846
- {
847
- var selection = editor.getSelection();
848
- insertCell( selection, true );
849
- }
850
- } );
851
-
852
- editor.addCommand( 'cellInsertAfter',
853
- {
854
- exec : function( editor )
855
- {
856
- var selection = editor.getSelection();
857
- insertCell( selection );
858
- }
859
- } );
860
-
861
- // If the "menu" plugin is loaded, register the menu items.
862
- if ( editor.addMenuItems )
863
- {
864
- editor.addMenuItems(
865
- {
866
- tablecell :
867
- {
868
- label : lang.cell.menu,
869
- group : 'tablecell',
870
- order : 1,
871
- getItems : function()
872
- {
873
- var selection = editor.getSelection(),
874
- cells = getSelectedCells( selection );
875
- return {
876
- tablecell_insertBefore : CKEDITOR.TRISTATE_OFF,
877
- tablecell_insertAfter : CKEDITOR.TRISTATE_OFF,
878
- tablecell_delete : CKEDITOR.TRISTATE_OFF,
879
- tablecell_merge : mergeCells( selection, null, true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED,
880
- tablecell_merge_right : mergeCells( selection, 'right', true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED,
881
- tablecell_merge_down : mergeCells( selection, 'down', true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED,
882
- tablecell_split_vertical : verticalSplitCell( selection, true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED,
883
- tablecell_split_horizontal : horizontalSplitCell( selection, true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED,
884
- tablecell_properties : cells.length > 0 ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED
885
- };
886
- }
887
- },
888
-
889
- tablecell_insertBefore :
890
- {
891
- label : lang.cell.insertBefore,
892
- group : 'tablecell',
893
- command : 'cellInsertBefore',
894
- order : 5
895
- },
896
-
897
- tablecell_insertAfter :
898
- {
899
- label : lang.cell.insertAfter,
900
- group : 'tablecell',
901
- command : 'cellInsertAfter',
902
- order : 10
903
- },
904
-
905
- tablecell_delete :
906
- {
907
- label : lang.cell.deleteCell,
908
- group : 'tablecell',
909
- command : 'cellDelete',
910
- order : 15
911
- },
912
-
913
- tablecell_merge :
914
- {
915
- label : lang.cell.merge,
916
- group : 'tablecell',
917
- command : 'cellMerge',
918
- order : 16
919
- },
920
-
921
- tablecell_merge_right :
922
- {
923
- label : lang.cell.mergeRight,
924
- group : 'tablecell',
925
- command : 'cellMergeRight',
926
- order : 17
927
- },
928
-
929
- tablecell_merge_down :
930
- {
931
- label : lang.cell.mergeDown,
932
- group : 'tablecell',
933
- command : 'cellMergeDown',
934
- order : 18
935
- },
936
-
937
- tablecell_split_horizontal :
938
- {
939
- label : lang.cell.splitHorizontal,
940
- group : 'tablecell',
941
- command : 'cellHorizontalSplit',
942
- order : 19
943
- },
944
-
945
- tablecell_split_vertical :
946
- {
947
- label : lang.cell.splitVertical,
948
- group : 'tablecell',
949
- command : 'cellVerticalSplit',
950
- order : 20
951
- },
952
-
953
- tablecell_properties :
954
- {
955
- label : lang.cell.title,
956
- group : 'tablecellproperties',
957
- command : 'cellProperties',
958
- order : 21
959
- },
960
-
961
- tablerow :
962
- {
963
- label : lang.row.menu,
964
- group : 'tablerow',
965
- order : 1,
966
- getItems : function()
967
- {
968
- return {
969
- tablerow_insertBefore : CKEDITOR.TRISTATE_OFF,
970
- tablerow_insertAfter : CKEDITOR.TRISTATE_OFF,
971
- tablerow_delete : CKEDITOR.TRISTATE_OFF
972
- };
973
- }
974
- },
975
-
976
- tablerow_insertBefore :
977
- {
978
- label : lang.row.insertBefore,
979
- group : 'tablerow',
980
- command : 'rowInsertBefore',
981
- order : 5
982
- },
983
-
984
- tablerow_insertAfter :
985
- {
986
- label : lang.row.insertAfter,
987
- group : 'tablerow',
988
- command : 'rowInsertAfter',
989
- order : 10
990
- },
991
-
992
- tablerow_delete :
993
- {
994
- label : lang.row.deleteRow,
995
- group : 'tablerow',
996
- command : 'rowDelete',
997
- order : 15
998
- },
999
-
1000
- tablecolumn :
1001
- {
1002
- label : lang.column.menu,
1003
- group : 'tablecolumn',
1004
- order : 1,
1005
- getItems : function()
1006
- {
1007
- return {
1008
- tablecolumn_insertBefore : CKEDITOR.TRISTATE_OFF,
1009
- tablecolumn_insertAfter : CKEDITOR.TRISTATE_OFF,
1010
- tablecolumn_delete : CKEDITOR.TRISTATE_OFF
1011
- };
1012
- }
1013
- },
1014
-
1015
- tablecolumn_insertBefore :
1016
- {
1017
- label : lang.column.insertBefore,
1018
- group : 'tablecolumn',
1019
- command : 'columnInsertBefore',
1020
- order : 5
1021
- },
1022
-
1023
- tablecolumn_insertAfter :
1024
- {
1025
- label : lang.column.insertAfter,
1026
- group : 'tablecolumn',
1027
- command : 'columnInsertAfter',
1028
- order : 10
1029
- },
1030
-
1031
- tablecolumn_delete :
1032
- {
1033
- label : lang.column.deleteColumn,
1034
- group : 'tablecolumn',
1035
- command : 'columnDelete',
1036
- order : 15
1037
- }
1038
- });
1039
- }
1040
-
1041
- // If the "contextmenu" plugin is laoded, register the listeners.
1042
- if ( editor.contextMenu )
1043
- {
1044
- editor.contextMenu.addListener( function( element, selection )
1045
- {
1046
- if ( !element || element.isReadOnly() )
1047
- return null;
1048
-
1049
- while ( element )
1050
- {
1051
- if ( element.getName() in contextMenuTags )
1052
- {
1053
- return {
1054
- tablecell : CKEDITOR.TRISTATE_OFF,
1055
- tablerow : CKEDITOR.TRISTATE_OFF,
1056
- tablecolumn : CKEDITOR.TRISTATE_OFF
1057
- };
1058
- }
1059
- element = element.getParent();
1060
- }
1061
-
1062
- return null;
1063
- } );
1064
- }
1065
- },
1066
-
1067
- getSelectedCells : getSelectedCells
1068
-
1069
- };
1070
- CKEDITOR.plugins.add( 'tabletools', CKEDITOR.plugins.tabletools );
1071
- })();
1072
-
1073
- /**
1074
- * Create a two-dimension array that reflects the actual layout of table cells,
1075
- * with cell spans, with mappings to the original td elements.
1076
- * @param table {CKEDITOR.dom.element}
1077
- */
1078
- CKEDITOR.tools.buildTableMap = function ( table )
1079
- {
1080
- var aRows = table.$.rows ;
1081
-
1082
- // Row and Column counters.
1083
- var r = -1 ;
1084
-
1085
- var aMap = [];
1086
-
1087
- for ( var i = 0 ; i < aRows.length ; i++ )
1088
- {
1089
- r++ ;
1090
- !aMap[r] && ( aMap[r] = [] );
1091
-
1092
- var c = -1 ;
1093
-
1094
- for ( var j = 0 ; j < aRows[i].cells.length ; j++ )
1095
- {
1096
- var oCell = aRows[i].cells[j] ;
1097
-
1098
- c++ ;
1099
- while ( aMap[r][c] )
1100
- c++ ;
1101
-
1102
- var iColSpan = isNaN( oCell.colSpan ) ? 1 : oCell.colSpan ;
1103
- var iRowSpan = isNaN( oCell.rowSpan ) ? 1 : oCell.rowSpan ;
1104
-
1105
- for ( var rs = 0 ; rs < iRowSpan ; rs++ )
1106
- {
1107
- if ( !aMap[r + rs] )
1108
- aMap[r + rs] = [];
1109
-
1110
- for ( var cs = 0 ; cs < iColSpan ; cs++ )
1111
- {
1112
- aMap[r + rs][c + cs] = aRows[i].cells[j] ;
1113
- }
1114
- }
1115
-
1116
- c += iColSpan - 1 ;
1117
- }
1118
- }
1119
- return aMap ;
1120
- };