ckeditor-rails 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. data/README.md +10 -4
  2. data/ckeditor-rails.gemspec +1 -1
  3. data/lib/ckeditor-rails/version.rb +1 -1
  4. data/vendor/assets/ckeditor/ckeditor/INSTALL.html +92 -92
  5. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/application.xml +32 -32
  6. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/run.bat +9 -9
  7. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/sample.html +45 -45
  8. data/vendor/assets/ckeditor/ckeditor/_samples/ajax.html +98 -98
  9. data/vendor/assets/ckeditor/ckeditor/_samples/api.html +192 -192
  10. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog.html +198 -198
  11. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog/my_dialog.js +28 -28
  12. data/vendor/assets/ckeditor/ckeditor/_samples/asp/advanced.asp +105 -105
  13. data/vendor/assets/ckeditor/ckeditor/_samples/asp/events.asp +136 -136
  14. data/vendor/assets/ckeditor/ckeditor/_samples/asp/index.html +103 -103
  15. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replace.asp +72 -72
  16. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replaceall.asp +77 -77
  17. data/vendor/assets/ckeditor/ckeditor/_samples/asp/sample_posteddata.asp +46 -46
  18. data/vendor/assets/ckeditor/ckeditor/_samples/asp/standalone.asp +72 -72
  19. data/vendor/assets/ckeditor/ckeditor/_samples/assets/_posteddata.php +59 -59
  20. data/vendor/assets/ckeditor/ckeditor/_samples/assets/output_xhtml.css +204 -204
  21. data/vendor/assets/ckeditor/ckeditor/_samples/assets/parsesample.css +70 -70
  22. data/vendor/assets/ckeditor/ckeditor/_samples/assets/swfobject.js +18 -18
  23. data/vendor/assets/ckeditor/ckeditor/_samples/autogrow.html +107 -107
  24. data/vendor/assets/ckeditor/ckeditor/_samples/bbcode.html +125 -125
  25. data/vendor/assets/ckeditor/ckeditor/_samples/devtools.html +94 -94
  26. data/vendor/assets/ckeditor/ckeditor/_samples/divreplace.html +154 -154
  27. data/vendor/assets/ckeditor/ckeditor/_samples/enterkey.html +115 -115
  28. data/vendor/assets/ckeditor/ckeditor/_samples/fullpage.html +82 -82
  29. data/vendor/assets/ckeditor/ckeditor/_samples/index.html +116 -116
  30. data/vendor/assets/ckeditor/ckeditor/_samples/jqueryadapter.html +99 -99
  31. data/vendor/assets/ckeditor/ckeditor/_samples/output_for_flash.html +275 -275
  32. data/vendor/assets/ckeditor/ckeditor/_samples/output_html.html +285 -285
  33. data/vendor/assets/ckeditor/ckeditor/_samples/output_xhtml.html +177 -177
  34. data/vendor/assets/ckeditor/ckeditor/_samples/php/advanced.php +120 -120
  35. data/vendor/assets/ckeditor/ckeditor/_samples/php/events.php +153 -153
  36. data/vendor/assets/ckeditor/ckeditor/_samples/php/index.html +47 -47
  37. data/vendor/assets/ckeditor/ckeditor/_samples/php/replace.php +87 -87
  38. data/vendor/assets/ckeditor/ckeditor/_samples/php/replaceall.php +88 -88
  39. data/vendor/assets/ckeditor/ckeditor/_samples/php/standalone.php +83 -83
  40. data/vendor/assets/ckeditor/ckeditor/_samples/placeholder.html +81 -81
  41. data/vendor/assets/ckeditor/ckeditor/_samples/readonly.html +91 -91
  42. data/vendor/assets/ckeditor/ckeditor/_samples/replacebyclass.html +64 -64
  43. data/vendor/assets/ckeditor/ckeditor/_samples/replacebycode.html +97 -97
  44. data/vendor/assets/ckeditor/ckeditor/_samples/sample.css +163 -163
  45. data/vendor/assets/ckeditor/ckeditor/_samples/sample.js +65 -65
  46. data/vendor/assets/ckeditor/ckeditor/_samples/sample_posteddata.php +21 -21
  47. data/vendor/assets/ckeditor/ckeditor/_samples/sharedspaces.html +153 -153
  48. data/vendor/assets/ckeditor/ckeditor/_samples/skins.html +110 -110
  49. data/vendor/assets/ckeditor/ckeditor/_samples/stylesheetparser.html +93 -93
  50. data/vendor/assets/ckeditor/ckeditor/_samples/tableresize.html +115 -115
  51. data/vendor/assets/ckeditor/ckeditor/_samples/ui_color.html +129 -129
  52. data/vendor/assets/ckeditor/ckeditor/_samples/ui_languages.html +134 -134
  53. data/vendor/assets/ckeditor/ckeditor/_source/adapters/jquery.js +306 -306
  54. data/vendor/assets/ckeditor/ckeditor/_source/core/_bootstrap.js +87 -87
  55. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor.js +141 -141
  56. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_base.js +227 -227
  57. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_basic.js +238 -238
  58. data/vendor/assets/ckeditor/ckeditor/_source/core/command.js +209 -209
  59. data/vendor/assets/ckeditor/ckeditor/_source/core/commanddefinition.js +129 -129
  60. data/vendor/assets/ckeditor/ckeditor/_source/core/config.js +431 -431
  61. data/vendor/assets/ckeditor/ckeditor/_source/core/dataprocessor.js +65 -65
  62. data/vendor/assets/ckeditor/ckeditor/_source/core/dom.js +20 -20
  63. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/comment.js +32 -32
  64. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/document.js +251 -251
  65. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/documentfragment.js +49 -49
  66. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/domobject.js +258 -258
  67. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/element.js +1681 -1681
  68. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/elementpath.js +119 -119
  69. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/event.js +145 -145
  70. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/node.js +695 -695
  71. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/nodelist.js +26 -26
  72. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/range.js +2032 -2032
  73. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/rangelist.js +213 -213
  74. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/text.js +128 -128
  75. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/walker.js +462 -462
  76. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/window.js +96 -96
  77. data/vendor/assets/ckeditor/ckeditor/_source/core/dtd.js +266 -266
  78. data/vendor/assets/ckeditor/ckeditor/_source/core/editor.js +1059 -1059
  79. data/vendor/assets/ckeditor/ckeditor/_source/core/editor_basic.js +186 -186
  80. data/vendor/assets/ckeditor/ckeditor/_source/core/env.js +291 -291
  81. data/vendor/assets/ckeditor/ckeditor/_source/core/event.js +342 -342
  82. data/vendor/assets/ckeditor/ckeditor/_source/core/eventInfo.js +120 -120
  83. data/vendor/assets/ckeditor/ckeditor/_source/core/focusmanager.js +152 -152
  84. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser.js +224 -224
  85. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/basicwriter.js +145 -145
  86. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/cdata.js +43 -43
  87. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/comment.js +60 -60
  88. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/element.js +308 -308
  89. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/filter.js +288 -288
  90. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/fragment.js +497 -497
  91. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/text.js +55 -55
  92. data/vendor/assets/ckeditor/ckeditor/_source/core/lang.js +157 -157
  93. data/vendor/assets/ckeditor/ckeditor/_source/core/loader.js +240 -240
  94. data/vendor/assets/ckeditor/ckeditor/_source/core/plugindefinition.js +83 -83
  95. data/vendor/assets/ckeditor/ckeditor/_source/core/plugins.js +103 -103
  96. data/vendor/assets/ckeditor/ckeditor/_source/core/resourcemanager.js +238 -238
  97. data/vendor/assets/ckeditor/ckeditor/_source/core/scriptloader.js +180 -180
  98. data/vendor/assets/ckeditor/ckeditor/_source/core/skins.js +184 -184
  99. data/vendor/assets/ckeditor/ckeditor/_source/core/themes.js +19 -19
  100. data/vendor/assets/ckeditor/ckeditor/_source/core/tools.js +763 -763
  101. data/vendor/assets/ckeditor/ckeditor/_source/core/ui.js +128 -128
  102. data/vendor/assets/ckeditor/ckeditor/_source/lang/_languages.js +84 -84
  103. data/vendor/assets/ckeditor/ckeditor/_source/lang/_translationstatus.txt +61 -61
  104. data/vendor/assets/ckeditor/ckeditor/_source/lang/af.js +812 -812
  105. data/vendor/assets/ckeditor/ckeditor/_source/lang/ar.js +812 -812
  106. data/vendor/assets/ckeditor/ckeditor/_source/lang/bg.js +812 -812
  107. data/vendor/assets/ckeditor/ckeditor/_source/lang/bn.js +812 -812
  108. data/vendor/assets/ckeditor/ckeditor/_source/lang/bs.js +812 -812
  109. data/vendor/assets/ckeditor/ckeditor/_source/lang/ca.js +812 -812
  110. data/vendor/assets/ckeditor/ckeditor/_source/lang/cs.js +812 -812
  111. data/vendor/assets/ckeditor/ckeditor/_source/lang/cy.js +812 -812
  112. data/vendor/assets/ckeditor/ckeditor/_source/lang/da.js +812 -812
  113. data/vendor/assets/ckeditor/ckeditor/_source/lang/de.js +812 -812
  114. data/vendor/assets/ckeditor/ckeditor/_source/lang/el.js +812 -812
  115. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-au.js +812 -812
  116. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-ca.js +812 -812
  117. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-gb.js +812 -812
  118. data/vendor/assets/ckeditor/ckeditor/_source/lang/en.js +812 -812
  119. data/vendor/assets/ckeditor/ckeditor/_source/lang/eo.js +812 -812
  120. data/vendor/assets/ckeditor/ckeditor/_source/lang/es.js +812 -812
  121. data/vendor/assets/ckeditor/ckeditor/_source/lang/et.js +812 -812
  122. data/vendor/assets/ckeditor/ckeditor/_source/lang/eu.js +812 -812
  123. data/vendor/assets/ckeditor/ckeditor/_source/lang/fa.js +812 -812
  124. data/vendor/assets/ckeditor/ckeditor/_source/lang/fi.js +812 -812
  125. data/vendor/assets/ckeditor/ckeditor/_source/lang/fo.js +812 -812
  126. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr-ca.js +812 -812
  127. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr.js +812 -812
  128. data/vendor/assets/ckeditor/ckeditor/_source/lang/gl.js +812 -812
  129. data/vendor/assets/ckeditor/ckeditor/_source/lang/gu.js +812 -812
  130. data/vendor/assets/ckeditor/ckeditor/_source/lang/he.js +812 -812
  131. data/vendor/assets/ckeditor/ckeditor/_source/lang/hi.js +812 -812
  132. data/vendor/assets/ckeditor/ckeditor/_source/lang/hr.js +812 -812
  133. data/vendor/assets/ckeditor/ckeditor/_source/lang/hu.js +812 -812
  134. data/vendor/assets/ckeditor/ckeditor/_source/lang/is.js +812 -812
  135. data/vendor/assets/ckeditor/ckeditor/_source/lang/it.js +812 -812
  136. data/vendor/assets/ckeditor/ckeditor/_source/lang/ja.js +812 -812
  137. data/vendor/assets/ckeditor/ckeditor/_source/lang/ka.js +812 -812
  138. data/vendor/assets/ckeditor/ckeditor/_source/lang/km.js +812 -812
  139. data/vendor/assets/ckeditor/ckeditor/_source/lang/ko.js +812 -812
  140. data/vendor/assets/ckeditor/ckeditor/_source/lang/lt.js +812 -812
  141. data/vendor/assets/ckeditor/ckeditor/_source/lang/lv.js +812 -812
  142. data/vendor/assets/ckeditor/ckeditor/_source/lang/mn.js +812 -812
  143. data/vendor/assets/ckeditor/ckeditor/_source/lang/ms.js +812 -812
  144. data/vendor/assets/ckeditor/ckeditor/_source/lang/nb.js +812 -812
  145. data/vendor/assets/ckeditor/ckeditor/_source/lang/nl.js +812 -812
  146. data/vendor/assets/ckeditor/ckeditor/_source/lang/no.js +812 -812
  147. data/vendor/assets/ckeditor/ckeditor/_source/lang/pl.js +812 -812
  148. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt-br.js +811 -811
  149. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt.js +812 -812
  150. data/vendor/assets/ckeditor/ckeditor/_source/lang/ro.js +812 -812
  151. data/vendor/assets/ckeditor/ckeditor/_source/lang/ru.js +812 -812
  152. data/vendor/assets/ckeditor/ckeditor/_source/lang/sk.js +812 -812
  153. data/vendor/assets/ckeditor/ckeditor/_source/lang/sl.js +812 -812
  154. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr-latn.js +812 -812
  155. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr.js +812 -812
  156. data/vendor/assets/ckeditor/ckeditor/_source/lang/sv.js +811 -811
  157. data/vendor/assets/ckeditor/ckeditor/_source/lang/th.js +812 -812
  158. data/vendor/assets/ckeditor/ckeditor/_source/lang/tr.js +811 -811
  159. data/vendor/assets/ckeditor/ckeditor/_source/lang/uk.js +812 -812
  160. data/vendor/assets/ckeditor/ckeditor/_source/lang/vi.js +812 -812
  161. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh-cn.js +812 -812
  162. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh.js +812 -812
  163. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -222
  164. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -108
  165. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -216
  166. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -47
  167. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/dialogs/about.js +76 -76
  168. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/plugin.js +24 -24
  169. data/vendor/assets/ckeditor/ckeditor/_source/plugins/adobeair/plugin.js +228 -228
  170. data/vendor/assets/ckeditor/ckeditor/_source/plugins/ajax/plugin.js +152 -152
  171. data/vendor/assets/ckeditor/ckeditor/_source/plugins/autogrow/plugin.js +88 -88
  172. data/vendor/assets/ckeditor/ckeditor/_source/plugins/basicstyles/plugin.js +101 -101
  173. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bbcode/plugin.js +931 -931
  174. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bidi/plugin.js +334 -334
  175. data/vendor/assets/ckeditor/ckeditor/_source/plugins/blockquote/plugin.js +305 -305
  176. data/vendor/assets/ckeditor/ckeditor/_source/plugins/button/plugin.js +290 -290
  177. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -223
  178. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/plugin.js +453 -453
  179. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colorbutton/plugin.js +294 -294
  180. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -340
  181. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/plugin.js +15 -15
  182. data/vendor/assets/ckeditor/ckeditor/_source/plugins/contextmenu/plugin.js +177 -177
  183. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/en.js +16 -16
  184. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/plugin.js +173 -173
  185. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -1166
  186. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/plugin.js +3289 -3289
  187. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogadvtab/plugin.js +207 -207
  188. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogui/plugin.js +1541 -1541
  189. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/dialogs/div.js +535 -535
  190. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/plugin.js +121 -121
  191. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/dialogs/docprops.js +686 -686
  192. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/plugin.js +22 -22
  193. data/vendor/assets/ckeditor/ckeditor/_source/plugins/domiterator/plugin.js +361 -361
  194. data/vendor/assets/ckeditor/ckeditor/_source/plugins/editingblock/plugin.js +275 -275
  195. data/vendor/assets/ckeditor/ckeditor/_source/plugins/elementspath/plugin.js +218 -218
  196. data/vendor/assets/ckeditor/ckeditor/_source/plugins/enterkey/plugin.js +413 -413
  197. data/vendor/assets/ckeditor/ckeditor/_source/plugins/entities/plugin.js +250 -250
  198. data/vendor/assets/ckeditor/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -175
  199. data/vendor/assets/ckeditor/ckeditor/_source/plugins/filebrowser/plugin.js +524 -524
  200. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/dialogs/find.js +903 -903
  201. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/plugin.js +47 -47
  202. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/dialogs/flash.js +673 -673
  203. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/plugin.js +154 -154
  204. data/vendor/assets/ckeditor/ckeditor/_source/plugins/floatpanel/plugin.js +428 -428
  205. data/vendor/assets/ckeditor/ckeditor/_source/plugins/font/plugin.js +234 -234
  206. data/vendor/assets/ckeditor/ckeditor/_source/plugins/format/plugin.js +197 -197
  207. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/button.js +118 -118
  208. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -153
  209. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/form.js +177 -177
  210. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -100
  211. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -135
  212. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/select.js +558 -558
  213. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -114
  214. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -199
  215. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/plugin.js +288 -288
  216. data/vendor/assets/ckeditor/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -48
  217. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmldataprocessor/plugin.js +595 -595
  218. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -319
  219. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -229
  220. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/plugin.js +87 -87
  221. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframedialog/plugin.js +188 -188
  222. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/dialogs/image.js +1406 -1406
  223. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/plugin.js +81 -81
  224. data/vendor/assets/ckeditor/ckeditor/_source/plugins/indent/plugin.js +461 -461
  225. data/vendor/assets/ckeditor/ckeditor/_source/plugins/justify/plugin.js +253 -253
  226. data/vendor/assets/ckeditor/ckeditor/_source/plugins/keystrokes/plugin.js +225 -225
  227. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -144
  228. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/link.js +1424 -1424
  229. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/plugin.js +374 -374
  230. data/vendor/assets/ckeditor/ckeditor/_source/plugins/list/plugin.js +734 -734
  231. data/vendor/assets/ckeditor/ckeditor/_source/plugins/listblock/plugin.js +268 -268
  232. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -225
  233. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/plugin.js +66 -66
  234. data/vendor/assets/ckeditor/ckeditor/_source/plugins/maximize/plugin.js +352 -352
  235. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menu/plugin.js +541 -541
  236. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menubutton/plugin.js +98 -98
  237. data/vendor/assets/ckeditor/ckeditor/_source/plugins/newpage/plugin.js +54 -54
  238. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pagebreak/plugin.js +164 -164
  239. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panel/plugin.js +403 -403
  240. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panelbutton/plugin.js +144 -144
  241. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -1367
  242. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/plugin.js +141 -141
  243. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -67
  244. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/plugin.js +98 -98
  245. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -71
  246. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/en.js +16 -16
  247. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/he.js +16 -16
  248. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/plugin.js +171 -171
  249. data/vendor/assets/ckeditor/ckeditor/_source/plugins/popup/plugin.js +64 -64
  250. data/vendor/assets/ckeditor/ckeditor/_source/plugins/preview/plugin.js +109 -109
  251. data/vendor/assets/ckeditor/ckeditor/_source/plugins/print/plugin.js +42 -42
  252. data/vendor/assets/ckeditor/ckeditor/_source/plugins/removeformat/plugin.js +185 -185
  253. data/vendor/assets/ckeditor/ckeditor/_source/plugins/resize/plugin.js +168 -168
  254. data/vendor/assets/ckeditor/ckeditor/_source/plugins/richcombo/plugin.js +381 -381
  255. data/vendor/assets/ckeditor/ckeditor/_source/plugins/save/plugin.js +56 -56
  256. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -537
  257. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -71
  258. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/plugin.js +964 -964
  259. data/vendor/assets/ckeditor/ckeditor/_source/plugins/selection/plugin.js +1601 -1601
  260. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showblocks/plugin.js +160 -160
  261. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showborders/plugin.js +207 -207
  262. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -224
  263. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/plugin.js +94 -94
  264. data/vendor/assets/ckeditor/ckeditor/_source/plugins/sourcearea/plugin.js +209 -209
  265. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -350
  266. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/en.js +89 -89
  267. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/plugin.js +70 -70
  268. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/plugin.js +1696 -1696
  269. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/styles/default.js +88 -88
  270. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylescombo/plugin.js +218 -218
  271. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -148
  272. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tab/plugin.js +367 -367
  273. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/dialogs/table.js +602 -602
  274. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/plugin.js +78 -78
  275. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tableresize/plugin.js +443 -443
  276. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -525
  277. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/plugin.js +1194 -1194
  278. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -234
  279. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/plugin.js +99 -99
  280. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/templates/default.js +94 -94
  281. data/vendor/assets/ckeditor/ckeditor/_source/plugins/toolbar/plugin.js +545 -545
  282. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -205
  283. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/en.js +15 -15
  284. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/he.js +15 -15
  285. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/plugin.js +37 -37
  286. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -15
  287. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -71
  288. data/vendor/assets/ckeditor/ckeditor/_source/plugins/undo/plugin.js +580 -580
  289. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -49
  290. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -52
  291. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -82
  292. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -192
  293. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/plugin.js +33 -33
  294. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wysiwygarea/plugin.js +1351 -1351
  295. data/vendor/assets/ckeditor/ckeditor/_source/plugins/xml/plugin.js +170 -170
  296. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/dialog.css +943 -943
  297. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/editor.css +25 -25
  298. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/elementspath.css +73 -73
  299. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/icons.css +366 -366
  300. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/mainui.css +203 -203
  301. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/menu.css +232 -232
  302. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/panel.css +217 -217
  303. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/presets.css +49 -49
  304. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/reset.css +84 -84
  305. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/richcombo.css +287 -287
  306. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/skin.js +236 -236
  307. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/templates.css +88 -88
  308. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/toolbar.css +407 -407
  309. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/dialog.css +844 -844
  310. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/editor.css +25 -25
  311. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/elementspath.css +74 -74
  312. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/icons.css +363 -363
  313. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/mainui.css +153 -153
  314. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/menu.css +229 -229
  315. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/panel.css +212 -212
  316. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/presets.css +49 -49
  317. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/reset.css +84 -84
  318. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/richcombo.css +309 -309
  319. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/skin.js +74 -74
  320. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/templates.css +87 -87
  321. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/toolbar.css +522 -522
  322. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/dialog.css +861 -861
  323. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/editor.css +25 -25
  324. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/elementspath.css +74 -74
  325. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/icons.css +363 -363
  326. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/mainui.css +162 -162
  327. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/menu.css +232 -232
  328. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/panel.css +212 -212
  329. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/presets.css +50 -50
  330. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/reset.css +84 -84
  331. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/richcombo.css +302 -302
  332. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/skin.js +70 -70
  333. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/templates.css +87 -87
  334. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/toolbar.css +465 -465
  335. data/vendor/assets/ckeditor/ckeditor/_source/themes/default/theme.js +395 -395
  336. data/vendor/assets/ckeditor/ckeditor/adapters/jquery.js +6 -6
  337. data/vendor/assets/ckeditor/ckeditor/ckeditor.asp +955 -955
  338. data/vendor/assets/ckeditor/ckeditor/ckeditor.pack +211 -211
  339. data/vendor/assets/ckeditor/ckeditor/ckeditor.php +29 -29
  340. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic.js +8 -8
  341. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic_source.js +20 -20
  342. data/vendor/assets/ckeditor/ckeditor/ckeditor_php4.php +566 -566
  343. data/vendor/assets/ckeditor/ckeditor/ckeditor_php5.php +556 -556
  344. data/vendor/assets/ckeditor/ckeditor/config.js +11 -11
  345. data/vendor/assets/ckeditor/ckeditor/contents.css +25 -25
  346. data/vendor/assets/ckeditor/ckeditor/themes/default/theme.js +8 -8
  347. metadata +7 -9
