ckeditor-rails 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,497 +1,537 @@
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
- * A lightweight representation of an HTML DOM structure.
8
- * @constructor
9
- * @example
10
- */
11
- CKEDITOR.htmlParser.fragment = function()
12
- {
13
- /**
14
- * The nodes contained in the root of this fragment.
15
- * @type Array
16
- * @example
17
- * var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<b>Sample</b> Text' );
18
- * alert( fragment.children.length ); "2"
19
- */
20
- this.children = [];
21
-
22
- /**
23
- * Get the fragment parent. Should always be null.
24
- * @type Object
25
- * @default null
26
- * @example
27
- */
28
- this.parent = null;
29
-
30
- /** @private */
31
- this._ =
32
- {
33
- isBlockLike : true,
34
- hasInlineStarted : false
35
- };
36
- };
37
-
38
- (function()
39
- {
40
- // Block-level elements whose internal structure should be respected during
41
- // parser fixing.
42
- var nonBreakingBlocks = CKEDITOR.tools.extend( { table:1,ul:1,ol:1,dl:1 }, CKEDITOR.dtd.table, CKEDITOR.dtd.ul, CKEDITOR.dtd.ol, CKEDITOR.dtd.dl );
43
-
44
- // IE < 8 don't output the close tag on definition list items. (#6975)
45
- var optionalCloseTags = CKEDITOR.env.ie && CKEDITOR.env.version < 8 ? { dd : 1, dt :1 } : {};
46
-
47
- var listBlocks = { ol:1, ul:1 };
48
-
49
- // Dtd of the fragment element, basically it accept anything except for intermediate structure, e.g. orphan <li>.
50
- var rootDtd = CKEDITOR.tools.extend( {}, { html: 1 }, CKEDITOR.dtd.html, CKEDITOR.dtd.body, CKEDITOR.dtd.head, { style:1,script:1 } );
51
-
52
- /**
53
- * Creates a {@link CKEDITOR.htmlParser.fragment} from an HTML string.
54
- * @param {String} fragmentHtml The HTML to be parsed, filling the fragment.
55
- * @param {Number} [fixForBody=false] Wrap body with specified element if needed.
56
- * @param {CKEDITOR.htmlParser.element} contextNode Parse the html as the content of this element.
57
- * @returns CKEDITOR.htmlParser.fragment The fragment created.
58
- * @example
59
- * var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<b>Sample</b> Text' );
60
- * alert( fragment.children[0].name ); "b"
61
- * alert( fragment.children[1].value ); " Text"
62
- */
63
- CKEDITOR.htmlParser.fragment.fromHtml = function( fragmentHtml, fixForBody, contextNode )
64
- {
65
- var parser = new CKEDITOR.htmlParser(),
66
- fragment = contextNode || new CKEDITOR.htmlParser.fragment(),
67
- pendingInline = [],
68
- pendingBRs = [],
69
- currentNode = fragment,
70
- // Indicate we're inside a <pre> element, spaces should be touched differently.
71
- inPre = false;
72
-
73
- function checkPending( newTagName )
74
- {
75
- var pendingBRsSent;
76
-
77
- if ( pendingInline.length > 0 )
78
- {
79
- for ( var i = 0 ; i < pendingInline.length ; i++ )
80
- {
81
- var pendingElement = pendingInline[ i ],
82
- pendingName = pendingElement.name,
83
- pendingDtd = CKEDITOR.dtd[ pendingName ],
84
- currentDtd = currentNode.name && CKEDITOR.dtd[ currentNode.name ];
85
-
86
- if ( ( !currentDtd || currentDtd[ pendingName ] ) && ( !newTagName || !pendingDtd || pendingDtd[ newTagName ] || !CKEDITOR.dtd[ newTagName ] ) )
87
- {
88
- if ( !pendingBRsSent )
89
- {
90
- sendPendingBRs();
91
- pendingBRsSent = 1;
92
- }
93
-
94
- // Get a clone for the pending element.
95
- pendingElement = pendingElement.clone();
96
-
97
- // Add it to the current node and make it the current,
98
- // so the new element will be added inside of it.
99
- pendingElement.parent = currentNode;
100
- currentNode = pendingElement;
101
-
102
- // Remove the pending element (back the index by one
103
- // to properly process the next entry).
104
- pendingInline.splice( i, 1 );
105
- i--;
106
- }
107
- }
108
- }
109
- }
110
-
111
- function sendPendingBRs()
112
- {
113
- while ( pendingBRs.length )
114
- currentNode.add( pendingBRs.shift() );
115
- }
116
-
117
- /*
118
- * Beside of simply append specified element to target, this function also takes
119
- * care of other dirty lifts like forcing block in body, trimming spaces at
120
- * the block boundaries etc.
121
- *
122
- * @param {Element} element The element to be added as the last child of {@link target}.
123
- * @param {Element} target The parent element to relieve the new node.
124
- * @param {Boolean} [moveCurrent=false] Don't change the "currentNode" global unless
125
- * there's a return point node specified on the element, otherwise move current onto {@link target} node.
126
- */
127
- function addElement( element, target, moveCurrent )
128
- {
129
- // Ignore any element that has already been added.
130
- if ( element.previous !== undefined )
131
- return;
132
-
133
- target = target || currentNode || fragment;
134
-
135
- // Current element might be mangled by fix body below,
136
- // save it for restore later.
137
- var savedCurrent = currentNode;
138
-
139
- // If the target is the fragment and this inline element can't go inside
140
- // body (if fixForBody).
141
- if ( fixForBody && ( !target.type || target.name == 'body' ) )
142
- {
143
- var elementName, realElementName;
144
- if ( element.attributes
145
- && ( realElementName =
146
- element.attributes[ 'data-cke-real-element-type' ] ) )
147
- elementName = realElementName;
148
- else
149
- elementName = element.name;
150
-
151
- if ( elementName && !( elementName in CKEDITOR.dtd.$body || elementName == 'body' || element.isOrphan ) )
152
- {
153
- // Create a <p> in the fragment.
154
- currentNode = target;
155
- parser.onTagOpen( fixForBody, {} );
156
-
157
- // The new target now is the <p>.
158
- element.returnPoint = target = currentNode;
159
- }
160
- }
161
-
162
- // Rtrim empty spaces on block end boundary. (#3585)
163
- if ( element._.isBlockLike
164
- && element.name != 'pre' )
165
- {
166
-
167
- var length = element.children.length,
168
- lastChild = element.children[ length - 1 ],
169
- text;
170
- if ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT )
171
- {
172
- if ( !( text = CKEDITOR.tools.rtrim( lastChild.value ) ) )
173
- element.children.length = length -1;
174
- else
175
- lastChild.value = text;
176
- }
177
- }
178
-
179
- target.add( element );
180
-
181
- if ( element.returnPoint )
182
- {
183
- currentNode = element.returnPoint;
184
- delete element.returnPoint;
185
- }
186
- else
187
- currentNode = moveCurrent ? target : savedCurrent;
188
- }
189
-
190
- parser.onTagOpen = function( tagName, attributes, selfClosing, optionalClose )
191
- {
192
- var element = new CKEDITOR.htmlParser.element( tagName, attributes );
193
-
194
- // "isEmpty" will be always "false" for unknown elements, so we
195
- // must force it if the parser has identified it as a selfClosing tag.
196
- if ( element.isUnknown && selfClosing )
197
- element.isEmpty = true;
198
-
199
- // Check for optional closed elements, including browser quirks and manually opened blocks.
200
- element.isOptionalClose = tagName in optionalCloseTags || optionalClose;
201
-
202
- // This is a tag to be removed if empty, so do not add it immediately.
203
- if ( CKEDITOR.dtd.$removeEmpty[ tagName ] )
204
- {
205
- pendingInline.push( element );
206
- return;
207
- }
208
- else if ( tagName == 'pre' )
209
- inPre = true;
210
- else if ( tagName == 'br' && inPre )
211
- {
212
- currentNode.add( new CKEDITOR.htmlParser.text( '\n' ) );
213
- return;
214
- }
215
-
216
- if ( tagName == 'br' )
217
- {
218
- pendingBRs.push( element );
219
- return;
220
- }
221
-
222
- while( 1 )
223
- {
224
- var currentName = currentNode.name;
225
-
226
- var currentDtd = currentName ? ( CKEDITOR.dtd[ currentName ]
227
- || ( currentNode._.isBlockLike ? CKEDITOR.dtd.div : CKEDITOR.dtd.span ) )
228
- : rootDtd;
229
-
230
- // If the element cannot be child of the current element.
231
- if ( !element.isUnknown && !currentNode.isUnknown && !currentDtd[ tagName ] )
232
- {
233
- // Current node doesn't have a close tag, time for a close
234
- // as this element isn't fit in. (#7497)
235
- if ( currentNode.isOptionalClose )
236
- parser.onTagClose( currentName );
237
- // Fixing malformed nested lists by moving it into a previous list item. (#3828)
238
- else if ( tagName in listBlocks
239
- && currentName in listBlocks )
240
- {
241
- var children = currentNode.children,
242
- lastChild = children[ children.length - 1 ];
243
-
244
- // Establish the list item if it's not existed.
245
- if ( !( lastChild && lastChild.name == 'li' ) )
246
- addElement( ( lastChild = new CKEDITOR.htmlParser.element( 'li' ) ), currentNode );
247
-
248
- !element.returnPoint && ( element.returnPoint = currentNode );
249
- currentNode = lastChild;
250
- }
251
- // Establish new list root for orphan list items.
252
- else if ( tagName in CKEDITOR.dtd.$listItem && currentName != tagName )
253
- parser.onTagOpen( tagName == 'li' ? 'ul' : 'dl', {}, 0, 1 );
254
- // We're inside a structural block like table and list, AND the incoming element
255
- // is not of the same type (e.g. <td>td1<td>td2</td>), we simply add this new one before it,
256
- // and most importantly, return back to here once this element is added,
257
- // e.g. <table><tr><td>td1</td><p>p1</p><td>td2</td></tr></table>
258
- else if ( currentName in nonBreakingBlocks && currentName != tagName )
259
- {
260
- !element.returnPoint && ( element.returnPoint = currentNode );
261
- currentNode = currentNode.parent;
262
- }
263
- else
264
- {
265
- // The current element is an inline element, which
266
- // need to be continued even after the close, so put
267
- // it in the pending list.
268
- if ( currentName in CKEDITOR.dtd.$inline )
269
- pendingInline.unshift( currentNode );
270
-
271
- // The most common case where we just need to close the
272
- // current one and append the new one to the parent.
273
- if ( currentNode.parent )
274
- addElement( currentNode, currentNode.parent, 1 );
275
- // We've tried our best to fix the embarrassment here, while
276
- // this element still doesn't find it's parent, mark it as
277
- // orphan and show our tolerance to it.
278
- else
279
- {
280
- element.isOrphan = 1;
281
- break;
282
- }
283
- }
284
- }
285
- else
286
- break;
287
- }
288
-
289
- checkPending( tagName );
290
- sendPendingBRs();
291
-
292
- element.parent = currentNode;
293
-
294
- if ( element.isEmpty )
295
- addElement( element );
296
- else
297
- currentNode = element;
298
- };
299
-
300
- parser.onTagClose = function( tagName )
301
- {
302
- // Check if there is any pending tag to be closed.
303
- for ( var i = pendingInline.length - 1 ; i >= 0 ; i-- )
304
- {
305
- // If found, just remove it from the list.
306
- if ( tagName == pendingInline[ i ].name )
307
- {
308
- pendingInline.splice( i, 1 );
309
- return;
310
- }
311
- }
312
-
313
- var pendingAdd = [],
314
- newPendingInline = [],
315
- candidate = currentNode;
316
-
317
- while ( candidate != fragment && candidate.name != tagName )
318
- {
319
- // If this is an inline element, add it to the pending list, if we're
320
- // really closing one of the parents element later, they will continue
321
- // after it.
322
- if ( !candidate._.isBlockLike )
323
- newPendingInline.unshift( candidate );
324
-
325
- // This node should be added to it's parent at this point. But,
326
- // it should happen only if the closing tag is really closing
327
- // one of the nodes. So, for now, we just cache it.
328
- pendingAdd.push( candidate );
329
-
330
- // Make sure return point is properly restored.
331
- candidate = candidate.returnPoint || candidate.parent;
332
- }
333
-
334
- if ( candidate != fragment )
335
- {
336
- // Add all elements that have been found in the above loop.
337
- for ( i = 0 ; i < pendingAdd.length ; i++ )
338
- {
339
- var node = pendingAdd[ i ];
340
- addElement( node, node.parent );
341
- }
342
-
343
- currentNode = candidate;
344
-
345
- if ( currentNode.name == 'pre' )
346
- inPre = false;
347
-
348
- if ( candidate._.isBlockLike )
349
- sendPendingBRs();
350
-
351
- addElement( candidate, candidate.parent );
352
-
353
- // The parent should start receiving new nodes now, except if
354
- // addElement changed the currentNode.
355
- if ( candidate == currentNode )
356
- currentNode = currentNode.parent;
357
-
358
- pendingInline = pendingInline.concat( newPendingInline );
359
- }
360
-
361
- if ( tagName == 'body' )
362
- fixForBody = false;
363
- };
364
-
365
- parser.onText = function( text )
366
- {
367
- // Trim empty spaces at beginning of text contents except <pre>.
368
- if ( ( !currentNode._.hasInlineStarted || pendingBRs.length ) && !inPre )
369
- {
370
- text = CKEDITOR.tools.ltrim( text );
371
-
372
- if ( text.length === 0 )
373
- return;
374
- }
375
-
376
- sendPendingBRs();
377
- checkPending();
378
-
379
- if ( fixForBody
380
- && ( !currentNode.type || currentNode.name == 'body' )
381
- && CKEDITOR.tools.trim( text ) )
382
- {
383
- this.onTagOpen( fixForBody, {}, 0, 1 );
384
- }
385
-
386
- // Shrinking consequential spaces into one single for all elements
387
- // text contents.
388
- if ( !inPre )
389
- text = text.replace( /[\t\r\n ]{2,}|[\t\r\n]/g, ' ' );
390
-
391
- currentNode.add( new CKEDITOR.htmlParser.text( text ) );
392
- };
393
-
394
- parser.onCDATA = function( cdata )
395
- {
396
- currentNode.add( new CKEDITOR.htmlParser.cdata( cdata ) );
397
- };
398
-
399
- parser.onComment = function( comment )
400
- {
401
- sendPendingBRs();
402
- checkPending();
403
- currentNode.add( new CKEDITOR.htmlParser.comment( comment ) );
404
- };
405
-
406
- // Parse it.
407
- parser.parse( fragmentHtml );
408
-
409
- // Send all pending BRs except one, which we consider a unwanted bogus. (#5293)
410
- sendPendingBRs( !CKEDITOR.env.ie && 1 );
411
-
412
- // Close all pending nodes, make sure return point is properly restored.
413
- while ( currentNode != fragment )
414
- addElement( currentNode, currentNode.parent, 1 );
415
-
416
- return fragment;
417
- };
418
-
419
- CKEDITOR.htmlParser.fragment.prototype =
420
- {
421
- /**
422
- * Adds a node to this fragment.
423
- * @param {Object} node The node to be added. It can be any of of the
424
- * following types: {@link CKEDITOR.htmlParser.element},
425
- * {@link CKEDITOR.htmlParser.text} and
426
- * {@link CKEDITOR.htmlParser.comment}.
427
- * @param {Number} [index] From where the insertion happens.
428
- * @example
429
- */
430
- add : function( node, index )
431
- {
432
- isNaN( index ) && ( index = this.children.length );
433
-
434
- var previous = index > 0 ? this.children[ index - 1 ] : null;
435
- if ( previous )
436
- {
437
- // If the block to be appended is following text, trim spaces at
438
- // the right of it.
439
- if ( node._.isBlockLike && previous.type == CKEDITOR.NODE_TEXT )
440
- {
441
- previous.value = CKEDITOR.tools.rtrim( previous.value );
442
-
443
- // If we have completely cleared the previous node.
444
- if ( previous.value.length === 0 )
445
- {
446
- // Remove it from the list and add the node again.
447
- this.children.pop();
448
- this.add( node );
449
- return;
450
- }
451
- }
452
-
453
- previous.next = node;
454
- }
455
-
456
- node.previous = previous;
457
- node.parent = this;
458
-
459
- this.children.splice( index, 0, node );
460
-
461
- this._.hasInlineStarted = node.type == CKEDITOR.NODE_TEXT || ( node.type == CKEDITOR.NODE_ELEMENT && !node._.isBlockLike );
462
- },
463
-
464
- /**
465
- * Writes the fragment HTML to a CKEDITOR.htmlWriter.
466
- * @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
467
- * @example
468
- * var writer = new CKEDITOR.htmlWriter();
469
- * var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '&lt;P&gt;&lt;B&gt;Example' );
470
- * fragment.writeHtml( writer )
471
- * alert( writer.getHtml() ); "&lt;p&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/p&gt;"
472
- */
473
- writeHtml : function( writer, filter )
474
- {
475
- var isChildrenFiltered;
476
- this.filterChildren = function()
477
- {
478
- var writer = new CKEDITOR.htmlParser.basicWriter();
479
- this.writeChildrenHtml.call( this, writer, filter, true );
480
- var html = writer.getHtml();
481
- this.children = new CKEDITOR.htmlParser.fragment.fromHtml( html ).children;
482
- isChildrenFiltered = 1;
483
- };
484
-
485
- // Filtering the root fragment before anything else.
486
- !this.name && filter && filter.onFragment( this );
487
-
488
- this.writeChildrenHtml( writer, isChildrenFiltered ? null : filter );
489
- },
490
-
491
- writeChildrenHtml : function( writer, filter )
492
- {
493
- for ( var i = 0 ; i < this.children.length ; i++ )
494
- this.children[i].writeHtml( writer, filter );
495
- }
496
- };
497
- })();
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
+ * A lightweight representation of an HTML DOM structure.
8
+ * @constructor
9
+ * @example
10
+ */
11
+ CKEDITOR.htmlParser.fragment = function()
12
+ {
13
+ /**
14
+ * The nodes contained in the root of this fragment.
15
+ * @type Array
16
+ * @example
17
+ * var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<b>Sample</b> Text' );
18
+ * alert( fragment.children.length ); "2"
19
+ */
20
+ this.children = [];
21
+
22
+ /**
23
+ * Get the fragment parent. Should always be null.
24
+ * @type Object
25
+ * @default null
26
+ * @example
27
+ */
28
+ this.parent = null;
29
+
30
+ /** @private */
31
+ this._ =
32
+ {
33
+ isBlockLike : true,
34
+ hasInlineStarted : false
35
+ };
36
+ };
37
+
38
+ (function()
39
+ {
40
+ // Block-level elements whose internal structure should be respected during
41
+ // parser fixing.
42
+ var nonBreakingBlocks = CKEDITOR.tools.extend( { table:1,ul:1,ol:1,dl:1 }, CKEDITOR.dtd.table, CKEDITOR.dtd.ul, CKEDITOR.dtd.ol, CKEDITOR.dtd.dl );
43
+
44
+ // IE < 8 don't output the close tag on definition list items. (#6975)
45
+ var optionalCloseTags = CKEDITOR.env.ie && CKEDITOR.env.version < 8 ? { dd : 1, dt :1 } : {};
46
+
47
+ var listBlocks = { ol:1, ul:1 };
48
+
49
+ // Dtd of the fragment element, basically it accept anything except for intermediate structure, e.g. orphan <li>.
50
+ var rootDtd = CKEDITOR.tools.extend( {}, { html: 1 }, CKEDITOR.dtd.html, CKEDITOR.dtd.body, CKEDITOR.dtd.head, { style:1,script:1 } );
51
+
52
+ function isRemoveEmpty( node )
53
+ {
54
+ // Empty link is to be removed when empty but not anchor. (#7894)
55
+ return node.name == 'a' && node.attributes.href
56
+ || CKEDITOR.dtd.$removeEmpty[ node.name ];
57
+ }
58
+
59
+ /**
60
+ * Creates a {@link CKEDITOR.htmlParser.fragment} from an HTML string.
61
+ * @param {String} fragmentHtml The HTML to be parsed, filling the fragment.
62
+ * @param {Number} [fixForBody=false] Wrap body with specified element if needed.
63
+ * @param {CKEDITOR.htmlParser.element} contextNode Parse the html as the content of this element.
64
+ * @returns CKEDITOR.htmlParser.fragment The fragment created.
65
+ * @example
66
+ * var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<b>Sample</b> Text' );
67
+ * alert( fragment.children[0].name ); "b"
68
+ * alert( fragment.children[1].value ); " Text"
69
+ */
70
+ CKEDITOR.htmlParser.fragment.fromHtml = function( fragmentHtml, fixForBody, contextNode )
71
+ {
72
+ var parser = new CKEDITOR.htmlParser(),
73
+ fragment = contextNode || new CKEDITOR.htmlParser.fragment(),
74
+ pendingInline = [],
75
+ pendingBRs = [],
76
+ currentNode = fragment,
77
+ // Indicate we're inside a <textarea> element, spaces should be touched differently.
78
+ inTextarea = false,
79
+ // Indicate we're inside a <pre> element, spaces should be touched differently.
80
+ inPre = false;
81
+
82
+ function checkPending( newTagName )
83
+ {
84
+ var pendingBRsSent;
85
+
86
+ if ( pendingInline.length > 0 )
87
+ {
88
+ for ( var i = 0 ; i < pendingInline.length ; i++ )
89
+ {
90
+ var pendingElement = pendingInline[ i ],
91
+ pendingName = pendingElement.name,
92
+ pendingDtd = CKEDITOR.dtd[ pendingName ],
93
+ currentDtd = currentNode.name && CKEDITOR.dtd[ currentNode.name ];
94
+
95
+ if ( ( !currentDtd || currentDtd[ pendingName ] ) && ( !newTagName || !pendingDtd || pendingDtd[ newTagName ] || !CKEDITOR.dtd[ newTagName ] ) )
96
+ {
97
+ if ( !pendingBRsSent )
98
+ {
99
+ sendPendingBRs();
100
+ pendingBRsSent = 1;
101
+ }
102
+
103
+ // Get a clone for the pending element.
104
+ pendingElement = pendingElement.clone();
105
+
106
+ // Add it to the current node and make it the current,
107
+ // so the new element will be added inside of it.
108
+ pendingElement.parent = currentNode;
109
+ currentNode = pendingElement;
110
+
111
+ // Remove the pending element (back the index by one
112
+ // to properly process the next entry).
113
+ pendingInline.splice( i, 1 );
114
+ i--;
115
+ }
116
+ else
117
+ {
118
+ // Some element of the same type cannot be nested, flat them,
119
+ // e.g. <a href="#">foo<a href="#">bar</a></a>. (#7894)
120
+ if ( pendingName == currentNode.name )
121
+ addElement( currentNode, currentNode.parent, 1 ), i--;
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ function sendPendingBRs()
128
+ {
129
+ while ( pendingBRs.length )
130
+ currentNode.add( pendingBRs.shift() );
131
+ }
132
+
133
+ /*
134
+ * Beside of simply append specified element to target, this function also takes
135
+ * care of other dirty lifts like forcing block in body, trimming spaces at
136
+ * the block boundaries etc.
137
+ *
138
+ * @param {Element} element The element to be added as the last child of {@link target}.
139
+ * @param {Element} target The parent element to relieve the new node.
140
+ * @param {Boolean} [moveCurrent=false] Don't change the "currentNode" global unless
141
+ * there's a return point node specified on the element, otherwise move current onto {@link target} node.
142
+ */
143
+ function addElement( element, target, moveCurrent )
144
+ {
145
+ // Ignore any element that has already been added.
146
+ if ( element.previous !== undefined )
147
+ return;
148
+
149
+ target = target || currentNode || fragment;
150
+
151
+ // Current element might be mangled by fix body below,
152
+ // save it for restore later.
153
+ var savedCurrent = currentNode;
154
+
155
+ // If the target is the fragment and this inline element can't go inside
156
+ // body (if fixForBody).
157
+ if ( fixForBody && ( !target.type || target.name == 'body' ) )
158
+ {
159
+ var elementName, realElementName;
160
+ if ( element.attributes
161
+ && ( realElementName =
162
+ element.attributes[ 'data-cke-real-element-type' ] ) )
163
+ elementName = realElementName;
164
+ else
165
+ elementName = element.name;
166
+
167
+ if ( elementName && !( elementName in CKEDITOR.dtd.$body || elementName == 'body' || element.isOrphan ) )
168
+ {
169
+ // Create a <p> in the fragment.
170
+ currentNode = target;
171
+ parser.onTagOpen( fixForBody, {} );
172
+
173
+ // The new target now is the <p>.
174
+ element.returnPoint = target = currentNode;
175
+ }
176
+ }
177
+
178
+ // Rtrim empty spaces on block end boundary. (#3585)
179
+ if ( element._.isBlockLike
180
+ && element.name != 'pre' && element.name != 'textarea' )
181
+ {
182
+
183
+ var length = element.children.length,
184
+ lastChild = element.children[ length - 1 ],
185
+ text;
186
+ if ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT )
187
+ {
188
+ if ( !( text = CKEDITOR.tools.rtrim( lastChild.value ) ) )
189
+ element.children.length = length -1;
190
+ else
191
+ lastChild.value = text;
192
+ }
193
+ }
194
+
195
+ target.add( element );
196
+
197
+ if ( element.name == 'pre' )
198
+ inPre = false;
199
+
200
+ if ( element.name == 'textarea' )
201
+ inTextarea = false;
202
+
203
+
204
+ if ( element.returnPoint )
205
+ {
206
+ currentNode = element.returnPoint;
207
+ delete element.returnPoint;
208
+ }
209
+ else
210
+ currentNode = moveCurrent ? target : savedCurrent;
211
+ }
212
+
213
+ parser.onTagOpen = function( tagName, attributes, selfClosing, optionalClose )
214
+ {
215
+ var element = new CKEDITOR.htmlParser.element( tagName, attributes );
216
+
217
+ // "isEmpty" will be always "false" for unknown elements, so we
218
+ // must force it if the parser has identified it as a selfClosing tag.
219
+ if ( element.isUnknown && selfClosing )
220
+ element.isEmpty = true;
221
+
222
+ // Check for optional closed elements, including browser quirks and manually opened blocks.
223
+ element.isOptionalClose = tagName in optionalCloseTags || optionalClose;
224
+
225
+ // This is a tag to be removed if empty, so do not add it immediately.
226
+ if ( isRemoveEmpty( element ) )
227
+ {
228
+ pendingInline.push( element );
229
+ return;
230
+ }
231
+ else if ( tagName == 'pre' )
232
+ inPre = true;
233
+ else if ( tagName == 'br' && inPre )
234
+ {
235
+ currentNode.add( new CKEDITOR.htmlParser.text( '\n' ) );
236
+ return;
237
+ }
238
+ else if ( tagName == 'textarea' )
239
+ inTextarea = true;
240
+
241
+ if ( tagName == 'br' )
242
+ {
243
+ pendingBRs.push( element );
244
+ return;
245
+ }
246
+
247
+ while( 1 )
248
+ {
249
+ var currentName = currentNode.name;
250
+
251
+ var currentDtd = currentName ? ( CKEDITOR.dtd[ currentName ]
252
+ || ( currentNode._.isBlockLike ? CKEDITOR.dtd.div : CKEDITOR.dtd.span ) )
253
+ : rootDtd;
254
+
255
+ // If the element cannot be child of the current element.
256
+ if ( !element.isUnknown && !currentNode.isUnknown && !currentDtd[ tagName ] )
257
+ {
258
+ // Current node doesn't have a close tag, time for a close
259
+ // as this element isn't fit in. (#7497)
260
+ if ( currentNode.isOptionalClose )
261
+ parser.onTagClose( currentName );
262
+ // Fixing malformed nested lists by moving it into a previous list item. (#3828)
263
+ else if ( tagName in listBlocks
264
+ && currentName in listBlocks )
265
+ {
266
+ var children = currentNode.children,
267
+ lastChild = children[ children.length - 1 ];
268
+
269
+ // Establish the list item if it's not existed.
270
+ if ( !( lastChild && lastChild.name == 'li' ) )
271
+ addElement( ( lastChild = new CKEDITOR.htmlParser.element( 'li' ) ), currentNode );
272
+
273
+ !element.returnPoint && ( element.returnPoint = currentNode );
274
+ currentNode = lastChild;
275
+ }
276
+ // Establish new list root for orphan list items.
277
+ else if ( tagName in CKEDITOR.dtd.$listItem && currentName != tagName )
278
+ parser.onTagOpen( tagName == 'li' ? 'ul' : 'dl', {}, 0, 1 );
279
+ // We're inside a structural block like table and list, AND the incoming element
280
+ // is not of the same type (e.g. <td>td1<td>td2</td>), we simply add this new one before it,
281
+ // and most importantly, return back to here once this element is added,
282
+ // e.g. <table><tr><td>td1</td><p>p1</p><td>td2</td></tr></table>
283
+ else if ( currentName in nonBreakingBlocks && currentName != tagName )
284
+ {
285
+ !element.returnPoint && ( element.returnPoint = currentNode );
286
+ currentNode = currentNode.parent;
287
+ }
288
+ else
289
+ {
290
+ // The current element is an inline element, which
291
+ // need to be continued even after the close, so put
292
+ // it in the pending list.
293
+ if ( currentName in CKEDITOR.dtd.$inline )
294
+ pendingInline.unshift( currentNode );
295
+
296
+ // The most common case where we just need to close the
297
+ // current one and append the new one to the parent.
298
+ if ( currentNode.parent )
299
+ addElement( currentNode, currentNode.parent, 1 );
300
+ // We've tried our best to fix the embarrassment here, while
301
+ // this element still doesn't find it's parent, mark it as
302
+ // orphan and show our tolerance to it.
303
+ else
304
+ {
305
+ element.isOrphan = 1;
306
+ break;
307
+ }
308
+ }
309
+ }
310
+ else
311
+ break;
312
+ }
313
+
314
+ checkPending( tagName );
315
+ sendPendingBRs();
316
+
317
+ element.parent = currentNode;
318
+
319
+ if ( element.isEmpty )
320
+ addElement( element );
321
+ else
322
+ currentNode = element;
323
+ };
324
+
325
+ parser.onTagClose = function( tagName )
326
+ {
327
+ // Check if there is any pending tag to be closed.
328
+ for ( var i = pendingInline.length - 1 ; i >= 0 ; i-- )
329
+ {
330
+ // If found, just remove it from the list.
331
+ if ( tagName == pendingInline[ i ].name )
332
+ {
333
+ pendingInline.splice( i, 1 );
334
+ return;
335
+ }
336
+ }
337
+
338
+ var pendingAdd = [],
339
+ newPendingInline = [],
340
+ candidate = currentNode;
341
+
342
+ while ( candidate != fragment && candidate.name != tagName )
343
+ {
344
+ // If this is an inline element, add it to the pending list, if we're
345
+ // really closing one of the parents element later, they will continue
346
+ // after it.
347
+ if ( !candidate._.isBlockLike )
348
+ newPendingInline.unshift( candidate );
349
+
350
+ // This node should be added to it's parent at this point. But,
351
+ // it should happen only if the closing tag is really closing
352
+ // one of the nodes. So, for now, we just cache it.
353
+ pendingAdd.push( candidate );
354
+
355
+ // Make sure return point is properly restored.
356
+ candidate = candidate.returnPoint || candidate.parent;
357
+ }
358
+
359
+ if ( candidate != fragment )
360
+ {
361
+ // Add all elements that have been found in the above loop.
362
+ for ( i = 0 ; i < pendingAdd.length ; i++ )
363
+ {
364
+ var node = pendingAdd[ i ];
365
+ addElement( node, node.parent );
366
+ }
367
+
368
+ currentNode = candidate;
369
+
370
+ if ( candidate._.isBlockLike )
371
+ sendPendingBRs();
372
+
373
+ addElement( candidate, candidate.parent );
374
+
375
+ // The parent should start receiving new nodes now, except if
376
+ // addElement changed the currentNode.
377
+ if ( candidate == currentNode )
378
+ currentNode = currentNode.parent;
379
+
380
+ pendingInline = pendingInline.concat( newPendingInline );
381
+ }
382
+
383
+ if ( tagName == 'body' )
384
+ fixForBody = false;
385
+ };
386
+
387
+ parser.onText = function( text )
388
+ {
389
+ // Trim empty spaces at beginning of text contents except <pre> and <textarea>.
390
+ if ( ( !currentNode._.hasInlineStarted || pendingBRs.length ) && !inPre && !inTextarea )
391
+ {
392
+ text = CKEDITOR.tools.ltrim( text );
393
+
394
+ if ( text.length === 0 )
395
+ return;
396
+ }
397
+
398
+ var currentName = currentNode.name,
399
+ currentDtd = currentName ? ( CKEDITOR.dtd[ currentName ]
400
+ || ( currentNode._.isBlockLike ?
401
+ CKEDITOR.dtd.div : CKEDITOR.dtd.span ) ) : rootDtd;
402
+
403
+ // Fix orphan text in list/table. (#8540) (#8870)
404
+ if ( !inTextarea &&
405
+ !currentDtd [ '#' ] &&
406
+ currentName in nonBreakingBlocks )
407
+ {
408
+ parser.onTagOpen( currentName in listBlocks ? 'li' :
409
+ currentName == 'dl' ? 'dd' :
410
+ currentName == 'table' ? 'tr' :
411
+ currentName == 'tr' ? 'td' : '' );
412
+ parser.onText( text );
413
+ return;
414
+ }
415
+
416
+ sendPendingBRs();
417
+ checkPending();
418
+
419
+ if ( fixForBody
420
+ && ( !currentNode.type || currentNode.name == 'body' )
421
+ && CKEDITOR.tools.trim( text ) )
422
+ {
423
+ this.onTagOpen( fixForBody, {}, 0, 1 );
424
+ }
425
+
426
+ // Shrinking consequential spaces into one single for all elements
427
+ // text contents.
428
+ if ( !inPre && !inTextarea )
429
+ text = text.replace( /[\t\r\n ]{2,}|[\t\r\n]/g, ' ' );
430
+
431
+ currentNode.add( new CKEDITOR.htmlParser.text( text ) );
432
+ };
433
+
434
+ parser.onCDATA = function( cdata )
435
+ {
436
+ currentNode.add( new CKEDITOR.htmlParser.cdata( cdata ) );
437
+ };
438
+
439
+ parser.onComment = function( comment )
440
+ {
441
+ sendPendingBRs();
442
+ checkPending();
443
+ currentNode.add( new CKEDITOR.htmlParser.comment( comment ) );
444
+ };
445
+
446
+ // Parse it.
447
+ parser.parse( fragmentHtml );
448
+
449
+ // Send all pending BRs except one, which we consider a unwanted bogus. (#5293)
450
+ sendPendingBRs( !CKEDITOR.env.ie && 1 );
451
+
452
+ // Close all pending nodes, make sure return point is properly restored.
453
+ while ( currentNode != fragment )
454
+ addElement( currentNode, currentNode.parent, 1 );
455
+
456
+ return fragment;
457
+ };
458
+
459
+ CKEDITOR.htmlParser.fragment.prototype =
460
+ {
461
+ /**
462
+ * Adds a node to this fragment.
463
+ * @param {Object} node The node to be added. It can be any of of the
464
+ * following types: {@link CKEDITOR.htmlParser.element},
465
+ * {@link CKEDITOR.htmlParser.text} and
466
+ * {@link CKEDITOR.htmlParser.comment}.
467
+ * @param {Number} [index] From where the insertion happens.
468
+ * @example
469
+ */
470
+ add : function( node, index )
471
+ {
472
+ isNaN( index ) && ( index = this.children.length );
473
+
474
+ var previous = index > 0 ? this.children[ index - 1 ] : null;
475
+ if ( previous )
476
+ {
477
+ // If the block to be appended is following text, trim spaces at
478
+ // the right of it.
479
+ if ( node._.isBlockLike && previous.type == CKEDITOR.NODE_TEXT )
480
+ {
481
+ previous.value = CKEDITOR.tools.rtrim( previous.value );
482
+
483
+ // If we have completely cleared the previous node.
484
+ if ( previous.value.length === 0 )
485
+ {
486
+ // Remove it from the list and add the node again.
487
+ this.children.pop();
488
+ this.add( node );
489
+ return;
490
+ }
491
+ }
492
+
493
+ previous.next = node;
494
+ }
495
+
496
+ node.previous = previous;
497
+ node.parent = this;
498
+
499
+ this.children.splice( index, 0, node );
500
+
501
+ this._.hasInlineStarted = node.type == CKEDITOR.NODE_TEXT || ( node.type == CKEDITOR.NODE_ELEMENT && !node._.isBlockLike );
502
+ },
503
+
504
+ /**
505
+ * Writes the fragment HTML to a CKEDITOR.htmlWriter.
506
+ * @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
507
+ * @example
508
+ * var writer = new CKEDITOR.htmlWriter();
509
+ * var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '&lt;P&gt;&lt;B&gt;Example' );
510
+ * fragment.writeHtml( writer )
511
+ * alert( writer.getHtml() ); "&lt;p&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/p&gt;"
512
+ */
513
+ writeHtml : function( writer, filter )
514
+ {
515
+ var isChildrenFiltered;
516
+ this.filterChildren = function()
517
+ {
518
+ var writer = new CKEDITOR.htmlParser.basicWriter();
519
+ this.writeChildrenHtml.call( this, writer, filter, true );
520
+ var html = writer.getHtml();
521
+ this.children = new CKEDITOR.htmlParser.fragment.fromHtml( html ).children;
522
+ isChildrenFiltered = 1;
523
+ };
524
+
525
+ // Filtering the root fragment before anything else.
526
+ !this.name && filter && filter.onFragment( this );
527
+
528
+ this.writeChildrenHtml( writer, isChildrenFiltered ? null : filter );
529
+ },
530
+
531
+ writeChildrenHtml : function( writer, filter )
532
+ {
533
+ for ( var i = 0 ; i < this.children.length ; i++ )
534
+ this.children[i].writeHtml( writer, filter );
535
+ }
536
+ };
537
+ })();