ckeditor-rails 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (708) hide show
  1. data/README.md +17 -14
  2. data/lib/ckeditor-rails/version.rb +1 -1
  3. data/vendor/assets/ckeditor/ckeditor/.htaccess +1 -1
  4. data/vendor/assets/ckeditor/ckeditor/CHANGES.html +139 -3
  5. data/vendor/assets/ckeditor/ckeditor/INSTALL.html +92 -92
  6. data/vendor/assets/ckeditor/ckeditor/LICENSE.html +2 -2
  7. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/application.xml +32 -32
  8. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/run.bat +9 -9
  9. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/run.sh +1 -1
  10. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/sample.html +45 -45
  11. data/vendor/assets/ckeditor/ckeditor/_samples/ajax.html +98 -98
  12. data/vendor/assets/ckeditor/ckeditor/_samples/api.html +192 -192
  13. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog.html +198 -198
  14. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog/my_dialog.js +28 -28
  15. data/vendor/assets/ckeditor/ckeditor/_samples/asp/advanced.asp +105 -105
  16. data/vendor/assets/ckeditor/ckeditor/_samples/asp/events.asp +136 -136
  17. data/vendor/assets/ckeditor/ckeditor/_samples/asp/index.html +103 -103
  18. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replace.asp +72 -72
  19. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replaceall.asp +77 -77
  20. data/vendor/assets/ckeditor/ckeditor/_samples/asp/sample_posteddata.asp +46 -46
  21. data/vendor/assets/ckeditor/ckeditor/_samples/asp/standalone.asp +72 -72
  22. data/vendor/assets/ckeditor/ckeditor/_samples/assets/_posteddata.php +59 -59
  23. data/vendor/assets/ckeditor/ckeditor/_samples/assets/output_xhtml.css +204 -204
  24. data/vendor/assets/ckeditor/ckeditor/_samples/assets/parsesample.css +70 -70
  25. data/vendor/assets/ckeditor/ckeditor/_samples/assets/swfobject.js +18 -18
  26. data/vendor/assets/ckeditor/ckeditor/_samples/autogrow.html +108 -107
  27. data/vendor/assets/ckeditor/ckeditor/_samples/bbcode.html +125 -125
  28. data/vendor/assets/ckeditor/ckeditor/_samples/devtools.html +94 -94
  29. data/vendor/assets/ckeditor/ckeditor/_samples/divreplace.html +154 -154
  30. data/vendor/assets/ckeditor/ckeditor/_samples/enterkey.html +115 -115
  31. data/vendor/assets/ckeditor/ckeditor/_samples/fullpage.html +82 -82
  32. data/vendor/assets/ckeditor/ckeditor/_samples/index.html +116 -116
  33. data/vendor/assets/ckeditor/ckeditor/_samples/jqueryadapter.html +99 -99
  34. data/vendor/assets/ckeditor/ckeditor/_samples/output_for_flash.html +275 -275
  35. data/vendor/assets/ckeditor/ckeditor/_samples/output_html.html +285 -285
  36. data/vendor/assets/ckeditor/ckeditor/_samples/output_xhtml.html +181 -177
  37. data/vendor/assets/ckeditor/ckeditor/_samples/php/advanced.php +120 -120
  38. data/vendor/assets/ckeditor/ckeditor/_samples/php/events.php +153 -153
  39. data/vendor/assets/ckeditor/ckeditor/_samples/php/index.html +47 -47
  40. data/vendor/assets/ckeditor/ckeditor/_samples/php/replace.php +87 -87
  41. data/vendor/assets/ckeditor/ckeditor/_samples/php/replaceall.php +88 -88
  42. data/vendor/assets/ckeditor/ckeditor/_samples/php/standalone.php +83 -83
  43. data/vendor/assets/ckeditor/ckeditor/_samples/placeholder.html +81 -81
  44. data/vendor/assets/ckeditor/ckeditor/_samples/readonly.html +91 -91
  45. data/vendor/assets/ckeditor/ckeditor/_samples/replacebyclass.html +64 -64
  46. data/vendor/assets/ckeditor/ckeditor/_samples/replacebycode.html +97 -97
  47. data/vendor/assets/ckeditor/ckeditor/_samples/sample.css +163 -163
  48. data/vendor/assets/ckeditor/ckeditor/_samples/sample.js +65 -65
  49. data/vendor/assets/ckeditor/ckeditor/_samples/sample_posteddata.php +21 -21
  50. data/vendor/assets/ckeditor/ckeditor/_samples/sharedspaces.html +153 -153
  51. data/vendor/assets/ckeditor/ckeditor/_samples/skins.html +110 -110
  52. data/vendor/assets/ckeditor/ckeditor/_samples/stylesheetparser.html +93 -93
  53. data/vendor/assets/ckeditor/ckeditor/_samples/tableresize.html +115 -115
  54. data/vendor/assets/ckeditor/ckeditor/_samples/ui_color.html +129 -129
  55. data/vendor/assets/ckeditor/ckeditor/_samples/ui_languages.html +134 -134
  56. data/vendor/assets/ckeditor/ckeditor/_source/adapters/jquery.js +306 -306
  57. data/vendor/assets/ckeditor/ckeditor/_source/core/_bootstrap.js +87 -87
  58. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor.js +141 -141
  59. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_base.js +235 -227
  60. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_basic.js +238 -238
  61. data/vendor/assets/ckeditor/ckeditor/_source/core/command.js +225 -209
  62. data/vendor/assets/ckeditor/ckeditor/_source/core/commanddefinition.js +129 -129
  63. data/vendor/assets/ckeditor/ckeditor/_source/core/config.js +447 -431
  64. data/vendor/assets/ckeditor/ckeditor/_source/core/dataprocessor.js +65 -65
  65. data/vendor/assets/ckeditor/ckeditor/_source/core/dom.js +20 -20
  66. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/comment.js +44 -32
  67. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/document.js +251 -251
  68. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/documentfragment.js +49 -49
  69. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/domobject.js +258 -258
  70. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/element.js +1796 -1681
  71. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/elementpath.js +117 -119
  72. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/event.js +145 -145
  73. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/node.js +691 -695
  74. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/nodelist.js +26 -26
  75. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/range.js +2068 -2032
  76. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/rangelist.js +213 -213
  77. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/text.js +128 -128
  78. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/walker.js +496 -462
  79. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/window.js +96 -96
  80. data/vendor/assets/ckeditor/ckeditor/_source/core/dtd.js +266 -266
  81. data/vendor/assets/ckeditor/ckeditor/_source/core/editor.js +1059 -1059
  82. data/vendor/assets/ckeditor/ckeditor/_source/core/editor_basic.js +186 -186
  83. data/vendor/assets/ckeditor/ckeditor/_source/core/env.js +305 -291
  84. data/vendor/assets/ckeditor/ckeditor/_source/core/event.js +342 -342
  85. data/vendor/assets/ckeditor/ckeditor/_source/core/eventInfo.js +120 -120
  86. data/vendor/assets/ckeditor/ckeditor/_source/core/focusmanager.js +152 -152
  87. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser.js +224 -224
  88. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/basicwriter.js +145 -145
  89. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/cdata.js +43 -43
  90. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/comment.js +60 -60
  91. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/element.js +308 -308
  92. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/filter.js +288 -288
  93. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/fragment.js +537 -497
  94. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/text.js +53 -55
  95. data/vendor/assets/ckeditor/ckeditor/_source/core/lang.js +157 -157
  96. data/vendor/assets/ckeditor/ckeditor/_source/core/loader.js +240 -240
  97. data/vendor/assets/ckeditor/ckeditor/_source/core/plugindefinition.js +83 -83
  98. data/vendor/assets/ckeditor/ckeditor/_source/core/plugins.js +103 -103
  99. data/vendor/assets/ckeditor/ckeditor/_source/core/resourcemanager.js +238 -238
  100. data/vendor/assets/ckeditor/ckeditor/_source/core/scriptloader.js +180 -180
  101. data/vendor/assets/ckeditor/ckeditor/_source/core/skins.js +184 -184
  102. data/vendor/assets/ckeditor/ckeditor/_source/core/themes.js +19 -19
  103. data/vendor/assets/ckeditor/ckeditor/_source/core/tools.js +763 -763
  104. data/vendor/assets/ckeditor/ckeditor/_source/core/ui.js +128 -128
  105. data/vendor/assets/ckeditor/ckeditor/_source/lang/_languages.js +84 -84
  106. data/vendor/assets/ckeditor/ckeditor/_source/lang/_translationstatus.txt +63 -61
  107. data/vendor/assets/ckeditor/ckeditor/_source/lang/af.js +815 -812
  108. data/vendor/assets/ckeditor/ckeditor/_source/lang/ar.js +815 -812
  109. data/vendor/assets/ckeditor/ckeditor/_source/lang/bg.js +815 -812
  110. data/vendor/assets/ckeditor/ckeditor/_source/lang/bn.js +815 -812
  111. data/vendor/assets/ckeditor/ckeditor/_source/lang/bs.js +815 -812
  112. data/vendor/assets/ckeditor/ckeditor/_source/lang/ca.js +815 -812
  113. data/vendor/assets/ckeditor/ckeditor/_source/lang/cs.js +815 -812
  114. data/vendor/assets/ckeditor/ckeditor/_source/lang/cy.js +815 -812
  115. data/vendor/assets/ckeditor/ckeditor/_source/lang/da.js +815 -812
  116. data/vendor/assets/ckeditor/ckeditor/_source/lang/de.js +815 -812
  117. data/vendor/assets/ckeditor/ckeditor/_source/lang/el.js +815 -812
  118. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-au.js +815 -812
  119. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-ca.js +815 -812
  120. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-gb.js +815 -812
  121. data/vendor/assets/ckeditor/ckeditor/_source/lang/en.js +815 -812
  122. data/vendor/assets/ckeditor/ckeditor/_source/lang/eo.js +815 -812
  123. data/vendor/assets/ckeditor/ckeditor/_source/lang/es.js +815 -812
  124. data/vendor/assets/ckeditor/ckeditor/_source/lang/et.js +815 -812
  125. data/vendor/assets/ckeditor/ckeditor/_source/lang/eu.js +815 -812
  126. data/vendor/assets/ckeditor/ckeditor/_source/lang/fa.js +815 -812
  127. data/vendor/assets/ckeditor/ckeditor/_source/lang/fi.js +815 -812
  128. data/vendor/assets/ckeditor/ckeditor/_source/lang/fo.js +815 -812
  129. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr-ca.js +815 -812
  130. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr.js +815 -812
  131. data/vendor/assets/ckeditor/ckeditor/_source/lang/gl.js +815 -812
  132. data/vendor/assets/ckeditor/ckeditor/_source/lang/gu.js +815 -812
  133. data/vendor/assets/ckeditor/ckeditor/_source/lang/he.js +815 -812
  134. data/vendor/assets/ckeditor/ckeditor/_source/lang/hi.js +815 -812
  135. data/vendor/assets/ckeditor/ckeditor/_source/lang/hr.js +815 -812
  136. data/vendor/assets/ckeditor/ckeditor/_source/lang/hu.js +815 -812
  137. data/vendor/assets/ckeditor/ckeditor/_source/lang/is.js +815 -812
  138. data/vendor/assets/ckeditor/ckeditor/_source/lang/it.js +815 -812
  139. data/vendor/assets/ckeditor/ckeditor/_source/lang/ja.js +815 -812
  140. data/vendor/assets/ckeditor/ckeditor/_source/lang/ka.js +815 -812
  141. data/vendor/assets/ckeditor/ckeditor/_source/lang/km.js +815 -812
  142. data/vendor/assets/ckeditor/ckeditor/_source/lang/ko.js +815 -812
  143. data/vendor/assets/ckeditor/ckeditor/_source/lang/lt.js +815 -812
  144. data/vendor/assets/ckeditor/ckeditor/_source/lang/lv.js +815 -812
  145. data/vendor/assets/ckeditor/ckeditor/_source/lang/mk.js +814 -0
  146. data/vendor/assets/ckeditor/ckeditor/_source/lang/mn.js +815 -812
  147. data/vendor/assets/ckeditor/ckeditor/_source/lang/ms.js +815 -812
  148. data/vendor/assets/ckeditor/ckeditor/_source/lang/nb.js +815 -812
  149. data/vendor/assets/ckeditor/ckeditor/_source/lang/nl.js +815 -812
  150. data/vendor/assets/ckeditor/ckeditor/_source/lang/no.js +815 -812
  151. data/vendor/assets/ckeditor/ckeditor/_source/lang/pl.js +815 -812
  152. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt-br.js +814 -811
  153. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt.js +815 -812
  154. data/vendor/assets/ckeditor/ckeditor/_source/lang/ro.js +815 -812
  155. data/vendor/assets/ckeditor/ckeditor/_source/lang/ru.js +815 -812
  156. data/vendor/assets/ckeditor/ckeditor/_source/lang/sk.js +815 -812
  157. data/vendor/assets/ckeditor/ckeditor/_source/lang/sl.js +815 -812
  158. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr-latn.js +815 -812
  159. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr.js +815 -812
  160. data/vendor/assets/ckeditor/ckeditor/_source/lang/sv.js +814 -811
  161. data/vendor/assets/ckeditor/ckeditor/_source/lang/th.js +815 -812
  162. data/vendor/assets/ckeditor/ckeditor/_source/lang/tr.js +814 -811
  163. data/vendor/assets/ckeditor/ckeditor/_source/lang/ug.js +814 -0
  164. data/vendor/assets/ckeditor/ckeditor/_source/lang/uk.js +815 -812
  165. data/vendor/assets/ckeditor/ckeditor/_source/lang/vi.js +815 -812
  166. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh-cn.js +815 -812
  167. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh.js +815 -812
  168. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -222
  169. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/_translationstatus.txt +23 -0
  170. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/cs.js +89 -0
  171. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/cy.js +89 -0
  172. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/da.js +89 -0
  173. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/de.js +89 -0
  174. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/el.js +89 -0
  175. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -108
  176. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/eo.js +89 -0
  177. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/fa.js +89 -0
  178. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/fi.js +89 -0
  179. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/fr.js +89 -0
  180. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/gu.js +89 -0
  181. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/he.js +89 -216
  182. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/it.js +89 -0
  183. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/mk.js +89 -0
  184. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/nb.js +89 -0
  185. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/nl.js +89 -0
  186. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/no.js +89 -0
  187. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/tr.js +89 -0
  188. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/ug.js +89 -0
  189. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/vi.js +89 -0
  190. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/zh-cn.js +89 -0
  191. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -47
  192. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/dialogs/about.js +76 -76
  193. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/plugin.js +24 -24
  194. data/vendor/assets/ckeditor/ckeditor/_source/plugins/adobeair/plugin.js +228 -228
  195. data/vendor/assets/ckeditor/ckeditor/_source/plugins/ajax/plugin.js +152 -152
  196. data/vendor/assets/ckeditor/ckeditor/_source/plugins/autogrow/plugin.js +141 -88
  197. data/vendor/assets/ckeditor/ckeditor/_source/plugins/basicstyles/plugin.js +129 -101
  198. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bbcode/plugin.js +931 -931
  199. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bidi/plugin.js +334 -334
  200. data/vendor/assets/ckeditor/ckeditor/_source/plugins/blockquote/plugin.js +305 -305
  201. data/vendor/assets/ckeditor/ckeditor/_source/plugins/button/plugin.js +290 -290
  202. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -223
  203. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/plugin.js +479 -453
  204. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colorbutton/plugin.js +300 -294
  205. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +387 -340
  206. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/plugin.js +15 -15
  207. data/vendor/assets/ckeditor/ckeditor/_source/plugins/contextmenu/plugin.js +179 -177
  208. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/_translationstatus.txt +27 -0
  209. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/bg.js +16 -0
  210. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/cs.js +16 -0
  211. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/cy.js +16 -0
  212. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/da.js +16 -0
  213. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/de.js +16 -0
  214. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/el.js +16 -0
  215. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/en.js +16 -16
  216. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/eo.js +16 -0
  217. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/et.js +16 -0
  218. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/fa.js +16 -0
  219. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/fi.js +16 -0
  220. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/fr.js +16 -0
  221. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/gu.js +16 -0
  222. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/he.js +16 -0
  223. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/hr.js +16 -0
  224. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/it.js +16 -0
  225. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/nb.js +16 -0
  226. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/nl.js +16 -0
  227. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/no.js +16 -0
  228. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/pl.js +16 -0
  229. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/tr.js +16 -0
  230. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/ug.js +16 -0
  231. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/uk.js +16 -0
  232. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/vi.js +16 -0
  233. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/zh-cn.js +16 -0
  234. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/plugin.js +173 -173
  235. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -1166
  236. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/plugin.js +3319 -3289
  237. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -207
  238. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogui/plugin.js +1549 -1541
  239. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/dialogs/div.js +535 -535
  240. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/plugin.js +121 -121
  241. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/dialogs/docprops.js +674 -686
  242. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/plugin.js +22 -22
  243. data/vendor/assets/ckeditor/ckeditor/_source/plugins/domiterator/plugin.js +366 -361
  244. data/vendor/assets/ckeditor/ckeditor/_source/plugins/editingblock/plugin.js +278 -275
  245. data/vendor/assets/ckeditor/ckeditor/_source/plugins/elementspath/plugin.js +218 -218
  246. data/vendor/assets/ckeditor/ckeditor/_source/plugins/enterkey/plugin.js +433 -413
  247. data/vendor/assets/ckeditor/ckeditor/_source/plugins/entities/plugin.js +254 -250
  248. data/vendor/assets/ckeditor/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -175
  249. data/vendor/assets/ckeditor/ckeditor/_source/plugins/filebrowser/plugin.js +533 -524
  250. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/dialogs/find.js +915 -903
  251. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/plugin.js +47 -47
  252. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/dialogs/flash.js +674 -673
  253. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/plugin.js +154 -154
  254. data/vendor/assets/ckeditor/ckeditor/_source/plugins/floatpanel/plugin.js +476 -428
  255. data/vendor/assets/ckeditor/ckeditor/_source/plugins/font/plugin.js +234 -234
  256. data/vendor/assets/ckeditor/ckeditor/_source/plugins/format/plugin.js +197 -197
  257. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/button.js +118 -118
  258. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -153
  259. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/form.js +177 -177
  260. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -100
  261. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -135
  262. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/select.js +558 -558
  263. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textarea.js +135 -114
  264. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -199
  265. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/plugin.js +288 -288
  266. data/vendor/assets/ckeditor/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -48
  267. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmldataprocessor/plugin.js +600 -595
  268. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -319
  269. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -229
  270. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/plugin.js +87 -87
  271. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframedialog/plugin.js +188 -188
  272. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/dialogs/image.js +1406 -1406
  273. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/plugin.js +164 -81
  274. data/vendor/assets/ckeditor/ckeditor/_source/plugins/indent/plugin.js +480 -461
  275. data/vendor/assets/ckeditor/ckeditor/_source/plugins/justify/plugin.js +251 -253
  276. data/vendor/assets/ckeditor/ckeditor/_source/plugins/keystrokes/plugin.js +225 -225
  277. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -144
  278. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/link.js +1427 -1424
  279. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/plugin.js +374 -374
  280. data/vendor/assets/ckeditor/ckeditor/_source/plugins/list/plugin.js +967 -734
  281. data/vendor/assets/ckeditor/ckeditor/_source/plugins/listblock/plugin.js +260 -268
  282. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -225
  283. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/plugin.js +66 -66
  284. data/vendor/assets/ckeditor/ckeditor/_source/plugins/maximize/plugin.js +353 -352
  285. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menu/plugin.js +542 -541
  286. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menubutton/plugin.js +98 -98
  287. data/vendor/assets/ckeditor/ckeditor/_source/plugins/newpage/plugin.js +55 -54
  288. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pagebreak/plugin.js +164 -164
  289. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panel/plugin.js +396 -403
  290. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panelbutton/plugin.js +144 -144
  291. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -1367
  292. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/plugin.js +141 -141
  293. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -67
  294. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/plugin.js +98 -98
  295. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -71
  296. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/_translationstatus.txt +26 -0
  297. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/bg.js +16 -0
  298. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/cs.js +16 -0
  299. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/cy.js +16 -0
  300. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/da.js +16 -0
  301. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/de.js +16 -0
  302. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/el.js +16 -0
  303. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/en.js +16 -16
  304. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/eo.js +16 -0
  305. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/et.js +16 -0
  306. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/fa.js +16 -0
  307. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/fi.js +16 -0
  308. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/fr.js +16 -0
  309. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/he.js +16 -16
  310. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/hr.js +16 -0
  311. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/it.js +16 -0
  312. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/nb.js +16 -0
  313. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/nl.js +16 -0
  314. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/no.js +16 -0
  315. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/pl.js +16 -0
  316. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/tr.js +16 -0
  317. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/ug.js +16 -0
  318. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/uk.js +16 -0
  319. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/vi.js +16 -0
  320. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/zh-cn.js +16 -0
  321. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/plugin.js +171 -171
  322. data/vendor/assets/ckeditor/ckeditor/_source/plugins/popup/plugin.js +69 -64
  323. data/vendor/assets/ckeditor/ckeditor/_source/plugins/preview/plugin.js +113 -109
  324. data/vendor/assets/ckeditor/ckeditor/_source/plugins/print/plugin.js +42 -42
  325. data/vendor/assets/ckeditor/ckeditor/_source/plugins/removeformat/plugin.js +185 -185
  326. data/vendor/assets/ckeditor/ckeditor/_source/plugins/resize/plugin.js +169 -168
  327. data/vendor/assets/ckeditor/ckeditor/_source/plugins/richcombo/plugin.js +381 -381
  328. data/vendor/assets/ckeditor/ckeditor/_source/plugins/save/plugin.js +56 -56
  329. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -537
  330. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -71
  331. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/plugin.js +973 -964
  332. data/vendor/assets/ckeditor/ckeditor/_source/plugins/selection/plugin.js +1855 -1601
  333. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showblocks/plugin.js +160 -160
  334. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showborders/plugin.js +207 -207
  335. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -224
  336. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/plugin.js +94 -94
  337. data/vendor/assets/ckeditor/ckeditor/_source/plugins/sourcearea/plugin.js +209 -209
  338. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -350
  339. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/_translationstatus.txt +19 -0
  340. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/cs.js +126 -0
  341. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/cy.js +126 -0
  342. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/de.js +126 -0
  343. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/en.js +126 -89
  344. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/eo.js +126 -0
  345. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/et.js +126 -0
  346. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/fa.js +126 -0
  347. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/fi.js +126 -0
  348. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/fr.js +126 -0
  349. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/hr.js +126 -0
  350. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/it.js +126 -0
  351. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/nb.js +126 -0
  352. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/nl.js +126 -0
  353. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/no.js +126 -0
  354. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/tr.js +126 -0
  355. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/ug.js +126 -0
  356. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/zh-cn.js +126 -0
  357. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/plugin.js +70 -70
  358. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/plugin.js +1706 -1696
  359. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/styles/default.js +88 -88
  360. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylescombo/plugin.js +218 -218
  361. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -148
  362. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tab/plugin.js +367 -367
  363. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/dialogs/table.js +618 -602
  364. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/plugin.js +78 -78
  365. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tableresize/plugin.js +443 -443
  366. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +520 -525
  367. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/plugin.js +1185 -1194
  368. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -234
  369. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/plugin.js +100 -99
  370. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/templates/default.js +94 -94
  371. data/vendor/assets/ckeditor/ckeditor/_source/plugins/toolbar/plugin.js +545 -545
  372. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -205
  373. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/_translationstatus.txt +27 -0
  374. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/bg.js +15 -0
  375. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/cs.js +15 -0
  376. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/cy.js +15 -0
  377. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/da.js +15 -0
  378. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/de.js +15 -0
  379. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/el.js +15 -0
  380. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/en.js +15 -15
  381. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/eo.js +15 -0
  382. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/et.js +15 -0
  383. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/fa.js +15 -0
  384. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/fi.js +15 -0
  385. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/fr.js +15 -0
  386. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/he.js +15 -15
  387. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/hr.js +15 -0
  388. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/it.js +15 -0
  389. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/mk.js +15 -0
  390. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/nb.js +15 -0
  391. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/nl.js +15 -0
  392. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/no.js +15 -0
  393. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/pl.js +15 -0
  394. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/tr.js +15 -0
  395. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/ug.js +15 -0
  396. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/uk.js +15 -0
  397. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/vi.js +15 -0
  398. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/zh-cn.js +15 -0
  399. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/plugin.js +37 -37
  400. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -15
  401. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -71
  402. data/vendor/assets/ckeditor/ckeditor/_source/plugins/undo/plugin.js +593 -580
  403. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -49
  404. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -52
  405. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -82
  406. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -192
  407. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/plugin.js +33 -33
  408. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wysiwygarea/plugin.js +1346 -1351
  409. data/vendor/assets/ckeditor/ckeditor/_source/plugins/xml/plugin.js +170 -170
  410. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/dialog.css +989 -943
  411. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/editor.css +25 -25
  412. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/elementspath.css +73 -73
  413. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/icons.css +366 -366
  414. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/mainui.css +206 -203
  415. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/menu.css +232 -232
  416. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/panel.css +217 -217
  417. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/presets.css +49 -49
  418. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/reset.css +85 -84
  419. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/richcombo.css +287 -287
  420. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/skin.js +236 -236
  421. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/templates.css +88 -88
  422. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/toolbar.css +408 -407
  423. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/dialog.css +891 -844
  424. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/editor.css +25 -25
  425. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/elementspath.css +74 -74
  426. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/icons.css +363 -363
  427. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/mainui.css +153 -153
  428. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/menu.css +229 -229
  429. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/panel.css +212 -212
  430. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/presets.css +49 -49
  431. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/reset.css +85 -84
  432. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/richcombo.css +309 -309
  433. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/skin.js +74 -74
  434. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/templates.css +87 -87
  435. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/toolbar.css +522 -522
  436. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/dialog.css +907 -861
  437. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/editor.css +25 -25
  438. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/elementspath.css +74 -74
  439. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/icons.css +363 -363
  440. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/mainui.css +162 -162
  441. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/menu.css +232 -232
  442. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/panel.css +212 -212
  443. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/presets.css +50 -50
  444. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/reset.css +85 -84
  445. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/richcombo.css +302 -302
  446. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/skin.js +70 -70
  447. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/templates.css +87 -87
  448. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/toolbar.css +465 -465
  449. data/vendor/assets/ckeditor/ckeditor/_source/themes/default/theme.js +407 -395
  450. data/vendor/assets/ckeditor/ckeditor/adapters/jquery.js +6 -6
  451. data/vendor/assets/ckeditor/ckeditor/ckeditor.asp +955 -955
  452. data/vendor/assets/ckeditor/ckeditor/ckeditor.js +134 -130
  453. data/vendor/assets/ckeditor/ckeditor/ckeditor.pack +211 -211
  454. data/vendor/assets/ckeditor/ckeditor/ckeditor.php +29 -29
  455. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic.js +8 -8
  456. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic_source.js +20 -20
  457. data/vendor/assets/ckeditor/ckeditor/ckeditor_php4.php +566 -566
  458. data/vendor/assets/ckeditor/ckeditor/ckeditor_php5.php +556 -556
  459. data/vendor/assets/ckeditor/ckeditor/ckeditor_source.js +14 -4
  460. data/vendor/assets/ckeditor/ckeditor/config.js +11 -11
  461. data/vendor/assets/ckeditor/ckeditor/contents.css +25 -25
  462. data/vendor/assets/ckeditor/ckeditor/lang/_languages.js +1 -1
  463. data/vendor/assets/ckeditor/ckeditor/lang/_translationstatus.txt +61 -59
  464. data/vendor/assets/ckeditor/ckeditor/lang/af.js +2 -2
  465. data/vendor/assets/ckeditor/ckeditor/lang/ar.js +2 -2
  466. data/vendor/assets/ckeditor/ckeditor/lang/bg.js +2 -2
  467. data/vendor/assets/ckeditor/ckeditor/lang/bn.js +2 -2
  468. data/vendor/assets/ckeditor/ckeditor/lang/bs.js +2 -2
  469. data/vendor/assets/ckeditor/ckeditor/lang/ca.js +2 -2
  470. data/vendor/assets/ckeditor/ckeditor/lang/cs.js +2 -2
  471. data/vendor/assets/ckeditor/ckeditor/lang/cy.js +2 -2
  472. data/vendor/assets/ckeditor/ckeditor/lang/da.js +2 -2
  473. data/vendor/assets/ckeditor/ckeditor/lang/de.js +2 -2
  474. data/vendor/assets/ckeditor/ckeditor/lang/el.js +2 -2
  475. data/vendor/assets/ckeditor/ckeditor/lang/en-au.js +2 -2
  476. data/vendor/assets/ckeditor/ckeditor/lang/en-ca.js +2 -2
  477. data/vendor/assets/ckeditor/ckeditor/lang/en-gb.js +2 -2
  478. data/vendor/assets/ckeditor/ckeditor/lang/en.js +2 -2
  479. data/vendor/assets/ckeditor/ckeditor/lang/eo.js +2 -2
  480. data/vendor/assets/ckeditor/ckeditor/lang/es.js +2 -2
  481. data/vendor/assets/ckeditor/ckeditor/lang/et.js +2 -2
  482. data/vendor/assets/ckeditor/ckeditor/lang/eu.js +2 -2
  483. data/vendor/assets/ckeditor/ckeditor/lang/fa.js +2 -2
  484. data/vendor/assets/ckeditor/ckeditor/lang/fi.js +2 -2
  485. data/vendor/assets/ckeditor/ckeditor/lang/fo.js +2 -2
  486. data/vendor/assets/ckeditor/ckeditor/lang/fr-ca.js +2 -2
  487. data/vendor/assets/ckeditor/ckeditor/lang/fr.js +2 -2
  488. data/vendor/assets/ckeditor/ckeditor/lang/gl.js +2 -2
  489. data/vendor/assets/ckeditor/ckeditor/lang/gu.js +2 -2
  490. data/vendor/assets/ckeditor/ckeditor/lang/he.js +2 -2
  491. data/vendor/assets/ckeditor/ckeditor/lang/hi.js +2 -2
  492. data/vendor/assets/ckeditor/ckeditor/lang/hr.js +2 -2
  493. data/vendor/assets/ckeditor/ckeditor/lang/hu.js +2 -2
  494. data/vendor/assets/ckeditor/ckeditor/lang/is.js +2 -2
  495. data/vendor/assets/ckeditor/ckeditor/lang/it.js +2 -2
  496. data/vendor/assets/ckeditor/ckeditor/lang/ja.js +2 -2
  497. data/vendor/assets/ckeditor/ckeditor/lang/ka.js +2 -2
  498. data/vendor/assets/ckeditor/ckeditor/lang/km.js +2 -2
  499. data/vendor/assets/ckeditor/ckeditor/lang/ko.js +2 -2
  500. data/vendor/assets/ckeditor/ckeditor/lang/lt.js +2 -2
  501. data/vendor/assets/ckeditor/ckeditor/lang/lv.js +2 -2
  502. data/vendor/assets/ckeditor/ckeditor/lang/mk.js +6 -0
  503. data/vendor/assets/ckeditor/ckeditor/lang/mn.js +2 -2
  504. data/vendor/assets/ckeditor/ckeditor/lang/ms.js +2 -2
  505. data/vendor/assets/ckeditor/ckeditor/lang/nb.js +2 -2
  506. data/vendor/assets/ckeditor/ckeditor/lang/nl.js +2 -2
  507. data/vendor/assets/ckeditor/ckeditor/lang/no.js +2 -2
  508. data/vendor/assets/ckeditor/ckeditor/lang/pl.js +2 -2
  509. data/vendor/assets/ckeditor/ckeditor/lang/pt-br.js +2 -2
  510. data/vendor/assets/ckeditor/ckeditor/lang/pt.js +2 -2
  511. data/vendor/assets/ckeditor/ckeditor/lang/ro.js +2 -2
  512. data/vendor/assets/ckeditor/ckeditor/lang/ru.js +2 -2
  513. data/vendor/assets/ckeditor/ckeditor/lang/sk.js +2 -2
  514. data/vendor/assets/ckeditor/ckeditor/lang/sl.js +2 -2
  515. data/vendor/assets/ckeditor/ckeditor/lang/sr-latn.js +2 -2
  516. data/vendor/assets/ckeditor/ckeditor/lang/sr.js +2 -2
  517. data/vendor/assets/ckeditor/ckeditor/lang/sv.js +2 -2
  518. data/vendor/assets/ckeditor/ckeditor/lang/th.js +2 -2
  519. data/vendor/assets/ckeditor/ckeditor/lang/tr.js +2 -2
  520. data/vendor/assets/ckeditor/ckeditor/lang/ug.js +6 -0
  521. data/vendor/assets/ckeditor/ckeditor/lang/uk.js +2 -2
  522. data/vendor/assets/ckeditor/ckeditor/lang/vi.js +2 -2
  523. data/vendor/assets/ckeditor/ckeditor/lang/zh-cn.js +2 -2
  524. data/vendor/assets/ckeditor/ckeditor/lang/zh.js +2 -2
  525. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -1
  526. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt +23 -0
  527. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/cs.js +6 -0
  528. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/cy.js +6 -0
  529. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/da.js +6 -0
  530. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/de.js +6 -0
  531. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/el.js +6 -0
  532. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/en.js +2 -2
  533. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/eo.js +6 -0
  534. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/fa.js +6 -0
  535. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/fi.js +6 -0
  536. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/fr.js +6 -0
  537. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/gu.js +6 -0
  538. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/he.js +2 -2
  539. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/it.js +6 -0
  540. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/mk.js +6 -0
  541. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/nb.js +6 -0
  542. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/nl.js +6 -0
  543. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/no.js +6 -0
  544. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/tr.js +6 -0
  545. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/ug.js +6 -0
  546. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/vi.js +6 -0
  547. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/zh-cn.js +6 -0
  548. data/vendor/assets/ckeditor/ckeditor/plugins/about/dialogs/about.js +1 -1
  549. data/vendor/assets/ckeditor/ckeditor/plugins/adobeair/plugin.js +1 -1
  550. data/vendor/assets/ckeditor/ckeditor/plugins/ajax/plugin.js +1 -1
  551. data/vendor/assets/ckeditor/ckeditor/plugins/autogrow/plugin.js +2 -2
  552. data/vendor/assets/ckeditor/ckeditor/plugins/bbcode/plugin.js +1 -1
  553. data/vendor/assets/ckeditor/ckeditor/plugins/clipboard/dialogs/paste.js +2 -2
  554. data/vendor/assets/ckeditor/ckeditor/plugins/colordialog/dialogs/colordialog.js +3 -3
  555. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/_translationstatus.txt +27 -0
  556. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/bg.js +6 -0
  557. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/cs.js +6 -0
  558. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/cy.js +6 -0
  559. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/da.js +6 -0
  560. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/de.js +6 -0
  561. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/el.js +6 -0
  562. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/en.js +1 -1
  563. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/eo.js +6 -0
  564. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/et.js +6 -0
  565. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/fa.js +6 -0
  566. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/fi.js +6 -0
  567. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/fr.js +6 -0
  568. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/gu.js +6 -0
  569. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/he.js +6 -0
  570. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/hr.js +6 -0
  571. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/it.js +6 -0
  572. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/nb.js +6 -0
  573. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/nl.js +6 -0
  574. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/no.js +6 -0
  575. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/pl.js +6 -0
  576. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/tr.js +6 -0
  577. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/ug.js +6 -0
  578. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/uk.js +6 -0
  579. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/vi.js +6 -0
  580. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/zh-cn.js +6 -0
  581. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/plugin.js +2 -2
  582. data/vendor/assets/ckeditor/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  583. data/vendor/assets/ckeditor/ckeditor/plugins/div/dialogs/div.js +1 -1
  584. data/vendor/assets/ckeditor/ckeditor/plugins/docprops/dialogs/docprops.js +3 -3
  585. data/vendor/assets/ckeditor/ckeditor/plugins/docprops/plugin.js +1 -1
  586. data/vendor/assets/ckeditor/ckeditor/plugins/find/dialogs/find.js +6 -6
  587. data/vendor/assets/ckeditor/ckeditor/plugins/flash/dialogs/flash.js +2 -2
  588. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/button.js +1 -1
  589. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/checkbox.js +1 -1
  590. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/form.js +1 -1
  591. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/hiddenfield.js +1 -1
  592. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/radio.js +1 -1
  593. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/select.js +1 -1
  594. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/textarea.js +2 -2
  595. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/textfield.js +1 -1
  596. data/vendor/assets/ckeditor/ckeditor/plugins/iframe/dialogs/iframe.js +1 -1
  597. data/vendor/assets/ckeditor/ckeditor/plugins/iframedialog/plugin.js +1 -1
  598. data/vendor/assets/ckeditor/ckeditor/plugins/image/dialogs/image.js +9 -9
  599. data/vendor/assets/ckeditor/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  600. data/vendor/assets/ckeditor/ckeditor/plugins/link/dialogs/link.js +6 -6
  601. data/vendor/assets/ckeditor/ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -1
  602. data/vendor/assets/ckeditor/ckeditor/plugins/pastefromword/filter/default.js +1 -1
  603. data/vendor/assets/ckeditor/ckeditor/plugins/pastetext/dialogs/pastetext.js +1 -1
  604. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/dialogs/placeholder.js +1 -1
  605. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/_translationstatus.txt +26 -0
  606. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/bg.js +6 -0
  607. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/cs.js +6 -0
  608. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/cy.js +6 -0
  609. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/da.js +6 -0
  610. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/de.js +6 -0
  611. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/el.js +6 -0
  612. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/en.js +1 -1
  613. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/eo.js +6 -0
  614. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/et.js +6 -0
  615. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/fa.js +6 -0
  616. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/fi.js +6 -0
  617. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/fr.js +6 -0
  618. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/he.js +1 -1
  619. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/hr.js +6 -0
  620. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/it.js +6 -0
  621. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/nb.js +6 -0
  622. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/nl.js +6 -0
  623. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/no.js +6 -0
  624. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/pl.js +6 -0
  625. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/tr.js +6 -0
  626. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/ug.js +6 -0
  627. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/uk.js +6 -0
  628. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/vi.js +6 -0
  629. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/zh-cn.js +6 -0
  630. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/plugin.js +2 -2
  631. data/vendor/assets/ckeditor/ckeditor/plugins/scayt/dialogs/options.js +1 -1
  632. data/vendor/assets/ckeditor/ckeditor/plugins/scayt/dialogs/toolbar.css +1 -1
  633. data/vendor/assets/ckeditor/ckeditor/plugins/smiley/dialogs/smiley.js +1 -1
  634. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/dialogs/specialchar.js +2 -2
  635. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/_translationstatus.txt +19 -0
  636. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/cs.js +6 -0
  637. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/cy.js +6 -0
  638. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/de.js +6 -0
  639. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/en.js +2 -2
  640. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/eo.js +6 -0
  641. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/et.js +6 -0
  642. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/fa.js +6 -0
  643. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/fi.js +6 -0
  644. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/fr.js +6 -0
  645. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/hr.js +6 -0
  646. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/it.js +6 -0
  647. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/nb.js +6 -0
  648. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/nl.js +6 -0
  649. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/no.js +6 -0
  650. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/tr.js +6 -0
  651. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/ug.js +6 -0
  652. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/zh-cn.js +6 -0
  653. data/vendor/assets/ckeditor/ckeditor/plugins/styles/styles/default.js +1 -1
  654. data/vendor/assets/ckeditor/ckeditor/plugins/stylesheetparser/plugin.js +1 -1
  655. data/vendor/assets/ckeditor/ckeditor/plugins/table/dialogs/table.js +5 -5
  656. data/vendor/assets/ckeditor/ckeditor/plugins/tableresize/plugin.js +1 -1
  657. data/vendor/assets/ckeditor/ckeditor/plugins/tabletools/dialogs/tableCell.js +3 -3
  658. data/vendor/assets/ckeditor/ckeditor/plugins/templates/dialogs/templates.js +1 -1
  659. data/vendor/assets/ckeditor/ckeditor/plugins/templates/templates/default.js +1 -1
  660. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/dialogs/uicolor.js +1 -1
  661. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/_translationstatus.txt +27 -0
  662. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/bg.js +6 -0
  663. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/cs.js +6 -0
  664. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/cy.js +6 -0
  665. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/da.js +6 -0
  666. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/de.js +6 -0
  667. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/el.js +6 -0
  668. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/en.js +1 -1
  669. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/eo.js +6 -0
  670. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/et.js +6 -0
  671. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/fa.js +6 -0
  672. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/fi.js +6 -0
  673. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/fr.js +6 -0
  674. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/he.js +1 -1
  675. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/hr.js +6 -0
  676. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/it.js +6 -0
  677. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/mk.js +6 -0
  678. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/nb.js +6 -0
  679. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/nl.js +6 -0
  680. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/no.js +6 -0
  681. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/pl.js +6 -0
  682. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/tr.js +6 -0
  683. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/ug.js +6 -0
  684. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/uk.js +6 -0
  685. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/vi.js +6 -0
  686. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/zh-cn.js +6 -0
  687. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/plugin.js +2 -2
  688. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/yui/assets/yui.css +1 -1
  689. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/yui/yui.js +1 -1
  690. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/ciframe.html +1 -1
  691. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +1 -1
  692. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/wsc.css +1 -1
  693. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/wsc.js +2 -2
  694. data/vendor/assets/ckeditor/ckeditor/plugins/xml/plugin.js +1 -1
  695. data/vendor/assets/ckeditor/ckeditor/skins/kama/dialog.css +2 -2
  696. data/vendor/assets/ckeditor/ckeditor/skins/kama/editor.css +4 -4
  697. data/vendor/assets/ckeditor/ckeditor/skins/kama/skin.js +1 -1
  698. data/vendor/assets/ckeditor/ckeditor/skins/kama/templates.css +1 -1
  699. data/vendor/assets/ckeditor/ckeditor/skins/office2003/dialog.css +2 -2
  700. data/vendor/assets/ckeditor/ckeditor/skins/office2003/editor.css +2 -2
  701. data/vendor/assets/ckeditor/ckeditor/skins/office2003/skin.js +1 -1
  702. data/vendor/assets/ckeditor/ckeditor/skins/office2003/templates.css +1 -1
  703. data/vendor/assets/ckeditor/ckeditor/skins/v2/dialog.css +2 -2
  704. data/vendor/assets/ckeditor/ckeditor/skins/v2/editor.css +2 -2
  705. data/vendor/assets/ckeditor/ckeditor/skins/v2/skin.js +1 -1
  706. data/vendor/assets/ckeditor/ckeditor/skins/v2/templates.css +1 -1
  707. data/vendor/assets/ckeditor/ckeditor/themes/default/theme.js +8 -8
  708. metadata +225 -3