@@ -1,47 +1,47 @@
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
- CKEDITOR.plugins.add( 'find',
7
- {
8
- init : function( editor )
9
- {
10
- var forms = CKEDITOR.plugins.find;
11
- editor.ui.addButton( 'Find',
12
- {
13
- label : editor.lang.findAndReplace.find,
14
- command : 'find'
15
- });
16
- var findCommand = editor.addCommand( 'find', new CKEDITOR.dialogCommand( 'find' ) );
17
- findCommand.canUndo = false;
18
- findCommand.readOnly = 1;
19
-
20
- editor.ui.addButton( 'Replace',
21
- {
22
- label : editor.lang.findAndReplace.replace,
23
- command : 'replace'
24
- });
25
- var replaceCommand = editor.addCommand( 'replace', new CKEDITOR.dialogCommand( 'replace' ) );
26
- replaceCommand.canUndo = false;
27
-
28
- CKEDITOR.dialog.add( 'find', this.path + 'dialogs/find.js' );
29
- CKEDITOR.dialog.add( 'replace', this.path + 'dialogs/find.js' );
30
- },
31
-
32
- requires : [ 'styles' ]
33
- } );
34
-
35
- /**
36
- * Defines the style to be used to highlight results with the find dialog.
37
- * @type Object
38
- * @default { element : 'span', styles : { 'background-color' : '#004', 'color' : '#fff' } }
39
- * @example
40
- * // Highlight search results with blue on yellow.
41
- * config.find_highlight =
42
- * {
43
- * element : 'span',
44
- * styles : { 'background-color' : '#ff0', 'color' : '#00f' }
45
- * };
46
- */
47
- CKEDITOR.config.find_highlight = { element : 'span', styles : { 'background-color' : '#004', 'color' : '#fff' } };
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
+ CKEDITOR.plugins.add( 'find',
7
+ {
8
+ init : function( editor )
9
+ {
10
+ var forms = CKEDITOR.plugins.find;
11
+ editor.ui.addButton( 'Find',
12
+ {
13
+ label : editor.lang.findAndReplace.find,
14
+ command : 'find'
15
+ });
16
+ var findCommand = editor.addCommand( 'find', new CKEDITOR.dialogCommand( 'find' ) );
17
+ findCommand.canUndo = false;
18
+ findCommand.readOnly = 1;
19
+
20
+ editor.ui.addButton( 'Replace',
21
+ {
22
+ label : editor.lang.findAndReplace.replace,
23
+ command : 'replace'
24
+ });
25
+ var replaceCommand = editor.addCommand( 'replace', new CKEDITOR.dialogCommand( 'replace' ) );
26
+ replaceCommand.canUndo = false;
27
+
28
+ CKEDITOR.dialog.add( 'find', this.path + 'dialogs/find.js' );
29
+ CKEDITOR.dialog.add( 'replace', this.path + 'dialogs/find.js' );
30
+ },
31
+
32
+ requires : [ 'styles' ]
33
+ } );
34
+
35
+ /**
36
+ * Defines the style to be used to highlight results with the find dialog.
37
+ * @type Object
38
+ * @default { element : 'span', styles : { 'background-color' : '#004', 'color' : '#fff' } }
39
+ * @example
40
+ * // Highlight search results with blue on yellow.
41
+ * config.find_highlight =
42
+ * {
43
+ * element : 'span',
44
+ * styles : { 'background-color' : '#ff0', 'color' : '#00f' }
45
+ * };
46
+ */
47
+ CKEDITOR.config.find_highlight = { element : 'span', styles : { 'background-color' : '#004', 'color' : '#fff' } };
@@ -1,673 +1,673 @@
1
- /*
2
- Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- (function()
7
- {
8
- /*
9
- * It is possible to set things in three different places.
10
- * 1. As attributes in the object tag.
11
- * 2. As param tags under the object tag.
12
- * 3. As attributes in the embed tag.
13
- * It is possible for a single attribute to be present in more than one place.
14
- * So let's define a mapping between a sementic attribute and its syntactic
15
- * equivalents.
16
- * Then we'll set and retrieve attribute values according to the mapping,
17
- * instead of having to check and set each syntactic attribute every time.
18
- *
19
- * Reference: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701
20
- */
21
- var ATTRTYPE_OBJECT = 1,
22
- ATTRTYPE_PARAM = 2,
23
- ATTRTYPE_EMBED = 4;
24
-
25
- var attributesMap =
26
- {
27
- id : [ { type : ATTRTYPE_OBJECT, name : 'id' } ],
28
- classid : [ { type : ATTRTYPE_OBJECT, name : 'classid' } ],
29
- codebase : [ { type : ATTRTYPE_OBJECT, name : 'codebase'} ],
30
- pluginspage : [ { type : ATTRTYPE_EMBED, name : 'pluginspage' } ],
31
- src : [ { type : ATTRTYPE_PARAM, name : 'movie' }, { type : ATTRTYPE_EMBED, name : 'src' }, { type : ATTRTYPE_OBJECT, name : 'data' } ],
32
- name : [ { type : ATTRTYPE_EMBED, name : 'name' } ],
33
- align : [ { type : ATTRTYPE_OBJECT, name : 'align' } ],
34
- title : [ { type : ATTRTYPE_OBJECT, name : 'title' }, { type : ATTRTYPE_EMBED, name : 'title' } ],
35
- 'class' : [ { type : ATTRTYPE_OBJECT, name : 'class' }, { type : ATTRTYPE_EMBED, name : 'class'} ],
36
- width : [ { type : ATTRTYPE_OBJECT, name : 'width' }, { type : ATTRTYPE_EMBED, name : 'width' } ],
37
- height : [ { type : ATTRTYPE_OBJECT, name : 'height' }, { type : ATTRTYPE_EMBED, name : 'height' } ],
38
- hSpace : [ { type : ATTRTYPE_OBJECT, name : 'hSpace' }, { type : ATTRTYPE_EMBED, name : 'hSpace' } ],
39
- vSpace : [ { type : ATTRTYPE_OBJECT, name : 'vSpace' }, { type : ATTRTYPE_EMBED, name : 'vSpace' } ],
40
- style : [ { type : ATTRTYPE_OBJECT, name : 'style' }, { type : ATTRTYPE_EMBED, name : 'style' } ],
41
- type : [ { type : ATTRTYPE_EMBED, name : 'type' } ]
42
- };
43
-
44
- var names = [ 'play', 'loop', 'menu', 'quality', 'scale', 'salign', 'wmode', 'bgcolor', 'base', 'flashvars', 'allowScriptAccess',
45
- 'allowFullScreen' ];
46
- for ( var i = 0 ; i < names.length ; i++ )
47
- attributesMap[ names[i] ] = [ { type : ATTRTYPE_EMBED, name : names[i] }, { type : ATTRTYPE_PARAM, name : names[i] } ];
48
- names = [ 'allowFullScreen', 'play', 'loop', 'menu' ];
49
- for ( i = 0 ; i < names.length ; i++ )
50
- attributesMap[ names[i] ][0]['default'] = attributesMap[ names[i] ][1]['default'] = true;
51
-
52
- var defaultToPixel = CKEDITOR.tools.cssLength;
53
-
54
- function loadValue( objectNode, embedNode, paramMap )
55
- {
56
- var attributes = attributesMap[ this.id ];
57
- if ( !attributes )
58
- return;
59
-
60
- var isCheckbox = ( this instanceof CKEDITOR.ui.dialog.checkbox );
61
- for ( var i = 0 ; i < attributes.length ; i++ )
62
- {
63
- var attrDef = attributes[ i ];
64
- switch ( attrDef.type )
65
- {
66
- case ATTRTYPE_OBJECT:
67
- if ( !objectNode )
68
- continue;
69
- if ( objectNode.getAttribute( attrDef.name ) !== null )
70
- {
71
- var value = objectNode.getAttribute( attrDef.name );
72
- if ( isCheckbox )
73
- this.setValue( value.toLowerCase() == 'true' );
74
- else
75
- this.setValue( value );
76
- return;
77
- }
78
- else if ( isCheckbox )
79
- this.setValue( !!attrDef[ 'default' ] );
80
- break;
81
- case ATTRTYPE_PARAM:
82
- if ( !objectNode )
83
- continue;
84
- if ( attrDef.name in paramMap )
85
- {
86
- value = paramMap[ attrDef.name ];
87
- if ( isCheckbox )
88
- this.setValue( value.toLowerCase() == 'true' );
89
- else
90
- this.setValue( value );
91
- return;
92
- }
93
- else if ( isCheckbox )
94
- this.setValue( !!attrDef[ 'default' ] );
95
- break;
96
- case ATTRTYPE_EMBED:
97
- if ( !embedNode )
98
- continue;
99
- if ( embedNode.getAttribute( attrDef.name ) )
100
- {
101
- value = embedNode.getAttribute( attrDef.name );
102
- if ( isCheckbox )
103
- this.setValue( value.toLowerCase() == 'true' );
104
- else
105
- this.setValue( value );
106
- return;
107
- }
108
- else if ( isCheckbox )
109
- this.setValue( !!attrDef[ 'default' ] );
110
- }
111
- }
112
- }
113
-
114
- function commitValue( objectNode, embedNode, paramMap )
115
- {
116
- var attributes = attributesMap[ this.id ];
117
- if ( !attributes )
118
- return;
119
-
120
- var isRemove = ( this.getValue() === '' ),
121
- isCheckbox = ( this instanceof CKEDITOR.ui.dialog.checkbox );
122
-
123
- for ( var i = 0 ; i < attributes.length ; i++ )
124
- {
125
- var attrDef = attributes[i];
126
- switch ( attrDef.type )
127
- {
128
- case ATTRTYPE_OBJECT:
129
- // Avoid applying the data attribute when not needed (#7733)
130
- if ( !objectNode || ( attrDef.name == 'data' && embedNode && !objectNode.hasAttribute( 'data' ) ) )
131
- continue;
132
- var value = this.getValue();
133
- if ( isRemove || isCheckbox && value === attrDef[ 'default' ] )
134
- objectNode.removeAttribute( attrDef.name );
135
- else
136
- objectNode.setAttribute( attrDef.name, value );
137
- break;
138
- case ATTRTYPE_PARAM:
139
- if ( !objectNode )
140
- continue;
141
- value = this.getValue();
142
- if ( isRemove || isCheckbox && value === attrDef[ 'default' ] )
143
- {
144
- if ( attrDef.name in paramMap )
145
- paramMap[ attrDef.name ].remove();
146
- }
147
- else
148
- {
149
- if ( attrDef.name in paramMap )
150
- paramMap[ attrDef.name ].setAttribute( 'value', value );
151
- else
152
- {
153
- var param = CKEDITOR.dom.element.createFromHtml( '<cke:param></cke:param>', objectNode.getDocument() );
154
- param.setAttributes( { name : attrDef.name, value : value } );
155
- if ( objectNode.getChildCount() < 1 )
156
- param.appendTo( objectNode );
157
- else
158
- param.insertBefore( objectNode.getFirst() );
159
- }
160
- }
161
- break;
162
- case ATTRTYPE_EMBED:
163
- if ( !embedNode )
164
- continue;
165
- value = this.getValue();
166
- if ( isRemove || isCheckbox && value === attrDef[ 'default' ])
167
- embedNode.removeAttribute( attrDef.name );
168
- else
169
- embedNode.setAttribute( attrDef.name, value );
170
- }
171
- }
172
- }
173
-
174
- CKEDITOR.dialog.add( 'flash', function( editor )
175
- {
176
- var makeObjectTag = !editor.config.flashEmbedTagOnly,
177
- makeEmbedTag = editor.config.flashAddEmbedTag || editor.config.flashEmbedTagOnly;
178
-
179
- var previewPreloader,
180
- previewAreaHtml = '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'<br>' +
181
- '<div id="cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading">&nbsp;</div></div>' +
182
- '<div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';
183
-
184
- return {
185
- title : editor.lang.flash.title,
186
- minWidth : 420,
187
- minHeight : 310,
188
- onShow : function()
189
- {
190
- // Clear previously saved elements.
191
- this.fakeImage = this.objectNode = this.embedNode = null;
192
- previewPreloader = new CKEDITOR.dom.element( 'embed', editor.document );
193
-
194
- // Try to detect any embed or object tag that has Flash parameters.
195
- var fakeImage = this.getSelectedElement();
196
- if ( fakeImage && fakeImage.data( 'cke-real-element-type' ) && fakeImage.data( 'cke-real-element-type' ) == 'flash' )
197
- {
198
- this.fakeImage = fakeImage;
199
-
200
- var realElement = editor.restoreRealElement( fakeImage ),
201
- objectNode = null, embedNode = null, paramMap = {};
202
- if ( realElement.getName() == 'cke:object' )
203
- {
204
- objectNode = realElement;
205
- var embedList = objectNode.getElementsByTag( 'embed', 'cke' );
206
- if ( embedList.count() > 0 )
207
- embedNode = embedList.getItem( 0 );
208
- var paramList = objectNode.getElementsByTag( 'param', 'cke' );
209
- for ( var i = 0, length = paramList.count() ; i < length ; i++ )
210
- {
211
- var item = paramList.getItem( i ),
212
- name = item.getAttribute( 'name' ),
213
- value = item.getAttribute( 'value' );
214
- paramMap[ name ] = value;
215
- }
216
- }
217
- else if ( realElement.getName() == 'cke:embed' )
218
- embedNode = realElement;
219
-
220
- this.objectNode = objectNode;
221
- this.embedNode = embedNode;
222
-
223
- this.setupContent( objectNode, embedNode, paramMap, fakeImage );
224
- }
225
- },
226
- onOk : function()
227
- {
228
- // If there's no selected object or embed, create one. Otherwise, reuse the
229
- // selected object and embed nodes.
230
- var objectNode = null,
231
- embedNode = null,
232
- paramMap = null;
233
- if ( !this.fakeImage )
234
- {
235
- if ( makeObjectTag )
236
- {
237
- objectNode = CKEDITOR.dom.element.createFromHtml( '<cke:object></cke:object>', editor.document );
238
- var attributes = {
239
- classid : 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
240
- codebase : 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'
241
- };
242
- objectNode.setAttributes( attributes );
243
- }
244
- if ( makeEmbedTag )
245
- {
246
- embedNode = CKEDITOR.dom.element.createFromHtml( '<cke:embed></cke:embed>', editor.document );
247
- embedNode.setAttributes(
248
- {
249
- type : 'application/x-shockwave-flash',
250
- pluginspage : 'http://www.macromedia.com/go/getflashplayer'
251
- } );
252
- if ( objectNode )
253
- embedNode.appendTo( objectNode );
254
- }
255
- }
256
- else
257
- {
258
- objectNode = this.objectNode;
259
- embedNode = this.embedNode;
260
- }
261
-
262
- // Produce the paramMap if there's an object tag.
263
- if ( objectNode )
264
- {
265
- paramMap = {};
266
- var paramList = objectNode.getElementsByTag( 'param', 'cke' );
267
- for ( var i = 0, length = paramList.count() ; i < length ; i++ )
268
- paramMap[ paramList.getItem( i ).getAttribute( 'name' ) ] = paramList.getItem( i );
269
- }
270
-
271
- // A subset of the specified attributes/styles
272
- // should also be applied on the fake element to
273
- // have better visual effect. (#5240)
274
- var extraStyles = {}, extraAttributes = {};
275
- this.commitContent( objectNode, embedNode, paramMap, extraStyles, extraAttributes );
276
-
277
- // Refresh the fake image.
278
- var newFakeImage = editor.createFakeElement( objectNode || embedNode, 'cke_flash', 'flash', true );
279
- newFakeImage.setAttributes( extraAttributes );
280
- newFakeImage.setStyles( extraStyles );
281
- if ( this.fakeImage )
282
- {
283
- newFakeImage.replace( this.fakeImage );
284
- editor.getSelection().selectElement( newFakeImage );
285
- }
286
- else
287
- editor.insertElement( newFakeImage );
288
- },
289
-
290
- onHide : function()
291
- {
292
- if ( this.preview )
293
- this.preview.setHtml('');
294
- },
295
-
296
- contents : [
297
- {
298
- id : 'info',
299
- label : editor.lang.common.generalTab,
300
- accessKey : 'I',
301
- elements :
302
- [
303
- {
304
- type : 'vbox',
305
- padding : 0,
306
- children :
307
- [
308
- {
309
- type : 'hbox',
310
- widths : [ '280px', '110px' ],
311
- align : 'right',
312
- children :
313
- [
314
- {
315
- id : 'src',
316
- type : 'text',
317
- label : editor.lang.common.url,
318
- required : true,
319
- validate : CKEDITOR.dialog.validate.notEmpty( editor.lang.flash.validateSrc ),
320
- setup : loadValue,
321
- commit : commitValue,
322
- onLoad : function()
323
- {
324
- var dialog = this.getDialog(),
325
- updatePreview = function( src ){
326
- // Query the preloader to figure out the url impacted by based href.
327
- previewPreloader.setAttribute( 'src', src );
328
- dialog.preview.setHtml( '<embed height="100%" width="100%" src="'
329
- + CKEDITOR.tools.htmlEncode( previewPreloader.getAttribute( 'src' ) )
330
- + '" type="application/x-shockwave-flash"></embed>' );
331
- };
332
- // Preview element
333
- dialog.preview = dialog.getContentElement( 'info', 'preview' ).getElement().getChild( 3 );
334
-
335
- // Sync on inital value loaded.
336
- this.on( 'change', function( evt ){
337
-
338
- if ( evt.data && evt.data.value )
339
- updatePreview( evt.data.value );
340
- } );
341
- // Sync when input value changed.
342
- this.getInputElement().on( 'change', function( evt ){
343
-
344
- updatePreview( this.getValue() );
345
- }, this );
346
- }
347
- },
348
- {
349
- type : 'button',
350
- id : 'browse',
351
- filebrowser : 'info:src',
352
- hidden : true,
353
- // v-align with the 'src' field.
354
- // TODO: We need something better than a fixed size here.
355
- style : 'display:inline-block;margin-top:10px;',
356
- label : editor.lang.common.browseServer
357
- }
358
- ]
359
- }
360
- ]
361
- },
362
- {
363
- type : 'hbox',
364
- widths : [ '25%', '25%', '25%', '25%', '25%' ],
365
- children :
366
- [
367
- {
368
- type : 'text',
369
- id : 'width',
370
- style : 'width:95px',
371
- label : editor.lang.common.width,
372
- validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength.replace( '%1', editor.lang.common.width ) ),
373
- setup : loadValue,
374
- commit : commitValue
375
- },
376
- {
377
- type : 'text',
378
- id : 'height',
379
- style : 'width:95px',
380
- label : editor.lang.common.height,
381
- validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength.replace( '%1', editor.lang.common.height ) ),
382
- setup : loadValue,
383
- commit : commitValue
384
- },
385
- {
386
- type : 'text',
387
- id : 'hSpace',
388
- style : 'width:95px',
389
- label : editor.lang.flash.hSpace,
390
- validate : CKEDITOR.dialog.validate.integer( editor.lang.flash.validateHSpace ),
391
- setup : loadValue,
392
- commit : commitValue
393
- },
394
- {
395
- type : 'text',
396
- id : 'vSpace',
397
- style : 'width:95px',
398
- label : editor.lang.flash.vSpace,
399
- validate : CKEDITOR.dialog.validate.integer( editor.lang.flash.validateVSpace ),
400
- setup : loadValue,
401
- commit : commitValue
402
- }
403
- ]
404
- },
405
-
406
- {
407
- type : 'vbox',
408
- children :
409
- [
410
- {
411
- type : 'html',
412
- id : 'preview',
413
- style : 'width:95%;',
414
- html : previewAreaHtml
415
- }
416
- ]
417
- }
418
- ]
419
- },
420
- {
421
- id : 'Upload',
422
- hidden : true,
423
- filebrowser : 'uploadButton',
424
- label : editor.lang.common.upload,
425
- elements :
426
- [
427
- {
428
- type : 'file',
429
- id : 'upload',
430
- label : editor.lang.common.upload,
431
- size : 38
432
- },
433
- {
434
- type : 'fileButton',
435
- id : 'uploadButton',
436
- label : editor.lang.common.uploadSubmit,
437
- filebrowser : 'info:src',
438
- 'for' : [ 'Upload', 'upload' ]
439
- }
440
- ]
441
- },
442
- {
443
- id : 'properties',
444
- label : editor.lang.flash.propertiesTab,
445
- elements :
446
- [
447
- {
448
- type : 'hbox',
449
- widths : [ '50%', '50%' ],
450
- children :
451
- [
452
- {
453
- id : 'scale',
454
- type : 'select',
455
- label : editor.lang.flash.scale,
456
- 'default' : '',
457
- style : 'width : 100%;',
458
- items :
459
- [
460
- [ editor.lang.common.notSet , ''],
461
- [ editor.lang.flash.scaleAll, 'showall' ],
462
- [ editor.lang.flash.scaleNoBorder, 'noborder' ],
463
- [ editor.lang.flash.scaleFit, 'exactfit' ]
464
- ],
465
- setup : loadValue,
466
- commit : commitValue
467
- },
468
- {
469
- id : 'allowScriptAccess',
470
- type : 'select',
471
- label : editor.lang.flash.access,
472
- 'default' : '',
473
- style : 'width : 100%;',
474
- items :
475
- [
476
- [ editor.lang.common.notSet , ''],
477
- [ editor.lang.flash.accessAlways, 'always' ],
478
- [ editor.lang.flash.accessSameDomain, 'samedomain' ],
479
- [ editor.lang.flash.accessNever, 'never' ]
480
- ],
481
- setup : loadValue,
482
- commit : commitValue
483
- }
484
- ]
485
- },
486
- {
487
- type : 'hbox',
488
- widths : [ '50%', '50%' ],
489
- children :
490
- [
491
- {
492
- id : 'wmode',
493
- type : 'select',
494
- label : editor.lang.flash.windowMode,
495
- 'default' : '',
496
- style : 'width : 100%;',
497
- items :
498
- [
499
- [ editor.lang.common.notSet , '' ],
500
- [ editor.lang.flash.windowModeWindow, 'window' ],
501
- [ editor.lang.flash.windowModeOpaque, 'opaque' ],
502
- [ editor.lang.flash.windowModeTransparent, 'transparent' ]
503
- ],
504
- setup : loadValue,
505
- commit : commitValue
506
- },
507
- {
508
- id : 'quality',
509
- type : 'select',
510
- label : editor.lang.flash.quality,
511
- 'default' : 'high',
512
- style : 'width : 100%;',
513
- items :
514
- [
515
- [ editor.lang.common.notSet , '' ],
516
- [ editor.lang.flash.qualityBest, 'best' ],
517
- [ editor.lang.flash.qualityHigh, 'high' ],
518
- [ editor.lang.flash.qualityAutoHigh, 'autohigh' ],
519
- [ editor.lang.flash.qualityMedium, 'medium' ],
520
- [ editor.lang.flash.qualityAutoLow, 'autolow' ],
521
- [ editor.lang.flash.qualityLow, 'low' ]
522
- ],
523
- setup : loadValue,
524
- commit : commitValue
525
- }
526
- ]
527
- },
528
- {
529
- type : 'hbox',
530
- widths : [ '50%', '50%' ],
531
- children :
532
- [
533
- {
534
- id : 'align',
535
- type : 'select',
536
- label : editor.lang.common.align,
537
- 'default' : '',
538
- style : 'width : 100%;',
539
- items :
540
- [
541
- [ editor.lang.common.notSet , ''],
542
- [ editor.lang.common.alignLeft , 'left'],
543
- [ editor.lang.flash.alignAbsBottom , 'absBottom'],
544
- [ editor.lang.flash.alignAbsMiddle , 'absMiddle'],
545
- [ editor.lang.flash.alignBaseline , 'baseline'],
546
- [ editor.lang.common.alignBottom , 'bottom'],
547
- [ editor.lang.common.alignMiddle , 'middle'],
548
- [ editor.lang.common.alignRight , 'right'],
549
- [ editor.lang.flash.alignTextTop , 'textTop'],
550
- [ editor.lang.common.alignTop , 'top']
551
- ],
552
- setup : loadValue,
553
- commit : function( objectNode, embedNode, paramMap, extraStyles, extraAttributes )
554
- {
555
- var value = this.getValue();
556
- commitValue.apply( this, arguments );
557
- value && ( extraAttributes.align = value );
558
- }
559
- },
560
- {
561
- type : 'html',
562
- html : '<div></div>'
563
- }
564
- ]
565
- },
566
- {
567
- type : 'fieldset',
568
- label : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ),
569
- children :
570
- [
571
- {
572
- type : 'vbox',
573
- padding : 0,
574
- children :
575
- [
576
- {
577
- type : 'checkbox',
578
- id : 'menu',
579
- label : editor.lang.flash.chkMenu,
580
- 'default' : true,
581
- setup : loadValue,
582
- commit : commitValue
583
- },
584
- {
585
- type : 'checkbox',
586
- id : 'play',
587
- label : editor.lang.flash.chkPlay,
588
- 'default' : true,
589
- setup : loadValue,
590
- commit : commitValue
591
- },
592
- {
593
- type : 'checkbox',
594
- id : 'loop',
595
- label : editor.lang.flash.chkLoop,
596
- 'default' : true,
597
- setup : loadValue,
598
- commit : commitValue
599
- },
600
- {
601
- type : 'checkbox',
602
- id : 'allowFullScreen',
603
- label : editor.lang.flash.chkFull,
604
- 'default' : true,
605
- setup : loadValue,
606
- commit : commitValue
607
- }
608
- ]
609
- }
610
- ]
611
- }
612
- ]
613
- },
614
- {
615
- id : 'advanced',
616
- label : editor.lang.common.advancedTab,
617
- elements :
618
- [
619
- {
620
- type : 'hbox',
621
- widths : [ '45%', '55%' ],
622
- children :
623
- [
624
- {
625
- type : 'text',
626
- id : 'id',
627
- label : editor.lang.common.id,
628
- setup : loadValue,
629
- commit : commitValue
630
- },
631
- {
632
- type : 'text',
633
- id : 'title',
634
- label : editor.lang.common.advisoryTitle,
635
- setup : loadValue,
636
- commit : commitValue
637
- }
638
- ]
639
- },
640
- {
641
- type : 'hbox',
642
- widths : [ '45%', '55%' ],
643
- children :
644
- [
645
- {
646
- type : 'text',
647
- id : 'bgcolor',
648
- label : editor.lang.flash.bgcolor,
649
- setup : loadValue,
650
- commit : commitValue
651
- },
652
- {
653
- type : 'text',
654
- id : 'class',
655
- label : editor.lang.common.cssClass,
656
- setup : loadValue,
657
- commit : commitValue
658
- }
659
- ]
660
- },
661
- {
662
- type : 'text',
663
- id : 'style',
664
- label : editor.lang.common.cssStyle,
665
- setup : loadValue,
666
- commit : commitValue
667
- }
668
- ]
669
- }
670
- ]
671
- };
672
- } );
673
- })();
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ (function()
7
+ {
8
+ /*
9
+ * It is possible to set things in three different places.
10
+ * 1. As attributes in the object tag.
11
+ * 2. As param tags under the object tag.
12
+ * 3. As attributes in the embed tag.
13
+ * It is possible for a single attribute to be present in more than one place.
14
+ * So let's define a mapping between a sementic attribute and its syntactic
15
+ * equivalents.
16
+ * Then we'll set and retrieve attribute values according to the mapping,
17
+ * instead of having to check and set each syntactic attribute every time.
18
+ *
19
+ * Reference: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701
20
+ */
21
+ var ATTRTYPE_OBJECT = 1,
22
+ ATTRTYPE_PARAM = 2,
23
+ ATTRTYPE_EMBED = 4;
24
+
25
+ var attributesMap =
26
+ {
27
+ id : [ { type : ATTRTYPE_OBJECT, name : 'id' } ],
28
+ classid : [ { type : ATTRTYPE_OBJECT, name : 'classid' } ],
29
+ codebase : [ { type : ATTRTYPE_OBJECT, name : 'codebase'} ],
30
+ pluginspage : [ { type : ATTRTYPE_EMBED, name : 'pluginspage' } ],
31
+ src : [ { type : ATTRTYPE_PARAM, name : 'movie' }, { type : ATTRTYPE_EMBED, name : 'src' }, { type : ATTRTYPE_OBJECT, name : 'data' } ],
32
+ name : [ { type : ATTRTYPE_EMBED, name : 'name' } ],
33
+ align : [ { type : ATTRTYPE_OBJECT, name : 'align' } ],
34
+ title : [ { type : ATTRTYPE_OBJECT, name : 'title' }, { type : ATTRTYPE_EMBED, name : 'title' } ],
35
+ 'class' : [ { type : ATTRTYPE_OBJECT, name : 'class' }, { type : ATTRTYPE_EMBED, name : 'class'} ],
36
+ width : [ { type : ATTRTYPE_OBJECT, name : 'width' }, { type : ATTRTYPE_EMBED, name : 'width' } ],
37
+ height : [ { type : ATTRTYPE_OBJECT, name : 'height' }, { type : ATTRTYPE_EMBED, name : 'height' } ],
38
+ hSpace : [ { type : ATTRTYPE_OBJECT, name : 'hSpace' }, { type : ATTRTYPE_EMBED, name : 'hSpace' } ],
39
+ vSpace : [ { type : ATTRTYPE_OBJECT, name : 'vSpace' }, { type : ATTRTYPE_EMBED, name : 'vSpace' } ],
40
+ style : [ { type : ATTRTYPE_OBJECT, name : 'style' }, { type : ATTRTYPE_EMBED, name : 'style' } ],
41
+ type : [ { type : ATTRTYPE_EMBED, name : 'type' } ]
42
+ };
43
+
44
+ var names = [ 'play', 'loop', 'menu', 'quality', 'scale', 'salign', 'wmode', 'bgcolor', 'base', 'flashvars', 'allowScriptAccess',
45
+ 'allowFullScreen' ];
46
+ for ( var i = 0 ; i < names.length ; i++ )
47
+ attributesMap[ names[i] ] = [ { type : ATTRTYPE_EMBED, name : names[i] }, { type : ATTRTYPE_PARAM, name : names[i] } ];
48
+ names = [ 'allowFullScreen', 'play', 'loop', 'menu' ];
49
+ for ( i = 0 ; i < names.length ; i++ )
50
+ attributesMap[ names[i] ][0]['default'] = attributesMap[ names[i] ][1]['default'] = true;
51
+
52
+ var defaultToPixel = CKEDITOR.tools.cssLength;
53
+
54
+ function loadValue( objectNode, embedNode, paramMap )
55
+ {
56
+ var attributes = attributesMap[ this.id ];
57
+ if ( !attributes )
58
+ return;
59
+
60
+ var isCheckbox = ( this instanceof CKEDITOR.ui.dialog.checkbox );
61
+ for ( var i = 0 ; i < attributes.length ; i++ )
62
+ {
63
+ var attrDef = attributes[ i ];
64
+ switch ( attrDef.type )
65
+ {
66
+ case ATTRTYPE_OBJECT:
67
+ if ( !objectNode )
68
+ continue;
69
+ if ( objectNode.getAttribute( attrDef.name ) !== null )
70
+ {
71
+ var value = objectNode.getAttribute( attrDef.name );
72
+ if ( isCheckbox )
73
+ this.setValue( value.toLowerCase() == 'true' );
74
+ else
75
+ this.setValue( value );
76
+ return;
77
+ }
78
+ else if ( isCheckbox )
79
+ this.setValue( !!attrDef[ 'default' ] );
80
+ break;
81
+ case ATTRTYPE_PARAM:
82
+ if ( !objectNode )
83
+ continue;
84
+ if ( attrDef.name in paramMap )
85
+ {
86
+ value = paramMap[ attrDef.name ];
87
+ if ( isCheckbox )
88
+ this.setValue( value.toLowerCase() == 'true' );
89
+ else
90
+ this.setValue( value );
91
+ return;
92
+ }
93
+ else if ( isCheckbox )
94
+ this.setValue( !!attrDef[ 'default' ] );
95
+ break;
96
+ case ATTRTYPE_EMBED:
97
+ if ( !embedNode )
98
+ continue;
99
+ if ( embedNode.getAttribute( attrDef.name ) )
100
+ {
101
+ value = embedNode.getAttribute( attrDef.name );
102
+ if ( isCheckbox )
103
+ this.setValue( value.toLowerCase() == 'true' );
104
+ else
105
+ this.setValue( value );
106
+ return;
107
+ }
108
+ else if ( isCheckbox )
109
+ this.setValue( !!attrDef[ 'default' ] );
110
+ }
111
+ }
112
+ }
113
+
114
+ function commitValue( objectNode, embedNode, paramMap )
115
+ {
116
+ var attributes = attributesMap[ this.id ];
117
+ if ( !attributes )
118
+ return;
119
+
120
+ var isRemove = ( this.getValue() === '' ),
121
+ isCheckbox = ( this instanceof CKEDITOR.ui.dialog.checkbox );
122
+
123
+ for ( var i = 0 ; i < attributes.length ; i++ )
124
+ {
125
+ var attrDef = attributes[i];
126
+ switch ( attrDef.type )
127
+ {
128
+ case ATTRTYPE_OBJECT:
129
+ // Avoid applying the data attribute when not needed (#7733)
130
+ if ( !objectNode || ( attrDef.name == 'data' && embedNode && !objectNode.hasAttribute( 'data' ) ) )
131
+ continue;
132
+ var value = this.getValue();
133
+ if ( isRemove || isCheckbox && value === attrDef[ 'default' ] )
134
+ objectNode.removeAttribute( attrDef.name );
135
+ else
136
+ objectNode.setAttribute( attrDef.name, value );
137
+ break;
138
+ case ATTRTYPE_PARAM:
139
+ if ( !objectNode )
140
+ continue;
141
+ value = this.getValue();
142
+ if ( isRemove || isCheckbox && value === attrDef[ 'default' ] )
143
+ {
144
+ if ( attrDef.name in paramMap )
145
+ paramMap[ attrDef.name ].remove();
146
+ }
147
+ else
148
+ {
149
+ if ( attrDef.name in paramMap )
150
+ paramMap[ attrDef.name ].setAttribute( 'value', value );
151
+ else
152
+ {
153
+ var param = CKEDITOR.dom.element.createFromHtml( '<cke:param></cke:param>', objectNode.getDocument() );
154
+ param.setAttributes( { name : attrDef.name, value : value } );
155
+ if ( objectNode.getChildCount() < 1 )
156
+ param.appendTo( objectNode );
157
+ else
158
+ param.insertBefore( objectNode.getFirst() );
159
+ }
160
+ }
161
+ break;
162
+ case ATTRTYPE_EMBED:
163
+ if ( !embedNode )
164
+ continue;
165
+ value = this.getValue();
166
+ if ( isRemove || isCheckbox && value === attrDef[ 'default' ])
167
+ embedNode.removeAttribute( attrDef.name );
168
+ else
169
+ embedNode.setAttribute( attrDef.name, value );
170
+ }
171
+ }
172
+ }
173
+
174
+ CKEDITOR.dialog.add( 'flash', function( editor )
175
+ {
176
+ var makeObjectTag = !editor.config.flashEmbedTagOnly,
177
+ makeEmbedTag = editor.config.flashAddEmbedTag || editor.config.flashEmbedTagOnly;
178
+
179
+ var previewPreloader,
180
+ previewAreaHtml = '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'<br>' +
181
+ '<div id="cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading">&nbsp;</div></div>' +
182
+ '<div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';
183
+
184
+ return {
185
+ title : editor.lang.flash.title,
186
+ minWidth : 420,
187
+ minHeight : 310,
188
+ onShow : function()
189
+ {
190
+ // Clear previously saved elements.
191
+ this.fakeImage = this.objectNode = this.embedNode = null;
192
+ previewPreloader = new CKEDITOR.dom.element( 'embed', editor.document );
193
+
194
+ // Try to detect any embed or object tag that has Flash parameters.
195
+ var fakeImage = this.getSelectedElement();
196
+ if ( fakeImage && fakeImage.data( 'cke-real-element-type' ) && fakeImage.data( 'cke-real-element-type' ) == 'flash' )
197
+ {
198
+ this.fakeImage = fakeImage;
199
+
200
+ var realElement = editor.restoreRealElement( fakeImage ),
201
+ objectNode = null, embedNode = null, paramMap = {};
202
+ if ( realElement.getName() == 'cke:object' )
203
+ {
204
+ objectNode = realElement;
205
+ var embedList = objectNode.getElementsByTag( 'embed', 'cke' );
206
+ if ( embedList.count() > 0 )
207
+ embedNode = embedList.getItem( 0 );
208
+ var paramList = objectNode.getElementsByTag( 'param', 'cke' );
209
+ for ( var i = 0, length = paramList.count() ; i < length ; i++ )
210
+ {
211
+ var item = paramList.getItem( i ),
212
+ name = item.getAttribute( 'name' ),
213
+ value = item.getAttribute( 'value' );
214
+ paramMap[ name ] = value;
215
+ }
216
+ }
217
+ else if ( realElement.getName() == 'cke:embed' )
218
+ embedNode = realElement;
219
+
220
+ this.objectNode = objectNode;
221
+ this.embedNode = embedNode;
222
+
223
+ this.setupContent( objectNode, embedNode, paramMap, fakeImage );
224
+ }
225
+ },
226
+ onOk : function()
227
+ {
228
+ // If there's no selected object or embed, create one. Otherwise, reuse the
229
+ // selected object and embed nodes.
230
+ var objectNode = null,
231
+ embedNode = null,
232
+ paramMap = null;
233
+ if ( !this.fakeImage )
234
+ {
235
+ if ( makeObjectTag )
236
+ {
237
+ objectNode = CKEDITOR.dom.element.createFromHtml( '<cke:object></cke:object>', editor.document );
238
+ var attributes = {
239
+ classid : 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
240
+ codebase : 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'
241
+ };
242
+ objectNode.setAttributes( attributes );
243
+ }
244
+ if ( makeEmbedTag )
245
+ {
246
+ embedNode = CKEDITOR.dom.element.createFromHtml( '<cke:embed></cke:embed>', editor.document );
247
+ embedNode.setAttributes(
248
+ {
249
+ type : 'application/x-shockwave-flash',
250
+ pluginspage : 'http://www.macromedia.com/go/getflashplayer'
251
+ } );
252
+ if ( objectNode )
253
+ embedNode.appendTo( objectNode );
254
+ }
255
+ }
256
+ else
257
+ {
258
+ objectNode = this.objectNode;
259
+ embedNode = this.embedNode;
260
+ }
261
+
262
+ // Produce the paramMap if there's an object tag.
263
+ if ( objectNode )
264
+ {
265
+ paramMap = {};
266
+ var paramList = objectNode.getElementsByTag( 'param', 'cke' );
267
+ for ( var i = 0, length = paramList.count() ; i < length ; i++ )
268
+ paramMap[ paramList.getItem( i ).getAttribute( 'name' ) ] = paramList.getItem( i );
269
+ }
270
+
271
+ // A subset of the specified attributes/styles
272
+ // should also be applied on the fake element to
273
+ // have better visual effect. (#5240)
274
+ var extraStyles = {}, extraAttributes = {};
275
+ this.commitContent( objectNode, embedNode, paramMap, extraStyles, extraAttributes );
276
+
277
+ // Refresh the fake image.
278
+ var newFakeImage = editor.createFakeElement( objectNode || embedNode, 'cke_flash', 'flash', true );
279
+ newFakeImage.setAttributes( extraAttributes );
280
+ newFakeImage.setStyles( extraStyles );
281
+ if ( this.fakeImage )
282
+ {
283
+ newFakeImage.replace( this.fakeImage );
284
+ editor.getSelection().selectElement( newFakeImage );
285
+ }
286
+ else
287
+ editor.insertElement( newFakeImage );
288
+ },
289
+
290
+ onHide : function()
291
+ {
292
+ if ( this.preview )
293
+ this.preview.setHtml('');
294
+ },
295
+
296
+ contents : [
297
+ {
298
+ id : 'info',
299
+ label : editor.lang.common.generalTab,
300
+ accessKey : 'I',
301
+ elements :
302
+ [
303
+ {
304
+ type : 'vbox',
305
+ padding : 0,
306
+ children :
307
+ [
308
+ {
309
+ type : 'hbox',
310
+ widths : [ '280px', '110px' ],
311
+ align : 'right',
312
+ children :
313
+ [
314
+ {
315
+ id : 'src',
316
+ type : 'text',
317
+ label : editor.lang.common.url,
318
+ required : true,
319
+ validate : CKEDITOR.dialog.validate.notEmpty( editor.lang.flash.validateSrc ),
320
+ setup : loadValue,
321
+ commit : commitValue,
322
+ onLoad : function()
323
+ {
324
+ var dialog = this.getDialog(),
325
+ updatePreview = function( src ){
326
+ // Query the preloader to figure out the url impacted by based href.
327
+ previewPreloader.setAttribute( 'src', src );
328
+ dialog.preview.setHtml( '<embed height="100%" width="100%" src="'
329
+ + CKEDITOR.tools.htmlEncode( previewPreloader.getAttribute( 'src' ) )
330
+ + '" type="application/x-shockwave-flash"></embed>' );
331
+ };
332
+ // Preview element
333
+ dialog.preview = dialog.getContentElement( 'info', 'preview' ).getElement().getChild( 3 );
334
+
335
+ // Sync on inital value loaded.
336
+ this.on( 'change', function( evt ){
337
+
338
+ if ( evt.data && evt.data.value )
339
+ updatePreview( evt.data.value );
340
+ } );
341
+ // Sync when input value changed.
342
+ this.getInputElement().on( 'change', function( evt ){
343
+
344
+ updatePreview( this.getValue() );
345
+ }, this );
346
+ }
347
+ },
348
+ {
349
+ type : 'button',
350
+ id : 'browse',
351
+ filebrowser : 'info:src',
352
+ hidden : true,
353
+ // v-align with the 'src' field.
354
+ // TODO: We need something better than a fixed size here.
355
+ style : 'display:inline-block;margin-top:10px;',
356
+ label : editor.lang.common.browseServer
357
+ }
358
+ ]
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ type : 'hbox',
364
+ widths : [ '25%', '25%', '25%', '25%', '25%' ],
365
+ children :
366
+ [
367
+ {
368
+ type : 'text',
369
+ id : 'width',
370
+ style : 'width:95px',
371
+ label : editor.lang.common.width,
372
+ validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength.replace( '%1', editor.lang.common.width ) ),
373
+ setup : loadValue,
374
+ commit : commitValue
375
+ },
376
+ {
377
+ type : 'text',
378
+ id : 'height',
379
+ style : 'width:95px',
380
+ label : editor.lang.common.height,
381
+ validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength.replace( '%1', editor.lang.common.height ) ),
382
+ setup : loadValue,
383
+ commit : commitValue
384
+ },
385
+ {
386
+ type : 'text',
387
+ id : 'hSpace',
388
+ style : 'width:95px',
389
+ label : editor.lang.flash.hSpace,
390
+ validate : CKEDITOR.dialog.validate.integer( editor.lang.flash.validateHSpace ),
391
+ setup : loadValue,
392
+ commit : commitValue
393
+ },
394
+ {
395
+ type : 'text',
396
+ id : 'vSpace',
397
+ style : 'width:95px',
398
+ label : editor.lang.flash.vSpace,
399
+ validate : CKEDITOR.dialog.validate.integer( editor.lang.flash.validateVSpace ),
400
+ setup : loadValue,
401
+ commit : commitValue
402
+ }
403
+ ]
404
+ },
405
+
406
+ {
407
+ type : 'vbox',
408
+ children :
409
+ [
410
+ {
411
+ type : 'html',
412
+ id : 'preview',
413
+ style : 'width:95%;',
414
+ html : previewAreaHtml
415
+ }
416
+ ]
417
+ }
418
+ ]
419
+ },
420
+ {
421
+ id : 'Upload',
422
+ hidden : true,
423
+ filebrowser : 'uploadButton',
424
+ label : editor.lang.common.upload,
425
+ elements :
426
+ [
427
+ {
428
+ type : 'file',
429
+ id : 'upload',
430
+ label : editor.lang.common.upload,
431
+ size : 38
432
+ },
433
+ {
434
+ type : 'fileButton',
435
+ id : 'uploadButton',
436
+ label : editor.lang.common.uploadSubmit,
437
+ filebrowser : 'info:src',
438
+ 'for' : [ 'Upload', 'upload' ]
439
+ }
440
+ ]
441
+ },
442
+ {
443
+ id : 'properties',
444
+ label : editor.lang.flash.propertiesTab,
445
+ elements :
446
+ [
447
+ {
448
+ type : 'hbox',
449
+ widths : [ '50%', '50%' ],
450
+ children :
451
+ [
452
+ {
453
+ id : 'scale',
454
+ type : 'select',
455
+ label : editor.lang.flash.scale,
456
+ 'default' : '',
457
+ style : 'width : 100%;',
458
+ items :
459
+ [
460
+ [ editor.lang.common.notSet , ''],
461
+ [ editor.lang.flash.scaleAll, 'showall' ],
462
+ [ editor.lang.flash.scaleNoBorder, 'noborder' ],
463
+ [ editor.lang.flash.scaleFit, 'exactfit' ]
464
+ ],
465
+ setup : loadValue,
466
+ commit : commitValue
467
+ },
468
+ {
469
+ id : 'allowScriptAccess',
470
+ type : 'select',
471
+ label : editor.lang.flash.access,
472
+ 'default' : '',
473
+ style : 'width : 100%;',
474
+ items :
475
+ [
476
+ [ editor.lang.common.notSet , ''],
477
+ [ editor.lang.flash.accessAlways, 'always' ],
478
+ [ editor.lang.flash.accessSameDomain, 'samedomain' ],
479
+ [ editor.lang.flash.accessNever, 'never' ]
480
+ ],
481
+ setup : loadValue,
482
+ commit : commitValue
483
+ }
484
+ ]
485
+ },
486
+ {
487
+ type : 'hbox',
488
+ widths : [ '50%', '50%' ],
489
+ children :
490
+ [
491
+ {
492
+ id : 'wmode',
493
+ type : 'select',
494
+ label : editor.lang.flash.windowMode,
495
+ 'default' : '',
496
+ style : 'width : 100%;',
497
+ items :
498
+ [
499
+ [ editor.lang.common.notSet , '' ],
500
+ [ editor.lang.flash.windowModeWindow, 'window' ],
501
+ [ editor.lang.flash.windowModeOpaque, 'opaque' ],
502
+ [ editor.lang.flash.windowModeTransparent, 'transparent' ]
503
+ ],
504
+ setup : loadValue,
505
+ commit : commitValue
506
+ },
507
+ {
508
+ id : 'quality',
509
+ type : 'select',
510
+ label : editor.lang.flash.quality,
511
+ 'default' : 'high',
512
+ style : 'width : 100%;',
513
+ items :
514
+ [
515
+ [ editor.lang.common.notSet , '' ],
516
+ [ editor.lang.flash.qualityBest, 'best' ],
517
+ [ editor.lang.flash.qualityHigh, 'high' ],
518
+ [ editor.lang.flash.qualityAutoHigh, 'autohigh' ],
519
+ [ editor.lang.flash.qualityMedium, 'medium' ],
520
+ [ editor.lang.flash.qualityAutoLow, 'autolow' ],
521
+ [ editor.lang.flash.qualityLow, 'low' ]
522
+ ],
523
+ setup : loadValue,
524
+ commit : commitValue
525
+ }
526
+ ]
527
+ },
528
+ {
529
+ type : 'hbox',
530
+ widths : [ '50%', '50%' ],
531
+ children :
532
+ [
533
+ {
534
+ id : 'align',
535
+ type : 'select',
536
+ label : editor.lang.common.align,
537
+ 'default' : '',
538
+ style : 'width : 100%;',
539
+ items :
540
+ [
541
+ [ editor.lang.common.notSet , ''],
542
+ [ editor.lang.common.alignLeft , 'left'],
543
+ [ editor.lang.flash.alignAbsBottom , 'absBottom'],
544
+ [ editor.lang.flash.alignAbsMiddle , 'absMiddle'],
545
+ [ editor.lang.flash.alignBaseline , 'baseline'],
546
+ [ editor.lang.common.alignBottom , 'bottom'],
547
+ [ editor.lang.common.alignMiddle , 'middle'],
548
+ [ editor.lang.common.alignRight , 'right'],
549
+ [ editor.lang.flash.alignTextTop , 'textTop'],
550
+ [ editor.lang.common.alignTop , 'top']
551
+ ],
552
+ setup : loadValue,
553
+ commit : function( objectNode, embedNode, paramMap, extraStyles, extraAttributes )
554
+ {
555
+ var value = this.getValue();
556
+ commitValue.apply( this, arguments );
557
+ value && ( extraAttributes.align = value );
558
+ }
559
+ },
560
+ {
561
+ type : 'html',
562
+ html : '<div></div>'
563
+ }
564
+ ]
565
+ },
566
+ {
567
+ type : 'fieldset',
568
+ label : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ),
569
+ children :
570
+ [
571
+ {
572
+ type : 'vbox',
573
+ padding : 0,
574
+ children :
575
+ [
576
+ {
577
+ type : 'checkbox',
578
+ id : 'menu',
579
+ label : editor.lang.flash.chkMenu,
580
+ 'default' : true,
581
+ setup : loadValue,
582
+ commit : commitValue
583
+ },
584
+ {
585
+ type : 'checkbox',
586
+ id : 'play',
587
+ label : editor.lang.flash.chkPlay,
588
+ 'default' : true,
589
+ setup : loadValue,
590
+ commit : commitValue
591
+ },
592
+ {
593
+ type : 'checkbox',
594
+ id : 'loop',
595
+ label : editor.lang.flash.chkLoop,
596
+ 'default' : true,
597
+ setup : loadValue,
598
+ commit : commitValue
599
+ },
600
+ {
601
+ type : 'checkbox',
602
+ id : 'allowFullScreen',
603
+ label : editor.lang.flash.chkFull,
604
+ 'default' : true,
605
+ setup : loadValue,
606
+ commit : commitValue
607
+ }
608
+ ]
609
+ }
610
+ ]
611
+ }
612
+ ]
613
+ },
614
+ {
615
+ id : 'advanced',
616
+ label : editor.lang.common.advancedTab,
617
+ elements :
618
+ [
619
+ {
620
+ type : 'hbox',
621
+ widths : [ '45%', '55%' ],
622
+ children :
623
+ [
624
+ {
625
+ type : 'text',
626
+ id : 'id',
627
+ label : editor.lang.common.id,
628
+ setup : loadValue,
629
+ commit : commitValue
630
+ },
631
+ {
632
+ type : 'text',
633
+ id : 'title',
634
+ label : editor.lang.common.advisoryTitle,
635
+ setup : loadValue,
636
+ commit : commitValue
637
+ }
638
+ ]
639
+ },
640
+ {
641
+ type : 'hbox',
642
+ widths : [ '45%', '55%' ],
643
+ children :
644
+ [
645
+ {
646
+ type : 'text',
647
+ id : 'bgcolor',
648
+ label : editor.lang.flash.bgcolor,
649
+ setup : loadValue,
650
+ commit : commitValue
651
+ },
652
+ {
653
+ type : 'text',
654
+ id : 'class',
655
+ label : editor.lang.common.cssClass,
656
+ setup : loadValue,
657
+ commit : commitValue
658
+ }
659
+ ]
660
+ },
661
+ {
662
+ type : 'text',
663
+ id : 'style',
664
+ label : editor.lang.common.cssStyle,
665
+ setup : loadValue,
666
+ commit : commitValue
667
+ }
668
+ ]
669
+ }
670
+ ]
671
+ };
672
+ } );
673
+ })();