ppc_logic 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
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
- };