@@ -1,48 +1,48 @@
1
- /*
2
- Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- /**
7
- * @file Horizontal Rule plugin.
8
- */
9
-
10
- (function()
11
- {
12
- var horizontalruleCmd =
13
- {
14
- canUndo : false, // The undo snapshot will be handled by 'insertElement'.
15
- exec : function( editor )
16
- {
17
- var hr = editor.document.createElement( 'hr' ),
18
- range = new CKEDITOR.dom.range( editor.document );
19
-
20
- editor.insertElement( hr );
21
-
22
- // If there's nothing or a non-editable block followed by, establish a new paragraph
23
- // to make sure cursor is not trapped.
24
- range.moveToPosition( hr, CKEDITOR.POSITION_AFTER_END );
25
- var next = hr.getNext();
26
- if ( !next || next.type == CKEDITOR.NODE_ELEMENT && !next.isEditable() )
27
- range.fixBlock( true, editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' );
28
-
29
- range.select();
30
- }
31
- };
32
-
33
- var pluginName = 'horizontalrule';
34
-
35
- // Register a plugin named "horizontalrule".
36
- CKEDITOR.plugins.add( pluginName,
37
- {
38
- init : function( editor )
39
- {
40
- editor.addCommand( pluginName, horizontalruleCmd );
41
- editor.ui.addButton( 'HorizontalRule',
42
- {
43
- label : editor.lang.horizontalrule,
44
- command : pluginName
45
- });
46
- }
47
- });
48
- })();
1
+ /*
2
+ Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @file Horizontal Rule plugin.
8
+ */
9
+
10
+ (function()
11
+ {
12
+ var horizontalruleCmd =
13
+ {
14
+ canUndo : false, // The undo snapshot will be handled by 'insertElement'.
15
+ exec : function( editor )
16
+ {
17
+ var hr = editor.document.createElement( 'hr' ),
18
+ range = new CKEDITOR.dom.range( editor.document );
19
+
20
+ editor.insertElement( hr );
21
+
22
+ // If there's nothing or a non-editable block followed by, establish a new paragraph
23
+ // to make sure cursor is not trapped.
24
+ range.moveToPosition( hr, CKEDITOR.POSITION_AFTER_END );
25
+ var next = hr.getNext();
26
+ if ( !next || next.type == CKEDITOR.NODE_ELEMENT && !next.isEditable() )
27
+ range.fixBlock( true, editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' );
28
+
29
+ range.select();
30
+ }
31
+ };
32
+
33
+ var pluginName = 'horizontalrule';
34
+
35
+ // Register a plugin named "horizontalrule".
36
+ CKEDITOR.plugins.add( pluginName,
37
+ {
38
+ init : function( editor )
39
+ {
40
+ editor.addCommand( pluginName, horizontalruleCmd );
41
+ editor.ui.addButton( 'HorizontalRule',
42
+ {
43
+ label : editor.lang.horizontalrule,
44
+ command : pluginName
45
+ });
46
+ }
47
+ });
48
+ })();
@@ -1,595 +1,600 @@
1
- /*
2
- Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- (function()
7
- {
8
- // Regex to scan for   at the end of blocks, which are actually placeholders.
9
- // Safari transforms the   to \xa0. (#4172)
10
- var tailNbspRegex = /^[\t\r\n ]*(?: |\xa0)$/;
11
-
12
- var protectedSourceMarker = '{cke_protected}';
13
-
14
- // Return the last non-space child node of the block (#4344).
15
- function lastNoneSpaceChild( block )
16
- {
17
- var lastIndex = block.children.length,
18
- last = block.children[ lastIndex - 1 ];
19
- while ( last && last.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.trim( last.value ) )
20
- last = block.children[ --lastIndex ];
21
- return last;
22
- }
23
-
24
- function trimFillers( block, fromSource )
25
- {
26
- // If the current node is a block, and if we're converting from source or
27
- // we're not in IE then search for and remove any tailing BR node.
28
- //
29
- // Also, any   at the end of blocks are fillers, remove them as well.
30
- // (#2886)
31
- var children = block.children, lastChild = lastNoneSpaceChild( block );
32
- if ( lastChild )
33
- {
34
- if ( ( fromSource || !CKEDITOR.env.ie ) && lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.name == 'br' )
35
- children.pop();
36
- if ( lastChild.type == CKEDITOR.NODE_TEXT && tailNbspRegex.test( lastChild.value ) )
37
- children.pop();
38
- }
39
- }
40
-
41
- function blockNeedsExtension( block, fromSource, extendEmptyBlock )
42
- {
43
- if( !fromSource && ( !extendEmptyBlock ||
44
- typeof extendEmptyBlock == 'function' && ( extendEmptyBlock( block ) === false ) ) )
45
- return false;
46
-
47
- // 1. For IE version >=8, empty blocks are displayed correctly themself in wysiwiyg;
48
- // 2. For the rest, at least table cell and list item need no filler space.
49
- // (#6248)
50
- if ( fromSource && CKEDITOR.env.ie &&
51
- ( document.documentMode > 7
52
- || block.name in CKEDITOR.dtd.tr
53
- || block.name in CKEDITOR.dtd.$listItem ) )
54
- return false;
55
-
56
- var lastChild = lastNoneSpaceChild( block );
57
-
58
- return !lastChild || lastChild &&
59
- ( lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.name == 'br'
60
- // Some of the controls in form needs extension too,
61
- // to move cursor at the end of the form. (#4791)
62
- || block.name == 'form' && lastChild.name == 'input' );
63
- }
64
-
65
- function getBlockExtension( isOutput, emptyBlockFiller )
66
- {
67
- return function( node )
68
- {
69
- trimFillers( node, !isOutput );
70
-
71
- if ( blockNeedsExtension( node, !isOutput, emptyBlockFiller ) )
72
- {
73
- if ( isOutput || CKEDITOR.env.ie )
74
- node.add( new CKEDITOR.htmlParser.text( '\xa0' ) );
75
- else
76
- node.add( new CKEDITOR.htmlParser.element( 'br', {} ) );
77
- }
78
- };
79
- }
80
-
81
- var dtd = CKEDITOR.dtd;
82
-
83
- // Define orders of table elements.
84
- var tableOrder = [ 'caption', 'colgroup', 'col', 'thead', 'tfoot', 'tbody' ];
85
-
86
- // Find out the list of block-like tags that can contain <br>.
87
- var blockLikeTags = CKEDITOR.tools.extend( {}, dtd.$block, dtd.$listItem, dtd.$tableContent );
88
- for ( var i in blockLikeTags )
89
- {
90
- if ( ! ( 'br' in dtd[i] ) )
91
- delete blockLikeTags[i];
92
- }
93
- // We just avoid filler in <pre> right now.
94
- // TODO: Support filler for <pre>, line break is also occupy line height.
95
- delete blockLikeTags.pre;
96
- var defaultDataFilterRules =
97
- {
98
- elements : {},
99
- attributeNames :
100
- [
101
- // Event attributes (onXYZ) must not be directly set. They can become
102
- // active in the editing area (IE|WebKit).
103
- [ ( /^on/ ), 'data-cke-pa-on' ]
104
- ]
105
- };
106
-
107
- var defaultDataBlockFilterRules = { elements : {} };
108
-
109
- for ( i in blockLikeTags )
110
- defaultDataBlockFilterRules.elements[ i ] = getBlockExtension();
111
-
112
- var defaultHtmlFilterRules =
113
- {
114
- elementNames :
115
- [
116
- // Remove the "cke:" namespace prefix.
117
- [ ( /^cke:/ ), '' ],
118
-
119
- // Ignore <?xml:namespace> tags.
120
- [ ( /^\?xml:namespace$/ ), '' ]
121
- ],
122
-
123
- attributeNames :
124
- [
125
- // Attributes saved for changes and protected attributes.
126
- [ ( /^data-cke-(saved|pa)-/ ), '' ],
127
-
128
- // All "data-cke-" attributes are to be ignored.
129
- [ ( /^data-cke-.*/ ), '' ],
130
-
131
- [ 'hidefocus', '' ]
132
- ],
133
-
134
- elements :
135
- {
136
- $ : function( element )
137
- {
138
- var attribs = element.attributes;
139
-
140
- if ( attribs )
141
- {
142
- // Elements marked as temporary are to be ignored.
143
- if ( attribs[ 'data-cke-temp' ] )
144
- return false;
145
-
146
- // Remove duplicated attributes - #3789.
147
- var attributeNames = [ 'name', 'href', 'src' ],
148
- savedAttributeName;
149
- for ( var i = 0 ; i < attributeNames.length ; i++ )
150
- {
151
- savedAttributeName = 'data-cke-saved-' + attributeNames[ i ];
152
- savedAttributeName in attribs && ( delete attribs[ attributeNames[ i ] ] );
153
- }
154
- }
155
-
156
- return element;
157
- },
158
-
159
- // The contents of table should be in correct order (#4809).
160
- table : function( element )
161
- {
162
- var children = element.children;
163
- children.sort( function ( node1, node2 )
164
- {
165
- return node1.type == CKEDITOR.NODE_ELEMENT && node2.type == node1.type ?
166
- CKEDITOR.tools.indexOf( tableOrder, node1.name ) > CKEDITOR.tools.indexOf( tableOrder, node2.name ) ? 1 : -1 : 0;
167
- } );
168
- },
169
-
170
- embed : function( element )
171
- {
172
- var parent = element.parent;
173
-
174
- // If the <embed> is child of a <object>, copy the width
175
- // and height attributes from it.
176
- if ( parent && parent.name == 'object' )
177
- {
178
- var parentWidth = parent.attributes.width,
179
- parentHeight = parent.attributes.height;
180
- parentWidth && ( element.attributes.width = parentWidth );
181
- parentHeight && ( element.attributes.height = parentHeight );
182
- }
183
- },
184
- // Restore param elements into self-closing.
185
- param : function( param )
186
- {
187
- param.children = [];
188
- param.isEmpty = true;
189
- return param;
190
- },
191
-
192
- // Remove empty link but not empty anchor.(#3829)
193
- a : function( element )
194
- {
195
- if ( !( element.children.length ||
196
- element.attributes.name ||
197
- element.attributes[ 'data-cke-saved-name' ] ) )
198
- {
199
- return false;
200
- }
201
- },
202
-
203
- // Remove dummy span in webkit.
204
- span: function( element )
205
- {
206
- if ( element.attributes[ 'class' ] == 'Apple-style-span' )
207
- delete element.name;
208
- },
209
-
210
- // Empty <pre> in IE is reported with filler node (&nbsp;).
211
- pre : function( element ) { CKEDITOR.env.ie && trimFillers( element ); },
212
-
213
- html : function( element )
214
- {
215
- delete element.attributes.contenteditable;
216
- delete element.attributes[ 'class' ];
217
- },
218
-
219
- body : function( element )
220
- {
221
- delete element.attributes.spellcheck;
222
- delete element.attributes.contenteditable;
223
- },
224
-
225
- style : function( element )
226
- {
227
- var child = element.children[ 0 ];
228
- child && child.value && ( child.value = CKEDITOR.tools.trim( child.value ));
229
-
230
- if ( !element.attributes.type )
231
- element.attributes.type = 'text/css';
232
- },
233
-
234
- title : function( element )
235
- {
236
- var titleText = element.children[ 0 ];
237
- titleText && ( titleText.value = element.attributes[ 'data-cke-title' ] || '' );
238
- }
239
- },
240
-
241
- attributes :
242
- {
243
- 'class' : function( value, element )
244
- {
245
- // Remove all class names starting with "cke_".
246
- return CKEDITOR.tools.ltrim( value.replace( /(?:^|\s+)cke_[^\s]*/g, '' ) ) || false;
247
- }
248
- }
249
- };
250
-
251
- if ( CKEDITOR.env.ie )
252
- {
253
- // IE outputs style attribute in capital letters. We should convert
254
- // them back to lower case, while not hurting the values (#5930)
255
- defaultHtmlFilterRules.attributes.style = function( value, element )
256
- {
257
- return value.replace( /(^|;)([^\:]+)/g, function( match )
258
- {
259
- return match.toLowerCase();
260
- });
261
- };
262
- }
263
-
264
- function protectReadOnly( element )
265
- {
266
- var attrs = element.attributes;
267
-
268
- // We should flag that the element was locked by our code so
269
- // it'll be editable by the editor functions (#6046).
270
- if ( attrs.contenteditable != "false" )
271
- attrs[ 'data-cke-editable' ] = attrs.contenteditable ? 'true' : 1;
272
-
273
- attrs.contenteditable = "false";
274
- }
275
- function unprotectReadyOnly( element )
276
- {
277
- var attrs = element.attributes;
278
- switch( attrs[ 'data-cke-editable' ] )
279
- {
280
- case 'true': attrs.contenteditable = 'true'; break;
281
- case '1': delete attrs.contenteditable; break;
282
- }
283
- }
284
- // Disable form elements editing mode provided by some browers. (#5746)
285
- for ( i in { input : 1, textarea : 1 } )
286
- {
287
- defaultDataFilterRules.elements[ i ] = protectReadOnly;
288
- defaultHtmlFilterRules.elements[ i ] = unprotectReadyOnly;
289
- }
290
-
291
- var protectElementRegex = /<(a|area|img|input)\b([^>]*)>/gi,
292
- protectAttributeRegex = /\b(href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi;
293
-
294
- var protectElementsRegex = /(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,
295
- encodedElementsRegex = /<cke:encoded>([^<]*)<\/cke:encoded>/gi;
296
-
297
- var protectElementNamesRegex = /(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,
298
- unprotectElementNamesRegex = /(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi;
299
-
300
- var protectSelfClosingRegex = /<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi;
301
-
302
- function protectAttributes( html )
303
- {
304
- return html.replace( protectElementRegex, function( element, tag, attributes )
305
- {
306
- return '<' + tag + attributes.replace( protectAttributeRegex, function( fullAttr, attrName )
307
- {
308
- // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218)
309
- if ( attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 )
310
- return ' data-cke-saved-' + fullAttr + ' ' + fullAttr;
311
-
312
- return fullAttr;
313
- }) + '>';
314
- });
315
- }
316
-
317
- function protectElements( html )
318
- {
319
- return html.replace( protectElementsRegex, function( match )
320
- {
321
- return '<cke:encoded>' + encodeURIComponent( match ) + '</cke:encoded>';
322
- });
323
- }
324
-
325
- function unprotectElements( html )
326
- {
327
- return html.replace( encodedElementsRegex, function( match, encoded )
328
- {
329
- return decodeURIComponent( encoded );
330
- });
331
- }
332
-
333
- function protectElementsNames( html )
334
- {
335
- return html.replace( protectElementNamesRegex, '$1cke:$2');
336
- }
337
-
338
- function unprotectElementNames( html )
339
- {
340
- return html.replace( unprotectElementNamesRegex, '$1$2' );
341
- }
342
-
343
- function protectSelfClosingElements( html )
344
- {
345
- return html.replace( protectSelfClosingRegex, '<cke:$1$2></cke:$1>' );
346
- }
347
-
348
- function protectPreFormatted( html )
349
- {
350
- return html.replace( /(<pre\b[^>]*>)(\r\n|\n)/g, '$1$2$2' );
351
- }
352
-
353
- function protectRealComments( html )
354
- {
355
- return html.replace( /<!--(?!{cke_protected})[\s\S]+?-->/g, function( match )
356
- {
357
- return '<!--' + protectedSourceMarker +
358
- '{C}' +
359
- encodeURIComponent( match ).replace( /--/g, '%2D%2D' ) +
360
- '-->';
361
- });
362
- }
363
-
364
- function unprotectRealComments( html )
365
- {
366
- return html.replace( /<!--\{cke_protected\}\{C\}([\s\S]+?)-->/g, function( match, data )
367
- {
368
- return decodeURIComponent( data );
369
- });
370
- }
371
-
372
- function unprotectSource( html, editor )
373
- {
374
- var store = editor._.dataStore;
375
-
376
- return html.replace( /<!--\{cke_protected\}([\s\S]+?)-->/g, function( match, data )
377
- {
378
- return decodeURIComponent( data );
379
- }).replace( /\{cke_protected_(\d+)\}/g, function( match, id )
380
- {
381
- return store && store[ id ] || '';
382
- });
383
- }
384
-
385
- function protectSource( data, editor )
386
- {
387
- var protectedHtml = [],
388
- protectRegexes = editor.config.protectedSource,
389
- store = editor._.dataStore || ( editor._.dataStore = { id : 1 } ),
390
- tempRegex = /<\!--\{cke_temp(comment)?\}(\d*?)-->/g;
391
-
392
- var regexes =
393
- [
394
- // Script tags will also be forced to be protected, otherwise
395
- // IE will execute them.
396
- ( /<script[\s\S]*?<\/script>/gi ),
397
-
398
- // <noscript> tags (get lost in IE and messed up in FF).
399
- /<noscript[\s\S]*?<\/noscript>/gi
400
- ]
401
- .concat( protectRegexes );
402
-
403
- // First of any other protection, we must protect all comments
404
- // to avoid loosing them (of course, IE related).
405
- // Note that we use a different tag for comments, as we need to
406
- // transform them when applying filters.
407
- data = data.replace( (/<!--[\s\S]*?-->/g), function( match )
408
- {
409
- return '<!--{cke_tempcomment}' + ( protectedHtml.push( match ) - 1 ) + '-->';
410
- });
411
-
412
- for ( var i = 0 ; i < regexes.length ; i++ )
413
- {
414
- data = data.replace( regexes[i], function( match )
415
- {
416
- match = match.replace( tempRegex, // There could be protected source inside another one. (#3869).
417
- function( $, isComment, id )
418
- {
419
- return protectedHtml[ id ];
420
- }
421
- );
422
-
423
- // Avoid protecting over protected, e.g. /\{.*?\}/
424
- return ( /cke_temp(comment)?/ ).test( match ) ? match
425
- : '<!--{cke_temp}' + ( protectedHtml.push( match ) - 1 ) + '-->';
426
- });
427
- }
428
- data = data.replace( tempRegex, function( $, isComment, id )
429
- {
430
- return '<!--' + protectedSourceMarker +
431
- ( isComment ? '{C}' : '' ) +
432
- encodeURIComponent( protectedHtml[ id ] ).replace( /--/g, '%2D%2D' ) +
433
- '-->';
434
- }
435
- );
436
-
437
- // Different protection pattern is used for those that
438
- // live in attributes to avoid from being HTML encoded.
439
- return data.replace( /(['"]).*?\1/g, function ( match )
440
- {
441
- return match.replace( /<!--\{cke_protected\}([\s\S]+?)-->/g, function( match, data )
442
- {
443
- store[ store.id ] = decodeURIComponent( data );
444
- return '{cke_protected_'+ ( store.id++ ) + '}';
445
- });
446
- });
447
- }
448
-
449
- CKEDITOR.plugins.add( 'htmldataprocessor',
450
- {
451
- requires : [ 'htmlwriter' ],
452
-
453
- init : function( editor )
454
- {
455
- var dataProcessor = editor.dataProcessor = new CKEDITOR.htmlDataProcessor( editor );
456
-
457
- dataProcessor.writer.forceSimpleAmpersand = editor.config.forceSimpleAmpersand;
458
-
459
- dataProcessor.dataFilter.addRules( defaultDataFilterRules );
460
- dataProcessor.dataFilter.addRules( defaultDataBlockFilterRules );
461
- dataProcessor.htmlFilter.addRules( defaultHtmlFilterRules );
462
-
463
- var defaultHtmlBlockFilterRules = { elements : {} };
464
- for ( i in blockLikeTags )
465
- defaultHtmlBlockFilterRules.elements[ i ] = getBlockExtension( true, editor.config.fillEmptyBlocks );
466
-
467
- dataProcessor.htmlFilter.addRules( defaultHtmlBlockFilterRules );
468
- },
469
-
470
- onLoad : function()
471
- {
472
- ! ( 'fillEmptyBlocks' in CKEDITOR.config ) && ( CKEDITOR.config.fillEmptyBlocks = 1 );
473
- }
474
- });
475
-
476
- CKEDITOR.htmlDataProcessor = function( editor )
477
- {
478
- this.editor = editor;
479
-
480
- this.writer = new CKEDITOR.htmlWriter();
481
- this.dataFilter = new CKEDITOR.htmlParser.filter();
482
- this.htmlFilter = new CKEDITOR.htmlParser.filter();
483
- };
484
-
485
- CKEDITOR.htmlDataProcessor.prototype =
486
- {
487
- toHtml : function( data, fixForBody )
488
- {
489
- // The source data is already HTML, but we need to clean
490
- // it up and apply the filter.
491
-
492
- data = protectSource( data, this.editor );
493
-
494
- // Before anything, we must protect the URL attributes as the
495
- // browser may changing them when setting the innerHTML later in
496
- // the code.
497
- data = protectAttributes( data );
498
-
499
- // Protect elements than can't be set inside a DIV. E.g. IE removes
500
- // style tags from innerHTML. (#3710)
501
- data = protectElements( data );
502
-
503
- // Certain elements has problem to go through DOM operation, protect
504
- // them by prefixing 'cke' namespace. (#3591)
505
- data = protectElementsNames( data );
506
-
507
- // All none-IE browsers ignore self-closed custom elements,
508
- // protecting them into open-close. (#3591)
509
- data = protectSelfClosingElements( data );
510
-
511
- // Compensate one leading line break after <pre> open as browsers
512
- // eat it up. (#5789)
513
- data = protectPreFormatted( data );
514
-
515
- // Call the browser to help us fixing a possibly invalid HTML
516
- // structure.
517
- var div = new CKEDITOR.dom.element( 'div' );
518
- // Add fake character to workaround IE comments bug. (#3801)
519
- div.setHtml( 'a' + data );
520
- data = div.getHtml().substr( 1 );
521
-
522
- // Unprotect "some" of the protected elements at this point.
523
- data = unprotectElementNames( data );
524
-
525
- data = unprotectElements( data );
526
-
527
- // Restore the comments that have been protected, in this way they
528
- // can be properly filtered.
529
- data = unprotectRealComments( data );
530
-
531
- // Now use our parser to make further fixes to the structure, as
532
- // well as apply the filter.
533
- var fragment = CKEDITOR.htmlParser.fragment.fromHtml( data, fixForBody ),
534
- writer = new CKEDITOR.htmlParser.basicWriter();
535
-
536
- fragment.writeHtml( writer, this.dataFilter );
537
- data = writer.getHtml( true );
538
-
539
- // Protect the real comments again.
540
- data = protectRealComments( data );
541
-
542
- return data;
543
- },
544
-
545
- toDataFormat : function( html, fixForBody )
546
- {
547
- var writer = this.writer,
548
- fragment = CKEDITOR.htmlParser.fragment.fromHtml( html, fixForBody );
549
-
550
- writer.reset();
551
-
552
- fragment.writeHtml( writer, this.htmlFilter );
553
-
554
- var data = writer.getHtml( true );
555
-
556
- // Restore those non-HTML protected source. (#4475,#4880)
557
- data = unprotectRealComments( data );
558
- data = unprotectSource( data, this.editor );
559
-
560
- return data;
561
- }
562
- };
563
- })();
564
-
565
- /**
566
- * Whether to force using "&" instead of "&amp;amp;" in elements attributes
567
- * values, it's not recommended to change this setting for compliance with the
568
- * W3C XHTML 1.0 standards (<a href="http://www.w3.org/TR/xhtml1/#C_12">C.12, XHTML 1.0</a>).
569
- * @name CKEDITOR.config.forceSimpleAmpersand
570
- * @name CKEDITOR.config.forceSimpleAmpersand
571
- * @type Boolean
572
- * @default false
573
- * @example
574
- * config.forceSimpleAmpersand = false;
575
- */
576
-
577
- /**
578
- * Whether a filler text (non-breaking space entity - &nbsp;) will be inserted into empty block elements in HTML output,
579
- * this is used to render block elements properly with line-height; When a function is instead specified,
580
- * it'll be passed a {@link CKEDITOR.htmlParser.element} to decide whether adding the filler text
581
- * by expecting a boolean return value.
582
- * @name CKEDITOR.config.fillEmptyBlocks
583
- * @since 3.5
584
- * @type Boolean
585
- * @default true
586
- * @example
587
- * config.fillEmptyBlocks = false; // Prevent filler nodes in all empty blocks.
588
- *
589
- * // Prevent filler node only in float cleaners.
590
- * config.fillEmptyBlocks = function( element )
591
- * {
592
- * if ( element.attributes[ 'class' ].indexOf ( 'clear-both' ) != -1 )
593
- * return false;
594
- * }
595
- */
1
+ /*
2
+ Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ (function()
7
+ {
8
+ // Regex to scan for &nbsp; at the end of blocks, which are actually placeholders.
9
+ // Safari transforms the &nbsp; to \xa0. (#4172)
10
+ var tailNbspRegex = /^[\t\r\n ]*(?:&nbsp;|\xa0)$/;
11
+
12
+ var protectedSourceMarker = '{cke_protected}';
13
+
14
+ // Return the last non-space child node of the block (#4344).
15
+ function lastNoneSpaceChild( block )
16
+ {
17
+ var lastIndex = block.children.length,
18
+ last = block.children[ lastIndex - 1 ];
19
+ while ( last && last.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.trim( last.value ) )
20
+ last = block.children[ --lastIndex ];
21
+ return last;
22
+ }
23
+
24
+ function trimFillers( block, fromSource )
25
+ {
26
+ // If the current node is a block, and if we're converting from source or
27
+ // we're not in IE then search for and remove any tailing BR node.
28
+ //
29
+ // Also, any &nbsp; at the end of blocks are fillers, remove them as well.
30
+ // (#2886)
31
+ var children = block.children, lastChild = lastNoneSpaceChild( block );
32
+ if ( lastChild )
33
+ {
34
+ if ( ( fromSource || !CKEDITOR.env.ie ) && lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.name == 'br' )
35
+ children.pop();
36
+ if ( lastChild.type == CKEDITOR.NODE_TEXT && tailNbspRegex.test( lastChild.value ) )
37
+ children.pop();
38
+ }
39
+ }
40
+
41
+ function blockNeedsExtension( block, fromSource, extendEmptyBlock )
42
+ {
43
+ if( !fromSource && ( !extendEmptyBlock ||
44
+ typeof extendEmptyBlock == 'function' && ( extendEmptyBlock( block ) === false ) ) )
45
+ return false;
46
+
47
+ // 1. For IE version >=8, empty blocks are displayed correctly themself in wysiwiyg;
48
+ // 2. For the rest, at least table cell and list item need no filler space.
49
+ // (#6248)
50
+ if ( fromSource && CKEDITOR.env.ie &&
51
+ ( document.documentMode > 7
52
+ || block.name in CKEDITOR.dtd.tr
53
+ || block.name in CKEDITOR.dtd.$listItem ) )
54
+ return false;
55
+
56
+ var lastChild = lastNoneSpaceChild( block );
57
+
58
+ return !lastChild || lastChild &&
59
+ ( lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.name == 'br'
60
+ // Some of the controls in form needs extension too,
61
+ // to move cursor at the end of the form. (#4791)
62
+ || block.name == 'form' && lastChild.name == 'input' );
63
+ }
64
+
65
+ function getBlockExtension( isOutput, emptyBlockFiller )
66
+ {
67
+ return function( node )
68
+ {
69
+ trimFillers( node, !isOutput );
70
+
71
+ if ( blockNeedsExtension( node, !isOutput, emptyBlockFiller ) )
72
+ {
73
+ if ( isOutput || CKEDITOR.env.ie )
74
+ node.add( new CKEDITOR.htmlParser.text( '\xa0' ) );
75
+ else
76
+ node.add( new CKEDITOR.htmlParser.element( 'br', {} ) );
77
+ }
78
+ };
79
+ }
80
+
81
+ var dtd = CKEDITOR.dtd;
82
+
83
+ // Define orders of table elements.
84
+ var tableOrder = [ 'caption', 'colgroup', 'col', 'thead', 'tfoot', 'tbody' ];
85
+
86
+ // Find out the list of block-like tags that can contain <br>.
87
+ var blockLikeTags = CKEDITOR.tools.extend( {}, dtd.$block, dtd.$listItem, dtd.$tableContent );
88
+ for ( var i in blockLikeTags )
89
+ {
90
+ if ( ! ( 'br' in dtd[i] ) )
91
+ delete blockLikeTags[i];
92
+ }
93
+ // We just avoid filler in <pre> right now.
94
+ // TODO: Support filler for <pre>, line break is also occupy line height.
95
+ delete blockLikeTags.pre;
96
+ var defaultDataFilterRules =
97
+ {
98
+ elements : {},
99
+ attributeNames :
100
+ [
101
+ // Event attributes (onXYZ) must not be directly set. They can become
102
+ // active in the editing area (IE|WebKit).
103
+ [ ( /^on/ ), 'data-cke-pa-on' ]
104
+ ]
105
+ };
106
+
107
+ var defaultDataBlockFilterRules = { elements : {} };
108
+
109
+ for ( i in blockLikeTags )
110
+ defaultDataBlockFilterRules.elements[ i ] = getBlockExtension();
111
+
112
+ var defaultHtmlFilterRules =
113
+ {
114
+ elementNames :
115
+ [
116
+ // Remove the "cke:" namespace prefix.
117
+ [ ( /^cke:/ ), '' ],
118
+
119
+ // Ignore <?xml:namespace> tags.
120
+ [ ( /^\?xml:namespace$/ ), '' ]
121
+ ],
122
+
123
+ attributeNames :
124
+ [
125
+ // Attributes saved for changes and protected attributes.
126
+ [ ( /^data-cke-(saved|pa)-/ ), '' ],
127
+
128
+ // All "data-cke-" attributes are to be ignored.
129
+ [ ( /^data-cke-.*/ ), '' ],
130
+
131
+ [ 'hidefocus', '' ]
132
+ ],
133
+
134
+ elements :
135
+ {
136
+ $ : function( element )
137
+ {
138
+ var attribs = element.attributes;
139
+
140
+ if ( attribs )
141
+ {
142
+ // Elements marked as temporary are to be ignored.
143
+ if ( attribs[ 'data-cke-temp' ] )
144
+ return false;
145
+
146
+ // Remove duplicated attributes - #3789.
147
+ var attributeNames = [ 'name', 'href', 'src' ],
148
+ savedAttributeName;
149
+ for ( var i = 0 ; i < attributeNames.length ; i++ )
150
+ {
151
+ savedAttributeName = 'data-cke-saved-' + attributeNames[ i ];
152
+ savedAttributeName in attribs && ( delete attribs[ attributeNames[ i ] ] );
153
+ }
154
+ }
155
+
156
+ return element;
157
+ },
158
+
159
+ // The contents of table should be in correct order (#4809).
160
+ table : function( element )
161
+ {
162
+ var children = element.children;
163
+ children.sort( function ( node1, node2 )
164
+ {
165
+ return node1.type == CKEDITOR.NODE_ELEMENT && node2.type == node1.type ?
166
+ CKEDITOR.tools.indexOf( tableOrder, node1.name ) > CKEDITOR.tools.indexOf( tableOrder, node2.name ) ? 1 : -1 : 0;
167
+ } );
168
+ },
169
+
170
+ embed : function( element )
171
+ {
172
+ var parent = element.parent;
173
+
174
+ // If the <embed> is child of a <object>, copy the width
175
+ // and height attributes from it.
176
+ if ( parent && parent.name == 'object' )
177
+ {
178
+ var parentWidth = parent.attributes.width,
179
+ parentHeight = parent.attributes.height;
180
+ parentWidth && ( element.attributes.width = parentWidth );
181
+ parentHeight && ( element.attributes.height = parentHeight );
182
+ }
183
+ },
184
+ // Restore param elements into self-closing.
185
+ param : function( param )
186
+ {
187
+ param.children = [];
188
+ param.isEmpty = true;
189
+ return param;
190
+ },
191
+
192
+ // Remove empty link but not empty anchor.(#3829)
193
+ a : function( element )
194
+ {
195
+ if ( !( element.children.length ||
196
+ element.attributes.name ||
197
+ element.attributes[ 'data-cke-saved-name' ] ) )
198
+ {
199
+ return false;
200
+ }
201
+ },
202
+
203
+ // Remove dummy span in webkit.
204
+ span: function( element )
205
+ {
206
+ if ( element.attributes[ 'class' ] == 'Apple-style-span' )
207
+ delete element.name;
208
+ },
209
+
210
+ // Empty <pre> in IE is reported with filler node (&nbsp;).
211
+ pre : function( element ) { CKEDITOR.env.ie && trimFillers( element ); },
212
+
213
+ html : function( element )
214
+ {
215
+ delete element.attributes.contenteditable;
216
+ delete element.attributes[ 'class' ];
217
+ },
218
+
219
+ body : function( element )
220
+ {
221
+ delete element.attributes.spellcheck;
222
+ delete element.attributes.contenteditable;
223
+ },
224
+
225
+ style : function( element )
226
+ {
227
+ var child = element.children[ 0 ];
228
+ child && child.value && ( child.value = CKEDITOR.tools.trim( child.value ));
229
+
230
+ if ( !element.attributes.type )
231
+ element.attributes.type = 'text/css';
232
+ },
233
+
234
+ title : function( element )
235
+ {
236
+ var titleText = element.children[ 0 ];
237
+ titleText && ( titleText.value = element.attributes[ 'data-cke-title' ] || '' );
238
+ }
239
+ },
240
+
241
+ attributes :
242
+ {
243
+ 'class' : function( value, element )
244
+ {
245
+ // Remove all class names starting with "cke_".
246
+ return CKEDITOR.tools.ltrim( value.replace( /(?:^|\s+)cke_[^\s]*/g, '' ) ) || false;
247
+ }
248
+ }
249
+ };
250
+
251
+ if ( CKEDITOR.env.ie )
252
+ {
253
+ // IE outputs style attribute in capital letters. We should convert
254
+ // them back to lower case, while not hurting the values (#5930)
255
+ defaultHtmlFilterRules.attributes.style = function( value, element )
256
+ {
257
+ return value.replace( /(^|;)([^\:]+)/g, function( match )
258
+ {
259
+ return match.toLowerCase();
260
+ });
261
+ };
262
+ }
263
+
264
+ function protectReadOnly( element )
265
+ {
266
+ var attrs = element.attributes;
267
+
268
+ // We should flag that the element was locked by our code so
269
+ // it'll be editable by the editor functions (#6046).
270
+ if ( attrs.contenteditable != "false" )
271
+ attrs[ 'data-cke-editable' ] = attrs.contenteditable ? 'true' : 1;
272
+
273
+ attrs.contenteditable = "false";
274
+ }
275
+ function unprotectReadyOnly( element )
276
+ {
277
+ var attrs = element.attributes;
278
+ switch( attrs[ 'data-cke-editable' ] )
279
+ {
280
+ case 'true': attrs.contenteditable = 'true'; break;
281
+ case '1': delete attrs.contenteditable; break;
282
+ }
283
+ }
284
+ // Disable form elements editing mode provided by some browers. (#5746)
285
+ for ( i in { input : 1, textarea : 1 } )
286
+ {
287
+ defaultDataFilterRules.elements[ i ] = protectReadOnly;
288
+ defaultHtmlFilterRules.elements[ i ] = unprotectReadyOnly;
289
+ }
290
+
291
+ var protectElementRegex = /<(a|area|img|input)\b([^>]*)>/gi,
292
+ protectAttributeRegex = /\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi;
293
+
294
+ var protectElementsRegex = /(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,
295
+ encodedElementsRegex = /<cke:encoded>([^<]*)<\/cke:encoded>/gi;
296
+
297
+ var protectElementNamesRegex = /(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,
298
+ unprotectElementNamesRegex = /(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi;
299
+
300
+ var protectSelfClosingRegex = /<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi;
301
+
302
+ function protectAttributes( html )
303
+ {
304
+ return html.replace( protectElementRegex, function( element, tag, attributes )
305
+ {
306
+ return '<' + tag + attributes.replace( protectAttributeRegex, function( fullAttr, attrName )
307
+ {
308
+ // Avoid corrupting the inline event attributes (#7243).
309
+ // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218)
310
+ if ( !( /^on/ ).test( attrName ) && attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 )
311
+ return ' data-cke-saved-' + fullAttr + ' data-cke-' + CKEDITOR.rnd + '-' + fullAttr;
312
+
313
+ return fullAttr;
314
+ }) + '>';
315
+ });
316
+ }
317
+
318
+ function protectElements( html )
319
+ {
320
+ return html.replace( protectElementsRegex, function( match )
321
+ {
322
+ return '<cke:encoded>' + encodeURIComponent( match ) + '</cke:encoded>';
323
+ });
324
+ }
325
+
326
+ function unprotectElements( html )
327
+ {
328
+ return html.replace( encodedElementsRegex, function( match, encoded )
329
+ {
330
+ return decodeURIComponent( encoded );
331
+ });
332
+ }
333
+
334
+ function protectElementsNames( html )
335
+ {
336
+ return html.replace( protectElementNamesRegex, '$1cke:$2');
337
+ }
338
+
339
+ function unprotectElementNames( html )
340
+ {
341
+ return html.replace( unprotectElementNamesRegex, '$1$2' );
342
+ }
343
+
344
+ function protectSelfClosingElements( html )
345
+ {
346
+ return html.replace( protectSelfClosingRegex, '<cke:$1$2></cke:$1>' );
347
+ }
348
+
349
+ function protectPreFormatted( html )
350
+ {
351
+ return html.replace( /(<pre\b[^>]*>)(\r\n|\n)/g, '$1$2$2' );
352
+ }
353
+
354
+ function protectRealComments( html )
355
+ {
356
+ return html.replace( /<!--(?!{cke_protected})[\s\S]+?-->/g, function( match )
357
+ {
358
+ return '<!--' + protectedSourceMarker +
359
+ '{C}' +
360
+ encodeURIComponent( match ).replace( /--/g, '%2D%2D' ) +
361
+ '-->';
362
+ });
363
+ }
364
+
365
+ function unprotectRealComments( html )
366
+ {
367
+ return html.replace( /<!--\{cke_protected\}\{C\}([\s\S]+?)-->/g, function( match, data )
368
+ {
369
+ return decodeURIComponent( data );
370
+ });
371
+ }
372
+
373
+ function unprotectSource( html, editor )
374
+ {
375
+ var store = editor._.dataStore;
376
+
377
+ return html.replace( /<!--\{cke_protected\}([\s\S]+?)-->/g, function( match, data )
378
+ {
379
+ return decodeURIComponent( data );
380
+ }).replace( /\{cke_protected_(\d+)\}/g, function( match, id )
381
+ {
382
+ return store && store[ id ] || '';
383
+ });
384
+ }
385
+
386
+ function protectSource( data, editor )
387
+ {
388
+ var protectedHtml = [],
389
+ protectRegexes = editor.config.protectedSource,
390
+ store = editor._.dataStore || ( editor._.dataStore = { id : 1 } ),
391
+ tempRegex = /<\!--\{cke_temp(comment)?\}(\d*?)-->/g;
392
+
393
+ var regexes =
394
+ [
395
+ // Script tags will also be forced to be protected, otherwise
396
+ // IE will execute them.
397
+ ( /<script[\s\S]*?<\/script>/gi ),
398
+
399
+ // <noscript> tags (get lost in IE and messed up in FF).
400
+ /<noscript[\s\S]*?<\/noscript>/gi
401
+ ]
402
+ .concat( protectRegexes );
403
+
404
+ // First of any other protection, we must protect all comments
405
+ // to avoid loosing them (of course, IE related).
406
+ // Note that we use a different tag for comments, as we need to
407
+ // transform them when applying filters.
408
+ data = data.replace( (/<!--[\s\S]*?-->/g), function( match )
409
+ {
410
+ return '<!--{cke_tempcomment}' + ( protectedHtml.push( match ) - 1 ) + '-->';
411
+ });
412
+
413
+ for ( var i = 0 ; i < regexes.length ; i++ )
414
+ {
415
+ data = data.replace( regexes[i], function( match )
416
+ {
417
+ match = match.replace( tempRegex, // There could be protected source inside another one. (#3869).
418
+ function( $, isComment, id )
419
+ {
420
+ return protectedHtml[ id ];
421
+ }
422
+ );
423
+
424
+ // Avoid protecting over protected, e.g. /\{.*?\}/
425
+ return ( /cke_temp(comment)?/ ).test( match ) ? match
426
+ : '<!--{cke_temp}' + ( protectedHtml.push( match ) - 1 ) + '-->';
427
+ });
428
+ }
429
+ data = data.replace( tempRegex, function( $, isComment, id )
430
+ {
431
+ return '<!--' + protectedSourceMarker +
432
+ ( isComment ? '{C}' : '' ) +
433
+ encodeURIComponent( protectedHtml[ id ] ).replace( /--/g, '%2D%2D' ) +
434
+ '-->';
435
+ }
436
+ );
437
+
438
+ // Different protection pattern is used for those that
439
+ // live in attributes to avoid from being HTML encoded.
440
+ return data.replace( /(['"]).*?\1/g, function ( match )
441
+ {
442
+ return match.replace( /<!--\{cke_protected\}([\s\S]+?)-->/g, function( match, data )
443
+ {
444
+ store[ store.id ] = decodeURIComponent( data );
445
+ return '{cke_protected_'+ ( store.id++ ) + '}';
446
+ });
447
+ });
448
+ }
449
+
450
+ CKEDITOR.plugins.add( 'htmldataprocessor',
451
+ {
452
+ requires : [ 'htmlwriter' ],
453
+
454
+ init : function( editor )
455
+ {
456
+ var dataProcessor = editor.dataProcessor = new CKEDITOR.htmlDataProcessor( editor );
457
+
458
+ dataProcessor.writer.forceSimpleAmpersand = editor.config.forceSimpleAmpersand;
459
+
460
+ dataProcessor.dataFilter.addRules( defaultDataFilterRules );
461
+ dataProcessor.dataFilter.addRules( defaultDataBlockFilterRules );
462
+ dataProcessor.htmlFilter.addRules( defaultHtmlFilterRules );
463
+
464
+ var defaultHtmlBlockFilterRules = { elements : {} };
465
+ for ( i in blockLikeTags )
466
+ defaultHtmlBlockFilterRules.elements[ i ] = getBlockExtension( true, editor.config.fillEmptyBlocks );
467
+
468
+ dataProcessor.htmlFilter.addRules( defaultHtmlBlockFilterRules );
469
+ },
470
+
471
+ onLoad : function()
472
+ {
473
+ ! ( 'fillEmptyBlocks' in CKEDITOR.config ) && ( CKEDITOR.config.fillEmptyBlocks = 1 );
474
+ }
475
+ });
476
+
477
+ CKEDITOR.htmlDataProcessor = function( editor )
478
+ {
479
+ this.editor = editor;
480
+
481
+ this.writer = new CKEDITOR.htmlWriter();
482
+ this.dataFilter = new CKEDITOR.htmlParser.filter();
483
+ this.htmlFilter = new CKEDITOR.htmlParser.filter();
484
+ };
485
+
486
+ CKEDITOR.htmlDataProcessor.prototype =
487
+ {
488
+ toHtml : function( data, fixForBody )
489
+ {
490
+ // The source data is already HTML, but we need to clean
491
+ // it up and apply the filter.
492
+
493
+ data = protectSource( data, this.editor );
494
+
495
+ // Before anything, we must protect the URL attributes as the
496
+ // browser may changing them when setting the innerHTML later in
497
+ // the code.
498
+ data = protectAttributes( data );
499
+
500
+ // Protect elements than can't be set inside a DIV. E.g. IE removes
501
+ // style tags from innerHTML. (#3710)
502
+ data = protectElements( data );
503
+
504
+ // Certain elements has problem to go through DOM operation, protect
505
+ // them by prefixing 'cke' namespace. (#3591)
506
+ data = protectElementsNames( data );
507
+
508
+ // All none-IE browsers ignore self-closed custom elements,
509
+ // protecting them into open-close. (#3591)
510
+ data = protectSelfClosingElements( data );
511
+
512
+ // Compensate one leading line break after <pre> open as browsers
513
+ // eat it up. (#5789)
514
+ data = protectPreFormatted( data );
515
+
516
+ // Call the browser to help us fixing a possibly invalid HTML
517
+ // structure.
518
+ var div = new CKEDITOR.dom.element( 'div' );
519
+
520
+ // Add fake character to workaround IE comments bug. (#3801)
521
+ div.setHtml( 'a' + data );
522
+ data = div.getHtml().substr( 1 );
523
+
524
+ // Restore shortly protected attribute names.
525
+ data = data.replace( new RegExp( ' data-cke-' + CKEDITOR.rnd + '-', 'ig' ), ' ' );
526
+
527
+ // Unprotect "some" of the protected elements at this point.
528
+ data = unprotectElementNames( data );
529
+
530
+ data = unprotectElements( data );
531
+
532
+ // Restore the comments that have been protected, in this way they
533
+ // can be properly filtered.
534
+ data = unprotectRealComments( data );
535
+
536
+ // Now use our parser to make further fixes to the structure, as
537
+ // well as apply the filter.
538
+ var fragment = CKEDITOR.htmlParser.fragment.fromHtml( data, fixForBody ),
539
+ writer = new CKEDITOR.htmlParser.basicWriter();
540
+
541
+ fragment.writeHtml( writer, this.dataFilter );
542
+ data = writer.getHtml( true );
543
+
544
+ // Protect the real comments again.
545
+ data = protectRealComments( data );
546
+
547
+ return data;
548
+ },
549
+
550
+ toDataFormat : function( html, fixForBody )
551
+ {
552
+ var writer = this.writer,
553
+ fragment = CKEDITOR.htmlParser.fragment.fromHtml( html, fixForBody );
554
+
555
+ writer.reset();
556
+
557
+ fragment.writeHtml( writer, this.htmlFilter );
558
+
559
+ var data = writer.getHtml( true );
560
+
561
+ // Restore those non-HTML protected source. (#4475,#4880)
562
+ data = unprotectRealComments( data );
563
+ data = unprotectSource( data, this.editor );
564
+
565
+ return data;
566
+ }
567
+ };
568
+ })();
569
+
570
+ /**
571
+ * Whether to force using "&" instead of "&amp;amp;" in elements attributes
572
+ * values, it's not recommended to change this setting for compliance with the
573
+ * W3C XHTML 1.0 standards (<a href="http://www.w3.org/TR/xhtml1/#C_12">C.12, XHTML 1.0</a>).
574
+ * @name CKEDITOR.config.forceSimpleAmpersand
575
+ * @name CKEDITOR.config.forceSimpleAmpersand
576
+ * @type Boolean
577
+ * @default false
578
+ * @example
579
+ * config.forceSimpleAmpersand = false;
580
+ */
581
+
582
+ /**
583
+ * Whether a filler text (non-breaking space entity - &nbsp;) will be inserted into empty block elements in HTML output,
584
+ * this is used to render block elements properly with line-height; When a function is instead specified,
585
+ * it'll be passed a {@link CKEDITOR.htmlParser.element} to decide whether adding the filler text
586
+ * by expecting a boolean return value.
587
+ * @name CKEDITOR.config.fillEmptyBlocks
588
+ * @since 3.5
589
+ * @type Boolean
590
+ * @default true
591
+ * @example
592
+ * config.fillEmptyBlocks = false; // Prevent filler nodes in all empty blocks.
593
+ *
594
+ * // Prevent filler node only in float cleaners.
595
+ * config.fillEmptyBlocks = function( element )
596
+ * {
597
+ * if ( element.attributes[ 'class' ].indexOf ( 'clear-both' ) != -1 )
598
+ * return false;
599
+ * }
600
+ */