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,147 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- CKEDITOR.plugins.add( 'panelbutton',
7
- {
8
- requires : [ 'button' ],
9
- beforeInit : function( editor )
10
- {
11
- editor.ui.addHandler( CKEDITOR.UI_PANELBUTTON, CKEDITOR.ui.panelButton.handler );
12
- }
13
- });
14
-
15
- /**
16
- * Button UI element.
17
- * @constant
18
- * @example
19
- */
20
- CKEDITOR.UI_PANELBUTTON = 4;
21
-
22
- (function()
23
- {
24
- var clickFn = function( editor )
25
- {
26
- var _ = this._;
27
-
28
- if ( _.state == CKEDITOR.TRISTATE_DISABLED )
29
- return;
30
-
31
- this.createPanel( editor );
32
-
33
- if ( _.on )
34
- {
35
- _.panel.hide();
36
- return;
37
- }
38
-
39
- _.panel.showBlock( this._.id, this.document.getById( this._.id ), 4 );
40
- };
41
-
42
-
43
- CKEDITOR.ui.panelButton = CKEDITOR.tools.createClass(
44
- {
45
- base : CKEDITOR.ui.button,
46
-
47
- $ : function( definition )
48
- {
49
- // We don't want the panel definition in this object.
50
- var panelDefinition = definition.panel;
51
- delete definition.panel;
52
-
53
- this.base( definition );
54
-
55
- this.document = ( panelDefinition
56
- && panelDefinition.parent
57
- && panelDefinition.parent.getDocument() )
58
- || CKEDITOR.document;
59
-
60
- panelDefinition.block =
61
- {
62
- attributes : panelDefinition.attributes
63
- };
64
-
65
- this.hasArrow = true;
66
-
67
- this.click = clickFn;
68
-
69
- this._ =
70
- {
71
- panelDefinition : panelDefinition
72
- };
73
- },
74
-
75
- statics :
76
- {
77
- handler :
78
- {
79
- create : function( definition )
80
- {
81
- return new CKEDITOR.ui.panelButton( definition );
82
- }
83
- }
84
- },
85
-
86
- proto :
87
- {
88
- createPanel : function( editor )
89
- {
90
- var _ = this._;
91
-
92
- if ( _.panel )
93
- return;
94
-
95
- var panelDefinition = this._.panelDefinition || {},
96
- panelBlockDefinition = this._.panelDefinition.block,
97
- panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(),
98
- panel = this._.panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ),
99
- block = panel.addBlock( _.id, panelBlockDefinition ),
100
- me = this;
101
-
102
- panel.onShow = function()
103
- {
104
- if ( me.className )
105
- this.element.getFirst().addClass( me.className + '_panel' );
106
-
107
- _.oldState = me._.state;
108
- me.setState( CKEDITOR.TRISTATE_ON );
109
-
110
- _.on = 1;
111
-
112
- if ( me.onOpen )
113
- me.onOpen();
114
- };
115
-
116
- panel.onHide = function( preventOnClose )
117
- {
118
- if ( me.className )
119
- this.element.getFirst().removeClass( me.className + '_panel' );
120
-
121
- me.setState( _.oldState );
122
-
123
- _.on = 0;
124
-
125
- if ( !preventOnClose && me.onClose )
126
- me.onClose();
127
- };
128
-
129
- panel.onEscape = function()
130
- {
131
- panel.hide();
132
- me.document.getById( _.id ).focus();
133
- };
134
-
135
- if ( this.onBlock )
136
- this.onBlock( panel, block );
137
-
138
- block.onHide = function()
139
- {
140
- _.on = 0;
141
- me.setState( CKEDITOR.TRISTATE_OFF );
142
- };
143
- }
144
- }
145
- });
146
-
147
- })();
@@ -1,1170 +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
- var fragmentPrototype = CKEDITOR.htmlParser.fragment.prototype,
9
- elementPrototype = CKEDITOR.htmlParser.element.prototype;
10
-
11
- fragmentPrototype.onlyChild = elementPrototype.onlyChild = function()
12
- {
13
- var children = this.children,
14
- count = children.length,
15
- firstChild = ( count == 1 ) && children[ 0 ];
16
- return firstChild || null;
17
- };
18
-
19
- elementPrototype.removeAnyChildWithName = function( tagName )
20
- {
21
- var children = this.children,
22
- childs = [],
23
- child;
24
-
25
- for ( var i = 0; i < children.length; i++ )
26
- {
27
- child = children[ i ];
28
- if ( !child.name )
29
- continue;
30
-
31
- if ( child.name == tagName )
32
- {
33
- childs.push( child );
34
- children.splice( i--, 1 );
35
- }
36
- childs = childs.concat( child.removeAnyChildWithName( tagName ) );
37
- }
38
- return childs;
39
- };
40
-
41
- elementPrototype.getAncestor = function( tagNameRegex )
42
- {
43
- var parent = this.parent;
44
- while ( parent && !( parent.name && parent.name.match( tagNameRegex ) ) )
45
- parent = parent.parent;
46
- return parent;
47
- };
48
-
49
- fragmentPrototype.firstChild = elementPrototype.firstChild = function( evaluator )
50
- {
51
- var child;
52
-
53
- for ( var i = 0 ; i < this.children.length ; i++ )
54
- {
55
- child = this.children[ i ];
56
- if ( evaluator( child ) )
57
- return child;
58
- else if ( child.name )
59
- {
60
- child = child.firstChild( evaluator );
61
- if ( child )
62
- return child;
63
- }
64
- }
65
-
66
- return null;
67
- };
68
-
69
- // Adding a (set) of styles to the element's 'style' attributes.
70
- elementPrototype.addStyle = function( name, value, isPrepend )
71
- {
72
- var styleText, addingStyleText = '';
73
- // name/value pair.
74
- if ( typeof value == 'string' )
75
- addingStyleText += name + ':' + value + ';';
76
- else
77
- {
78
- // style literal.
79
- if ( typeof name == 'object' )
80
- {
81
- for ( var style in name )
82
- {
83
- if ( name.hasOwnProperty( style ) )
84
- addingStyleText += style + ':' + name[ style ] + ';';
85
- }
86
- }
87
- // raw style text form.
88
- else
89
- addingStyleText += name;
90
-
91
- isPrepend = value;
92
- }
93
-
94
- if ( !this.attributes )
95
- this.attributes = {};
96
-
97
- styleText = this.attributes.style || '';
98
-
99
- styleText = ( isPrepend ?
100
- [ addingStyleText, styleText ]
101
- : [ styleText, addingStyleText ] ).join( ';' );
102
-
103
- this.attributes.style = styleText.replace( /^;|;(?=;)/, '' );
104
- };
105
-
106
- /**
107
- * Return the DTD-valid parent tag names of the specified one.
108
- * @param tagName
109
- */
110
- CKEDITOR.dtd.parentOf = function( tagName )
111
- {
112
- var result = {};
113
- for ( var tag in this )
114
- {
115
- if ( tag.indexOf( '$' ) == -1 && this[ tag ][ tagName ] )
116
- result[ tag ] = 1;
117
- }
118
- return result;
119
- };
120
-
121
- var cssLengthRelativeUnit = /^([.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i;
122
- var emptyMarginRegex = /^(?:\b0[^\s]*\s*){1,4}$/; // e.g. 0px 0pt 0px
123
-
124
- var listBaseIndent = 0,
125
- previousListItemMargin;
126
-
127
- CKEDITOR.plugins.pastefromword =
128
- {
129
- utils :
130
- {
131
- // Create a <cke:listbullet> which indicate an list item type.
132
- createListBulletMarker : function ( bulletStyle, bulletText )
133
- {
134
- var marker = new CKEDITOR.htmlParser.element( 'cke:listbullet' ),
135
- listType;
136
-
137
- // TODO: Support more list style type from MS-Word.
138
- if ( !bulletStyle )
139
- {
140
- bulletStyle = 'decimal';
141
- listType = 'ol';
142
- }
143
- else if ( bulletStyle[ 2 ] )
144
- {
145
- if ( !isNaN( bulletStyle[ 1 ] ) )
146
- bulletStyle = 'decimal';
147
- // No way to distinguish between Roman numerals and Alphas,
148
- // detect them as a whole.
149
- else if ( /^[a-z]+$/.test( bulletStyle[ 1 ] ) )
150
- bulletStyle = 'lower-alpha';
151
- else if ( /^[A-Z]+$/.test( bulletStyle[ 1 ] ) )
152
- bulletStyle = 'upper-alpha';
153
- // Simply use decimal for the rest forms of unrepresentable
154
- // numerals, e.g. Chinese...
155
- else
156
- bulletStyle = 'decimal';
157
-
158
- listType = 'ol';
159
- }
160
- else
161
- {
162
- if ( /[l\u00B7\u2002]/.test( bulletStyle[ 1 ] ) )
163
- bulletStyle = 'disc';
164
- else if ( /[\u006F\u00D8]/.test( bulletStyle[ 1 ] ) )
165
- bulletStyle = 'circle';
166
- else if ( /[\u006E\u25C6]/.test( bulletStyle[ 1 ] ) )
167
- bulletStyle = 'square';
168
- else
169
- bulletStyle = 'disc';
170
-
171
- listType = 'ul';
172
- }
173
-
174
- // Represent list type as CSS style.
175
- marker.attributes =
176
- {
177
- 'cke:listtype' : listType,
178
- 'style' : 'list-style-type:' + bulletStyle + ';'
179
- };
180
- marker.add( new CKEDITOR.htmlParser.text( bulletText ) );
181
- return marker;
182
- },
183
-
184
- isListBulletIndicator : function( element )
185
- {
186
- var styleText = element.attributes && element.attributes.style;
187
- if ( /mso-list\s*:\s*Ignore/i.test( styleText ) )
188
- return true;
189
- },
190
-
191
- isContainingOnlySpaces : function( element )
192
- {
193
- var text;
194
- return ( ( text = element.onlyChild() )
195
- && ( /^(:?\s|&nbsp;)+$/ ).test( text.value ) );
196
- },
197
-
198
- resolveList : function( element )
199
- {
200
- // <cke:listbullet> indicate a list item.
201
- var attrs = element.attributes,
202
- listMarker;
203
-
204
- if ( ( listMarker = element.removeAnyChildWithName( 'cke:listbullet' ) )
205
- && listMarker.length
206
- && ( listMarker = listMarker[ 0 ] ) )
207
- {
208
- element.name = 'cke:li';
209
-
210
- if ( attrs.style )
211
- {
212
- attrs.style = CKEDITOR.plugins.pastefromword.filters.stylesFilter(
213
- [
214
- // Text-indent is not representing list item level any more.
215
- [ 'text-indent' ],
216
- [ 'line-height' ],
217
- // Resolve indent level from 'margin-left' value.
218
- [ ( /^margin(:?-left)?$/ ), null, function( margin )
219
- {
220
- // Be able to deal with component/short-hand form style.
221
- var values = margin.split( ' ' );
222
- margin = CKEDITOR.plugins.pastefromword.utils.convertToPx( values[ 3 ] || values[ 1 ] || values [ 0 ] );
223
- margin = parseInt( margin, 10 );
224
-
225
- // Figure out the indent unit by looking at the first increament.
226
- if ( !listBaseIndent && previousListItemMargin && margin > previousListItemMargin )
227
- listBaseIndent = margin - previousListItemMargin;
228
-
229
- attrs[ 'cke:margin' ] = previousListItemMargin = margin;
230
- } ]
231
- ] )( attrs.style, element ) || '' ;
232
- }
233
-
234
- // Inherit list-type-style from bullet.
235
- var listBulletAttrs = listMarker.attributes,
236
- listBulletStyle = listBulletAttrs.style;
237
-
238
- element.addStyle( listBulletStyle );
239
- CKEDITOR.tools.extend( attrs, listBulletAttrs );
240
- return true;
241
- }
242
-
243
- return false;
244
- },
245
-
246
- // Convert various length units to 'px' in ignorance of DPI.
247
- convertToPx : ( function ()
248
- {
249
- var calculator = CKEDITOR.dom.element.createFromHtml(
250
- '<div style="position:absolute;left:-9999px;' +
251
- 'top:-9999px;margin:0px;padding:0px;border:0px;"' +
252
- '></div>', CKEDITOR.document );
253
- CKEDITOR.document.getBody().append( calculator );
254
-
255
- return function( cssLength )
256
- {
257
- if ( cssLengthRelativeUnit.test( cssLength ) )
258
- {
259
- calculator.setStyle( 'width', cssLength );
260
- return calculator.$.clientWidth + 'px';
261
- }
262
-
263
- return cssLength;
264
- };
265
- } )(),
266
-
267
- // Providing a shorthand style then retrieve one or more style component values.
268
- getStyleComponents : ( function()
269
- {
270
- var calculator = CKEDITOR.dom.element.createFromHtml(
271
- '<div style="position:absolute;left:-9999px;top:-9999px;"></div>',
272
- CKEDITOR.document );
273
- CKEDITOR.document.getBody().append( calculator );
274
-
275
- return function( name, styleValue, fetchList )
276
- {
277
- calculator.setStyle( name, styleValue );
278
- var styles = {},
279
- count = fetchList.length;
280
- for ( var i = 0; i < count; i++ )
281
- styles[ fetchList[ i ] ] = calculator.getStyle( fetchList[ i ] );
282
-
283
- return styles;
284
- };
285
- } )(),
286
-
287
- listDtdParents : CKEDITOR.dtd.parentOf( 'ol' )
288
- },
289
-
290
- filters :
291
- {
292
- // Transform a normal list into flat list items only presentation.
293
- // E.g. <ul><li>level1<ol><li>level2</li></ol></li> =>
294
- // <cke:li cke:listtype="ul" cke:indent="1">level1</cke:li>
295
- // <cke:li cke:listtype="ol" cke:indent="2">level2</cke:li>
296
- flattenList : function( element )
297
- {
298
- var attrs = element.attributes,
299
- parent = element.parent;
300
-
301
- var listStyleType,
302
- indentLevel = 1;
303
-
304
- // Resolve how many level nested.
305
- while ( parent )
306
- {
307
- parent.attributes && parent.attributes[ 'cke:list'] && indentLevel++;
308
- parent = parent.parent;
309
- }
310
-
311
- // All list items are of the same type.
312
- switch ( attrs.type )
313
- {
314
- case 'a' :
315
- listStyleType = 'lower-alpha';
316
- break;
317
- // TODO: Support more list style type from MS-Word.
318
- }
319
-
320
- var children = element.children,
321
- child;
322
-
323
- for ( var i = 0; i < children.length; i++ )
324
- {
325
- child = children[ i ];
326
- var attributes = child.attributes;
327
-
328
- if ( child.name in CKEDITOR.dtd.$listItem )
329
- {
330
- var listItemChildren = child.children,
331
- count = listItemChildren.length,
332
- last = listItemChildren[ count - 1 ];
333
-
334
- // Move out nested list.
335
- if ( last.name in CKEDITOR.dtd.$list )
336
- {
337
- children.splice( i + 1, 0, last );
338
- last.parent = element;
339
-
340
- // Remove the parent list item if it's just a holder.
341
- if ( !--listItemChildren.length )
342
- children.splice( i, 1 );
343
- }
344
-
345
- child.name = 'cke:li';
346
- attributes[ 'cke:indent' ] = indentLevel;
347
- previousListItemMargin = 0;
348
- attributes[ 'cke:listtype' ] = element.name;
349
- listStyleType && child.addStyle( 'list-style-type', listStyleType, true );
350
- }
351
- }
352
-
353
- delete element.name;
354
-
355
- // We're loosing tag name here, signalize this element as a list.
356
- attrs[ 'cke:list' ] = 1;
357
- },
358
-
359
- /**
360
- * Try to collect all list items among the children and establish one
361
- * or more HTML list structures for them.
362
- * @param element
363
- */
364
- assembleList : function( element )
365
- {
366
- var children = element.children, child,
367
- listItem, // The current processing cke:li element.
368
- listItemAttrs,
369
- listType, // Determine the root type of the list.
370
- listItemIndent, // Indent level of current list item.
371
- lastListItem, // The previous one just been added to the list.
372
- list, parentList, // Current staging list and it's parent list if any.
373
- indent;
374
-
375
- for ( var i = 0; i < children.length; i++ )
376
- {
377
- child = children[ i ];
378
-
379
- if ( 'cke:li' == child.name )
380
- {
381
- child.name = 'li';
382
- listItem = child;
383
- listItemAttrs = listItem.attributes;
384
- listType = listItem.attributes[ 'cke:listtype' ];
385
-
386
- // List item indent level might come from a real list indentation or
387
- // been resolved from a pseudo list item's margin value, even get
388
- // no indentation at all.
389
- listItemIndent = parseInt( listItemAttrs[ 'cke:indent' ], 10 )
390
- || listBaseIndent && ( Math.ceil( listItemAttrs[ 'cke:margin' ] / listBaseIndent ) )
391
- || 1;
392
-
393
- // Ignore the 'list-style-type' attribute if it's matched with
394
- // the list root element's default style type.
395
- listItemAttrs.style && ( listItemAttrs.style =
396
- CKEDITOR.plugins.pastefromword.filters.stylesFilter(
397
- [
398
- [ 'list-style-type', listType == 'ol' ? 'decimal' : 'disc' ]
399
- ] )( listItemAttrs.style )
400
- || '' );
401
-
402
- if ( !list )
403
- {
404
- list = new CKEDITOR.htmlParser.element( listType );
405
- list.add( listItem );
406
- children[ i ] = list;
407
- }
408
- else
409
- {
410
- if ( listItemIndent > indent )
411
- {
412
- list = new CKEDITOR.htmlParser.element( listType );
413
- list.add( listItem );
414
- lastListItem.add( list );
415
- }
416
- else if ( listItemIndent < indent )
417
- {
418
- // There might be a negative gap between two list levels. (#4944)
419
- var diff = indent - listItemIndent,
420
- parent;
421
- while ( diff-- && ( parent = list.parent ) )
422
- list = parent.parent;
423
-
424
- list.add( listItem );
425
- }
426
- else
427
- list.add( listItem );
428
-
429
- children.splice( i--, 1 );
430
- }
431
-
432
- lastListItem = listItem;
433
- indent = listItemIndent;
434
- }
435
- else
436
- list = null;
437
- }
438
-
439
- listBaseIndent = 0;
440
- },
441
-
442
- /**
443
- * A simple filter which always rejecting.
444
- */
445
- falsyFilter : function( value )
446
- {
447
- return false;
448
- },
449
-
450
- /**
451
- * A filter dedicated on the 'style' attribute filtering, e.g. dropping/replacing style properties.
452
- * @param styles {Array} in form of [ styleNameRegexp, styleValueRegexp,
453
- * newStyleValue/newStyleGenerator, newStyleName ] where only the first
454
- * parameter is mandatory.
455
- * @param whitelist {Boolean} Whether the {@param styles} will be considered as a white-list.
456
- */
457
- stylesFilter : function( styles, whitelist )
458
- {
459
- return function( styleText, element )
460
- {
461
- var rules = [];
462
- // html-encoded quote might be introduced by 'font-family'
463
- // from MS-Word which confused the following regexp. e.g.
464
- //'font-family: &quot;Lucida, Console&quot;'
465
- styleText
466
- .replace( /&quot;/g, '"' )
467
- .replace( /\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,
468
- function( match, name, value )
469
- {
470
- name = name.toLowerCase();
471
- name == 'font-family' && ( value = value.replace( /["']/g, '' ) );
472
-
473
- var namePattern,
474
- valuePattern,
475
- newValue,
476
- newName;
477
- for ( var i = 0 ; i < styles.length; i++ )
478
- {
479
- if ( styles[ i ] )
480
- {
481
- namePattern = styles[ i ][ 0 ];
482
- valuePattern = styles[ i ][ 1 ];
483
- newValue = styles[ i ][ 2 ];
484
- newName = styles[ i ][ 3 ];
485
-
486
- if ( name.match( namePattern )
487
- && ( !valuePattern || value.match( valuePattern ) ) )
488
- {
489
- name = newName || name;
490
- whitelist && ( newValue = newValue || value );
491
-
492
- if ( typeof newValue == 'function' )
493
- newValue = newValue( value, element, name );
494
-
495
- // Return an couple indicate both name and value
496
- // changed.
497
- if ( newValue && newValue.push )
498
- name = newValue[ 0 ], newValue = newValue[ 1 ];
499
-
500
- if ( typeof newValue == 'string' )
501
- rules.push( [ name, newValue ] );
502
- return;
503
- }
504
- }
505
- }
506
-
507
- !whitelist && rules.push( [ name, value ] );
508
-
509
- });
510
-
511
- for ( var i = 0 ; i < rules.length ; i++ )
512
- rules[ i ] = rules[ i ].join( ':' );
513
- return rules.length ?
514
- ( rules.join( ';' ) + ';' ) : false;
515
- };
516
- },
517
-
518
- /**
519
- * Migrate the element by decorate styles on it.
520
- * @param styleDefiniton
521
- * @param variables
522
- */
523
- elementMigrateFilter : function ( styleDefiniton, variables )
524
- {
525
- return function( element )
526
- {
527
- var styleDef =
528
- variables ?
529
- new CKEDITOR.style( styleDefiniton, variables )._.definition
530
- : styleDefiniton;
531
- element.name = styleDef.element;
532
- CKEDITOR.tools.extend( element.attributes, CKEDITOR.tools.clone( styleDef.attributes ) );
533
- element.addStyle( CKEDITOR.style.getStyleText( styleDef ) );
534
- };
535
- },
536
-
537
- /**
538
- * Migrate styles by creating a new nested stylish element.
539
- * @param styleDefinition
540
- */
541
- styleMigrateFilter : function( styleDefinition, variableName )
542
- {
543
-
544
- var elementMigrateFilter = this.elementMigrateFilter;
545
- return function( value, element )
546
- {
547
- // Build an stylish element first.
548
- var styleElement = new CKEDITOR.htmlParser.element( null ),
549
- variables = {};
550
-
551
- variables[ variableName ] = value;
552
- elementMigrateFilter( styleDefinition, variables )( styleElement );
553
- // Place the new element inside the existing span.
554
- styleElement.children = element.children;
555
- element.children = [ styleElement ];
556
- };
557
- },
558
-
559
- /**
560
- * A filter which remove cke-namespaced-attribute on
561
- * all none-cke-namespaced elements.
562
- * @param value
563
- * @param element
564
- */
565
- bogusAttrFilter : function( value, element )
566
- {
567
- if ( element.name.indexOf( 'cke:' ) == -1 )
568
- return false;
569
- },
570
-
571
- /**
572
- * A filter which will be used to apply inline css style according the stylesheet
573
- * definition rules, is generated lazily when filtering.
574
- */
575
- applyStyleFilter : null
576
-
577
- },
578
-
579
- getRules : function( editor )
580
- {
581
- var dtd = CKEDITOR.dtd,
582
- blockLike = CKEDITOR.tools.extend( {}, dtd.$block, dtd.$listItem, dtd.$tableContent ),
583
- config = editor.config,
584
- filters = this.filters,
585
- falsyFilter = filters.falsyFilter,
586
- stylesFilter = filters.stylesFilter,
587
- elementMigrateFilter = filters.elementMigrateFilter,
588
- styleMigrateFilter = CKEDITOR.tools.bind( this.filters.styleMigrateFilter, this.filters ),
589
- createListBulletMarker = this.utils.createListBulletMarker,
590
- flattenList = filters.flattenList,
591
- assembleList = filters.assembleList,
592
- isListBulletIndicator = this.utils.isListBulletIndicator,
593
- containsNothingButSpaces = this.utils.isContainingOnlySpaces,
594
- resolveListItem = this.utils.resolveList,
595
- convertToPx = this.utils.convertToPx,
596
- getStyleComponents = this.utils.getStyleComponents,
597
- listDtdParents = this.utils.listDtdParents,
598
- removeFontStyles = config.pasteFromWordRemoveFontStyles !== false,
599
- removeStyles = config.pasteFromWordRemoveStyles !== false;
600
-
601
- return {
602
-
603
- elementNames :
604
- [
605
- // Remove script, meta and link elements.
606
- [ ( /meta|link|script/ ), '' ]
607
- ],
608
-
609
- root : function( element )
610
- {
611
- element.filterChildren();
612
- assembleList( element );
613
- },
614
-
615
- elements :
616
- {
617
- '^' : function( element )
618
- {
619
- // Transform CSS style declaration to inline style.
620
- var applyStyleFilter;
621
- if ( CKEDITOR.env.gecko && ( applyStyleFilter = filters.applyStyleFilter ) )
622
- applyStyleFilter( element );
623
- },
624
-
625
- $ : function( element )
626
- {
627
- var tagName = element.name || '',
628
- attrs = element.attributes;
629
-
630
- // Convert length unit of width/height on blocks to
631
- // a more editor-friendly way (px).
632
- if ( tagName in blockLike
633
- && attrs.style )
634
- {
635
- attrs.style = stylesFilter(
636
- [ [ ( /^(:?width|height)$/ ), null, convertToPx ] ] )( attrs.style ) || '';
637
- }
638
-
639
- // Processing headings.
640
- if ( tagName.match( /h\d/ ) )
641
- {
642
- element.filterChildren();
643
- // Is the heading actually a list item?
644
- if ( resolveListItem( element ) )
645
- return;
646
-
647
- // Adapt heading styles to editor's convention.
648
- elementMigrateFilter( config[ 'format_' + tagName ] )( element );
649
- }
650
- // Remove inline elements which contain only empty spaces.
651
- else if ( tagName in dtd.$inline )
652
- {
653
- element.filterChildren();
654
- if ( containsNothingButSpaces( element ) )
655
- delete element.name;
656
- }
657
- // Remove element with ms-office namespace,
658
- // with it's content preserved, e.g. 'o:p'.
659
- else if ( tagName.indexOf( ':' ) != -1
660
- && tagName.indexOf( 'cke' ) == -1 )
661
- {
662
- element.filterChildren();
663
-
664
- // Restore image real link from vml.
665
- if ( tagName == 'v:imagedata' )
666
- {
667
- var href = element.attributes[ 'o:href' ];
668
- if ( href )
669
- element.attributes.src = href;
670
- element.name = 'img';
671
- return;
672
- }
673
- delete element.name;
674
- }
675
-
676
- // Assembling list items into a whole list.
677
- if ( tagName in listDtdParents )
678
- {
679
- element.filterChildren();
680
- assembleList( element );
681
- }
682
- },
683
-
684
- // We'll drop any style sheet, but Firefox conclude
685
- // certain styles in a single style element, which are
686
- // required to be changed into inline ones.
687
- 'style' : function( element )
688
- {
689
- if ( CKEDITOR.env.gecko )
690
- {
691
- // Grab only the style definition section.
692
- var styleDefSection = element.onlyChild().value.match( /\/\* Style Definitions \*\/([\s\S]*?)\/\*/ ),
693
- styleDefText = styleDefSection && styleDefSection[ 1 ],
694
- rules = {}; // Storing the parsed result.
695
-
696
- if ( styleDefText )
697
- {
698
- styleDefText
699
- // Remove line-breaks.
700
- .replace(/[\n\r]/g,'')
701
- // Extract selectors and style properties.
702
- .replace( /(.+?)\{(.+?)\}/g,
703
- function( rule, selectors, styleBlock )
704
- {
705
- selectors = selectors.split( ',' );
706
- var length = selectors.length, selector;
707
- for ( var i = 0; i < length; i++ )
708
- {
709
- // Assume MS-Word mostly generate only simple
710
- // selector( [Type selector][Class selector]).
711
- CKEDITOR.tools.trim( selectors[ i ] )
712
- .replace( /^(\w+)(\.[\w-]+)?$/g,
713
- function( match, tagName, className )
714
- {
715
- tagName = tagName || '*';
716
- className = className.substring( 1, className.length );
717
-
718
- // Reject MS-Word Normal styles.
719
- if ( className.match( /MsoNormal/ ) )
720
- return;
721
-
722
- if ( !rules[ tagName ] )
723
- rules[ tagName ] = {};
724
- if ( className )
725
- rules[ tagName ][ className ] = styleBlock;
726
- else
727
- rules[ tagName ] = styleBlock;
728
- } );
729
- }
730
- });
731
-
732
- filters.applyStyleFilter = function( element )
733
- {
734
- var name = rules[ '*' ] ? '*' : element.name,
735
- className = element.attributes && element.attributes[ 'class' ],
736
- style;
737
- if ( name in rules )
738
- {
739
- style = rules[ name ];
740
- if ( typeof style == 'object' )
741
- style = style[ className ];
742
- // Maintain style rules priorities.
743
- style && element.addStyle( style, true );
744
- }
745
- };
746
- }
747
- }
748
- return false;
749
- },
750
-
751
- 'p' : function( element )
752
- {
753
- element.filterChildren();
754
-
755
- // Is the paragraph actually a list item?
756
- if ( resolveListItem( element ) )
757
- return;
758
-
759
- // Adapt paragraph formatting to editor's convention
760
- // according to enter-mode.
761
- if ( config.enterMode == CKEDITOR.ENTER_BR )
762
- {
763
- // We suffer from attribute/style lost in this situation.
764
- delete element.name;
765
- element.add( new CKEDITOR.htmlParser.element( 'br' ) );
766
- }
767
- else
768
- elementMigrateFilter( config[ 'format_' + ( config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ) ] )( element );
769
- },
770
-
771
- 'div' : function( element )
772
- {
773
- // Aligned table with no text surrounded is represented by a wrapper div, from which
774
- // table cells inherit as text-align styles, which is wrong.
775
- // Instead we use a clear-float div after the table to properly achieve the same layout.
776
- var singleChild = element.onlyChild();
777
- if ( singleChild && singleChild.name == 'table' )
778
- {
779
- var attrs = element.attributes;
780
- singleChild.attributes = CKEDITOR.tools.extend( singleChild.attributes, attrs );
781
- attrs.style && singleChild.addStyle( attrs.style );
782
-
783
- var clearFloatDiv = new CKEDITOR.htmlParser.element( 'div' );
784
- clearFloatDiv.addStyle( 'clear' ,'both' );
785
- element.add( clearFloatDiv );
786
- delete element.name;
787
- }
788
- },
789
-
790
- 'td' : function ( element )
791
- {
792
- // 'td' in 'thead' is actually <th>.
793
- if ( element.getAncestor( 'thead') )
794
- element.name = 'th';
795
- },
796
-
797
- // MS-Word sometimes present list as a mixing of normal list
798
- // and pseudo-list, normalize the previous ones into pseudo form.
799
- 'ol' : flattenList,
800
- 'ul' : flattenList,
801
- 'dl' : flattenList,
802
-
803
- 'font' : function( element )
804
- {
805
- // IE/Safari: drop the font tag if it comes from list bullet text.
806
- if ( !CKEDITOR.env.gecko && isListBulletIndicator( element.parent ) )
807
- {
808
- delete element.name;
809
- return;
810
- }
811
-
812
- element.filterChildren();
813
-
814
- var attrs = element.attributes,
815
- styleText = attrs.style,
816
- parent = element.parent;
817
-
818
- if ( 'font' == parent.name ) // Merge nested <font> tags.
819
- {
820
- CKEDITOR.tools.extend( parent.attributes,
821
- element.attributes );
822
- styleText && parent.addStyle( styleText );
823
- delete element.name;
824
- }
825
- // Convert the merged into a span with all attributes preserved.
826
- else
827
- {
828
- styleText = styleText || '';
829
- // IE's having those deprecated attributes, normalize them.
830
- if ( attrs.color )
831
- {
832
- attrs.color != '#000000' && ( styleText += 'color:' + attrs.color + ';' );
833
- delete attrs.color;
834
- }
835
- if ( attrs.face )
836
- {
837
- styleText += 'font-family:' + attrs.face + ';';
838
- delete attrs.face;
839
- }
840
- // TODO: Mapping size in ranges of xx-small,
841
- // x-small, small, medium, large, x-large, xx-large.
842
- if ( attrs.size )
843
- {
844
- styleText += 'font-size:' +
845
- ( attrs.size > 3 ? 'large'
846
- : ( attrs.size < 3 ? 'small' : 'medium' ) ) + ';';
847
- delete attrs.size;
848
- }
849
-
850
- element.name = 'span';
851
- element.addStyle( styleText );
852
- }
853
- },
854
-
855
- 'span' : function( element )
856
- {
857
- // IE/Safari: remove the span if it comes from list bullet text.
858
- if ( !CKEDITOR.env.gecko && isListBulletIndicator( element.parent ) )
859
- return false;
860
-
861
- element.filterChildren();
862
- if ( containsNothingButSpaces( element ) )
863
- {
864
- delete element.name;
865
- return null;
866
- }
867
-
868
- // For IE/Safari: List item bullet type is supposed to be indicated by
869
- // the text of a span with style 'mso-list : Ignore' or an image.
870
- if ( !CKEDITOR.env.gecko && isListBulletIndicator( element ) )
871
- {
872
- var listSymbolNode = element.firstChild( function( node )
873
- {
874
- return node.value || node.name == 'img';
875
- });
876
-
877
- var listSymbol = listSymbolNode && ( listSymbolNode.value || 'l.' ),
878
- listType = listSymbol.match( /^([^\s]+?)([.)]?)$/ );
879
- return createListBulletMarker( listType, listSymbol );
880
- }
881
-
882
- // Update the src attribute of image element with href.
883
- var children = element.children,
884
- attrs = element.attributes,
885
- styleText = attrs && attrs.style,
886
- firstChild = children && children[ 0 ];
887
-
888
- // Assume MS-Word mostly carry font related styles on <span>,
889
- // adapting them to editor's convention.
890
- if ( styleText )
891
- {
892
- attrs.style = stylesFilter(
893
- [
894
- // Drop 'inline-height' style which make lines overlapping.
895
- [ 'line-height' ],
896
- [ ( /^font-family$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'font_style' ], 'family' ) : null ] ,
897
- [ ( /^font-size$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'fontSize_style' ], 'size' ) : null ] ,
898
- [ ( /^color$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'colorButton_foreStyle' ], 'color' ) : null ] ,
899
- [ ( /^background-color$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'colorButton_backStyle' ], 'color' ) : null ]
900
- ] )( styleText, element ) || '';
901
- }
902
-
903
- return null;
904
- },
905
-
906
- // Migrate basic style formats to editor configured ones.
907
- 'b' : elementMigrateFilter( config[ 'coreStyles_bold' ] ),
908
- 'i' : elementMigrateFilter( config[ 'coreStyles_italic' ] ),
909
- 'u' : elementMigrateFilter( config[ 'coreStyles_underline' ] ),
910
- 's' : elementMigrateFilter( config[ 'coreStyles_strike' ] ),
911
- 'sup' : elementMigrateFilter( config[ 'coreStyles_superscript' ] ),
912
- 'sub' : elementMigrateFilter( config[ 'coreStyles_subscript' ] ),
913
- // Editor doesn't support anchor with content currently (#3582),
914
- // drop such anchors with content preserved.
915
- 'a' : function( element )
916
- {
917
- var attrs = element.attributes;
918
- if ( attrs && !attrs.href && attrs.name )
919
- delete element.name;
920
- },
921
- 'cke:listbullet' : function( element )
922
- {
923
- if ( element.getAncestor( /h\d/ ) && !config.pasteFromWordNumberedHeadingToList )
924
- delete element.name;
925
- }
926
- },
927
-
928
- attributeNames :
929
- [
930
- // Remove onmouseover and onmouseout events (from MS Word comments effect)
931
- [ ( /^onmouse(:?out|over)/ ), '' ],
932
- // Onload on image element.
933
- [ ( /^onload$/ ), '' ],
934
- // Remove office and vml attribute from elements.
935
- [ ( /(?:v|o):\w+/ ), '' ],
936
- // Remove lang/language attributes.
937
- [ ( /^lang/ ), '' ]
938
- ],
939
-
940
- attributes :
941
- {
942
- 'style' : stylesFilter(
943
- removeStyles ?
944
- // Provide a white-list of styles that we preserve, those should
945
- // be the ones that could later be altered with editor tools.
946
- [
947
- // Preserve margin-left/right which used as default indent style in the editor.
948
- [ ( /^margin$|^margin-(?!bottom|top)/ ), null, function( value, element, name )
949
- {
950
- if ( element.name in { p : 1, div : 1 } )
951
- {
952
- var indentStyleName = config.contentsLangDirection == 'ltr' ?
953
- 'margin-left' : 'margin-right';
954
-
955
- // Extract component value from 'margin' shorthand.
956
- if ( name == 'margin' )
957
- {
958
- value = getStyleComponents( name, value,
959
- [ indentStyleName ] )[ indentStyleName ];
960
- }
961
- else if ( name != indentStyleName )
962
- return null;
963
-
964
- if ( value && !emptyMarginRegex.test( value ) )
965
- return [ indentStyleName, value ];
966
- }
967
-
968
- return null;
969
- } ],
970
-
971
- // Preserve clear float style.
972
- [ ( /^clear$/ ) ],
973
-
974
- [ ( /^border.*|margin.*|vertical-align|float$/ ), null,
975
- function( value, element )
976
- {
977
- if ( element.name == 'img' )
978
- return value;
979
- } ],
980
-
981
- [ (/^width|height$/ ), null,
982
- function( value, element )
983
- {
984
- if ( element.name in { table : 1, td : 1, th : 1, img : 1 } )
985
- return value;
986
- } ]
987
- ] :
988
- // Otherwise provide a black-list of styles that we remove.
989
- [
990
- [ ( /^mso-/ ) ],
991
- // Fixing color values.
992
- [ ( /-color$/ ), null, function( value )
993
- {
994
- if ( value == 'transparent' )
995
- return false;
996
- if ( CKEDITOR.env.gecko )
997
- return value.replace( /-moz-use-text-color/g, 'transparent' );
998
- } ],
999
- // Remove empty margin values, e.g. 0.00001pt 0em 0pt
1000
- [ ( /^margin$/ ), emptyMarginRegex ],
1001
- [ 'text-indent', '0cm' ],
1002
- [ 'page-break-before' ],
1003
- [ 'tab-stops' ],
1004
- [ 'display', 'none' ],
1005
- removeFontStyles ? [ ( /font-?/ ) ] : null
1006
- ], removeStyles ),
1007
-
1008
- // Prefer width styles over 'width' attributes.
1009
- 'width' : function( value, element )
1010
- {
1011
- if ( element.name in dtd.$tableContent )
1012
- return false;
1013
- },
1014
- // Prefer border styles over table 'border' attributes.
1015
- 'border' : function( value, element )
1016
- {
1017
- if ( element.name in dtd.$tableContent )
1018
- return false;
1019
- },
1020
-
1021
- // Only Firefox carry style sheet from MS-Word, which
1022
- // will be applied by us manually. For other browsers
1023
- // the css className is useless.
1024
- 'class' : falsyFilter,
1025
-
1026
- // MS-Word always generate 'background-color' along with 'bgcolor',
1027
- // simply drop the deprecated attributes.
1028
- 'bgcolor' : falsyFilter,
1029
-
1030
- // Deprecate 'valign' attribute in favor of 'vertical-align'.
1031
- 'valign' : removeStyles ? falsyFilter : function( value, element )
1032
- {
1033
- element.addStyle( 'vertical-align', value );
1034
- return false;
1035
- }
1036
- },
1037
-
1038
- // Fore none-IE, some useful data might be buried under these IE-conditional
1039
- // comments where RegExp were the right approach to dig them out where usual approach
1040
- // is transform it into a fake element node which hold the desired data.
1041
- comment :
1042
- !CKEDITOR.env.ie ?
1043
- function( value, node )
1044
- {
1045
- var imageInfo = value.match( /<img.*?>/ ),
1046
- listInfo = value.match( /^\[if !supportLists\]([\s\S]*?)\[endif\]$/ );
1047
-
1048
- // Seek for list bullet indicator.
1049
- if ( listInfo )
1050
- {
1051
- // Bullet symbol could be either text or an image.
1052
- var listSymbol = listInfo[ 1 ] || ( imageInfo && 'l.' ),
1053
- listType = listSymbol && listSymbol.match( />([^\s]+?)([.)]?)</ );
1054
- return createListBulletMarker( listType, listSymbol );
1055
- }
1056
-
1057
- // Reveal the <img> element in conditional comments for Firefox.
1058
- if ( CKEDITOR.env.gecko && imageInfo )
1059
- {
1060
- var img = CKEDITOR.htmlParser.fragment.fromHtml( imageInfo[ 0 ] ).children[ 0 ],
1061
- previousComment = node.previous,
1062
- // Try to dig the real image link from vml markup from previous comment text.
1063
- imgSrcInfo = previousComment && previousComment.value.match( /<v:imagedata[^>]*o:href=['"](.*?)['"]/ ),
1064
- imgSrc = imgSrcInfo && imgSrcInfo[ 1 ];
1065
-
1066
- // Is there a real 'src' url to be used?
1067
- imgSrc && ( img.attributes.src = imgSrc );
1068
- return img;
1069
- }
1070
-
1071
- return false;
1072
- }
1073
- : falsyFilter
1074
- };
1075
- }
1076
- };
1077
-
1078
- // The paste processor here is just a reduced copy of html data processor.
1079
- var pasteProcessor = function()
1080
- {
1081
- this.dataFilter = new CKEDITOR.htmlParser.filter();
1082
- };
1083
-
1084
- pasteProcessor.prototype =
1085
- {
1086
- toHtml : function( data )
1087
- {
1088
- var fragment = CKEDITOR.htmlParser.fragment.fromHtml( data, false ),
1089
- writer = new CKEDITOR.htmlParser.basicWriter();
1090
-
1091
- fragment.writeHtml( writer, this.dataFilter );
1092
- return writer.getHtml( true );
1093
- }
1094
- };
1095
-
1096
- CKEDITOR.cleanWord = function( data, editor )
1097
- {
1098
- // Firefox will be confused by those downlevel-revealed IE conditional
1099
- // comments, fixing them first( convert it to upperlevel-revealed one ).
1100
- // e.g. <![if !vml]>...<![endif]>
1101
- if ( CKEDITOR.env.gecko )
1102
- data = data.replace( /(<!--\[if[^<]*?\])-->([\S\s]*?)<!--(\[endif\]-->)/gi, '$1$2$3' );
1103
-
1104
- var dataProcessor = new pasteProcessor(),
1105
- dataFilter = dataProcessor.dataFilter;
1106
-
1107
- // These rules will have higher priorities than default ones.
1108
- dataFilter.addRules( CKEDITOR.plugins.pastefromword.getRules( editor ) );
1109
-
1110
- // Allow extending data filter rules.
1111
- editor.fire( 'beforeCleanWord', { filter : dataFilter } );
1112
-
1113
- try
1114
- {
1115
- data = dataProcessor.toHtml( data, false );
1116
- }
1117
- catch ( e )
1118
- {
1119
- alert( editor.lang.pastefromword.error );
1120
- }
1121
-
1122
- /* Below post processing those things that are unable to delivered by filter rules. */
1123
-
1124
- // Remove 'cke' namespaced attribute used in filter rules as marker.
1125
- data = data.replace( /cke:.*?".*?"/g, '' );
1126
-
1127
- // Remove empty style attribute.
1128
- data = data.replace( /style=""/g, '' );
1129
-
1130
- // Remove the dummy spans ( having no inline style ).
1131
- data = data.replace( /<span>/g, '' );
1132
-
1133
- return data;
1134
- };
1135
- })();
1136
-
1137
- /**
1138
- * Whether to ignore all font related formatting styles, including:
1139
- * <ul> <li>font size;</li>
1140
- * <li>font family;</li>
1141
- * <li>font foreground/background color.</li></ul>
1142
- * @name CKEDITOR.config.pasteFromWordRemoveFontStyles
1143
- * @since 3.1
1144
- * @type Boolean
1145
- * @default true
1146
- * @example
1147
- * config.pasteFromWordRemoveFontStyles = false;
1148
- */
1149
-
1150
- /**
1151
- * Whether to transform MS Word outline numbered headings into lists.
1152
- * @name CKEDITOR.config.pasteFromWordNumberedHeadingToList
1153
- * @since 3.1
1154
- * @type Boolean
1155
- * @default false
1156
- * @example
1157
- * config.pasteFromWordNumberedHeadingToList = true;
1158
- */
1159
-
1160
- /**
1161
- * Whether to remove element styles that can't be managed with the editor. Note
1162
- * that this doesn't handle the font specific styles, which depends on the
1163
- * {@link CKEDITOR.config.pasteFromWordRemoveFontStyles} setting instead.
1164
- * @name CKEDITOR.config.pasteFromWordRemoveStyles
1165
- * @since 3.1
1166
- * @type Boolean
1167
- * @default true
1168
- * @example
1169
- * config.pasteFromWordRemoveStyles = false;
1170
- */