bcms_content_syncing 1.0.0 → 1.0.1

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 (657) hide show
  1. data/{README → README.markdown} +5 -0
  2. metadata +6 -661
  3. data/.gitignore +0 -13
  4. data/COPYRIGHT.txt +0 -23
  5. data/GPL.txt +0 -674
  6. data/Rakefile +0 -34
  7. data/VERSION +0 -1
  8. data/bcms_content_syncing.gemspec +0 -710
  9. data/config/boot.rb +0 -110
  10. data/config/database.yml +0 -22
  11. data/config/environment.rb +0 -42
  12. data/config/environments/development.rb +0 -18
  13. data/config/environments/production.rb +0 -31
  14. data/config/environments/test.rb +0 -29
  15. data/config/initializers/backtrace_silencers.rb +0 -7
  16. data/config/initializers/inflections.rb +0 -10
  17. data/config/initializers/init_module.rb +0 -1
  18. data/config/initializers/mime_types.rb +0 -5
  19. data/config/initializers/new_rails_defaults.rb +0 -21
  20. data/config/initializers/session_store.rb +0 -15
  21. data/config/locales/en.yml +0 -5
  22. data/config/routes.rb +0 -45
  23. data/db/seeds.rb +0 -7
  24. data/doc/README_FOR_APP +0 -2
  25. data/public/404.html +0 -30
  26. data/public/422.html +0 -30
  27. data/public/500.html +0 -30
  28. data/public/bcms/ckeditor/ckeditor.js +0 -108
  29. data/public/bcms/ckeditor/config.js +0 -18
  30. data/public/bcms/ckeditor/core/_bootstrap.js +0 -64
  31. data/public/bcms/ckeditor/core/ajax.js +0 -143
  32. data/public/bcms/ckeditor/core/ckeditor.js +0 -96
  33. data/public/bcms/ckeditor/core/ckeditor_base.js +0 -190
  34. data/public/bcms/ckeditor/core/ckeditor_basic.js +0 -241
  35. data/public/bcms/ckeditor/core/command.js +0 -70
  36. data/public/bcms/ckeditor/core/commanddefinition.js +0 -72
  37. data/public/bcms/ckeditor/core/config.js +0 -287
  38. data/public/bcms/ckeditor/core/dom.js +0 -21
  39. data/public/bcms/ckeditor/core/dom/document.js +0 -210
  40. data/public/bcms/ckeditor/core/dom/documentfragment.js +0 -49
  41. data/public/bcms/ckeditor/core/dom/domobject.js +0 -204
  42. data/public/bcms/ckeditor/core/dom/element.js +0 -1384
  43. data/public/bcms/ckeditor/core/dom/elementpath.js +0 -104
  44. data/public/bcms/ckeditor/core/dom/event.js +0 -137
  45. data/public/bcms/ckeditor/core/dom/node.js +0 -649
  46. data/public/bcms/ckeditor/core/dom/nodelist.js +0 -23
  47. data/public/bcms/ckeditor/core/dom/range.js +0 -1668
  48. data/public/bcms/ckeditor/core/dom/text.js +0 -123
  49. data/public/bcms/ckeditor/core/dom/walker.js +0 -411
  50. data/public/bcms/ckeditor/core/dom/window.js +0 -96
  51. data/public/bcms/ckeditor/core/dtd.js +0 -200
  52. data/public/bcms/ckeditor/core/editor.js +0 -650
  53. data/public/bcms/ckeditor/core/editor_basic.js +0 -178
  54. data/public/bcms/ckeditor/core/env.js +0 -219
  55. data/public/bcms/ckeditor/core/event.js +0 -335
  56. data/public/bcms/ckeditor/core/eventInfo.js +0 -120
  57. data/public/bcms/ckeditor/core/focusmanager.js +0 -123
  58. data/public/bcms/ckeditor/core/htmlparser.js +0 -212
  59. data/public/bcms/ckeditor/core/htmlparser/basicwriter.js +0 -140
  60. data/public/bcms/ckeditor/core/htmlparser/cdata.js +0 -44
  61. data/public/bcms/ckeditor/core/htmlparser/comment.js +0 -59
  62. data/public/bcms/ckeditor/core/htmlparser/element.js +0 -196
  63. data/public/bcms/ckeditor/core/htmlparser/filter.js +0 -233
  64. data/public/bcms/ckeditor/core/htmlparser/fragment.js +0 -434
  65. data/public/bcms/ckeditor/core/htmlparser/text.js +0 -55
  66. data/public/bcms/ckeditor/core/imagecacher.js +0 -58
  67. data/public/bcms/ckeditor/core/lang.js +0 -147
  68. data/public/bcms/ckeditor/core/loader.js +0 -238
  69. data/public/bcms/ckeditor/core/plugindefinition.js +0 -66
  70. data/public/bcms/ckeditor/core/plugins.js +0 -82
  71. data/public/bcms/ckeditor/core/resourcemanager.js +0 -233
  72. data/public/bcms/ckeditor/core/scriptloader.js +0 -194
  73. data/public/bcms/ckeditor/core/skins.js +0 -185
  74. data/public/bcms/ckeditor/core/test.js +0 -184
  75. data/public/bcms/ckeditor/core/themes.js +0 -18
  76. data/public/bcms/ckeditor/core/tools.js +0 -531
  77. data/public/bcms/ckeditor/core/ui.js +0 -106
  78. data/public/bcms/ckeditor/core/xml.js +0 -165
  79. data/public/bcms/ckeditor/editor.js +0 -51
  80. data/public/bcms/ckeditor/lang/_languages.js +0 -82
  81. data/public/bcms/ckeditor/lang/_translationstatus.txt +0 -59
  82. data/public/bcms/ckeditor/lang/af.js +0 -674
  83. data/public/bcms/ckeditor/lang/ar.js +0 -674
  84. data/public/bcms/ckeditor/lang/bg.js +0 -674
  85. data/public/bcms/ckeditor/lang/bn.js +0 -674
  86. data/public/bcms/ckeditor/lang/bs.js +0 -674
  87. data/public/bcms/ckeditor/lang/ca.js +0 -674
  88. data/public/bcms/ckeditor/lang/cs.js +0 -674
  89. data/public/bcms/ckeditor/lang/da.js +0 -674
  90. data/public/bcms/ckeditor/lang/de.js +0 -674
  91. data/public/bcms/ckeditor/lang/el.js +0 -674
  92. data/public/bcms/ckeditor/lang/en-au.js +0 -674
  93. data/public/bcms/ckeditor/lang/en-ca.js +0 -674
  94. data/public/bcms/ckeditor/lang/en-uk.js +0 -674
  95. data/public/bcms/ckeditor/lang/en.js +0 -674
  96. data/public/bcms/ckeditor/lang/eo.js +0 -674
  97. data/public/bcms/ckeditor/lang/es.js +0 -674
  98. data/public/bcms/ckeditor/lang/et.js +0 -674
  99. data/public/bcms/ckeditor/lang/eu.js +0 -674
  100. data/public/bcms/ckeditor/lang/fa.js +0 -674
  101. data/public/bcms/ckeditor/lang/fi.js +0 -674
  102. data/public/bcms/ckeditor/lang/fo.js +0 -674
  103. data/public/bcms/ckeditor/lang/fr-ca.js +0 -674
  104. data/public/bcms/ckeditor/lang/fr.js +0 -674
  105. data/public/bcms/ckeditor/lang/gl.js +0 -674
  106. data/public/bcms/ckeditor/lang/gu.js +0 -674
  107. data/public/bcms/ckeditor/lang/he.js +0 -674
  108. data/public/bcms/ckeditor/lang/hi.js +0 -674
  109. data/public/bcms/ckeditor/lang/hr.js +0 -674
  110. data/public/bcms/ckeditor/lang/hu.js +0 -674
  111. data/public/bcms/ckeditor/lang/is.js +0 -674
  112. data/public/bcms/ckeditor/lang/it.js +0 -674
  113. data/public/bcms/ckeditor/lang/ja.js +0 -674
  114. data/public/bcms/ckeditor/lang/km.js +0 -674
  115. data/public/bcms/ckeditor/lang/ko.js +0 -674
  116. data/public/bcms/ckeditor/lang/lt.js +0 -674
  117. data/public/bcms/ckeditor/lang/lv.js +0 -674
  118. data/public/bcms/ckeditor/lang/mn.js +0 -674
  119. data/public/bcms/ckeditor/lang/ms.js +0 -674
  120. data/public/bcms/ckeditor/lang/nb.js +0 -674
  121. data/public/bcms/ckeditor/lang/nl.js +0 -674
  122. data/public/bcms/ckeditor/lang/no.js +0 -674
  123. data/public/bcms/ckeditor/lang/pl.js +0 -674
  124. data/public/bcms/ckeditor/lang/pt-br.js +0 -674
  125. data/public/bcms/ckeditor/lang/pt.js +0 -674
  126. data/public/bcms/ckeditor/lang/ro.js +0 -674
  127. data/public/bcms/ckeditor/lang/ru.js +0 -674
  128. data/public/bcms/ckeditor/lang/sk.js +0 -674
  129. data/public/bcms/ckeditor/lang/sl.js +0 -674
  130. data/public/bcms/ckeditor/lang/sr-latn.js +0 -674
  131. data/public/bcms/ckeditor/lang/sr.js +0 -674
  132. data/public/bcms/ckeditor/lang/sv.js +0 -674
  133. data/public/bcms/ckeditor/lang/th.js +0 -674
  134. data/public/bcms/ckeditor/lang/tr.js +0 -674
  135. data/public/bcms/ckeditor/lang/uk.js +0 -674
  136. data/public/bcms/ckeditor/lang/vi.js +0 -674
  137. data/public/bcms/ckeditor/lang/zh-cn.js +0 -674
  138. data/public/bcms/ckeditor/lang/zh.js +0 -674
  139. data/public/bcms/ckeditor/plugins/about/dialogs/about.js +0 -73
  140. data/public/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  141. data/public/bcms/ckeditor/plugins/about/plugin.js +0 -22
  142. data/public/bcms/ckeditor/plugins/basicstyles/plugin.js +0 -50
  143. data/public/bcms/ckeditor/plugins/blockquote/plugin.js +0 -301
  144. data/public/bcms/ckeditor/plugins/button/plugin.js +0 -264
  145. data/public/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +0 -167
  146. data/public/bcms/ckeditor/plugins/clipboard/plugin.js +0 -208
  147. data/public/bcms/ckeditor/plugins/colorbutton/plugin.js +0 -202
  148. data/public/bcms/ckeditor/plugins/contextmenu/plugin.js +0 -178
  149. data/public/bcms/ckeditor/plugins/dialog/dialogDefinition.js +0 -315
  150. data/public/bcms/ckeditor/plugins/dialog/plugin.js +0 -2742
  151. data/public/bcms/ckeditor/plugins/dialogui/plugin.js +0 -1319
  152. data/public/bcms/ckeditor/plugins/domiterator/plugin.js +0 -354
  153. data/public/bcms/ckeditor/plugins/editingblock/plugin.js +0 -236
  154. data/public/bcms/ckeditor/plugins/elementspath/plugin.js +0 -182
  155. data/public/bcms/ckeditor/plugins/enterkey/plugin.js +0 -324
  156. data/public/bcms/ckeditor/plugins/entities/plugin.js +0 -200
  157. data/public/bcms/ckeditor/plugins/fakeobjects/plugin.js +0 -111
  158. data/public/bcms/ckeditor/plugins/filebrowser/plugin.js +0 -383
  159. data/public/bcms/ckeditor/plugins/find/dialogs/find.js +0 -843
  160. data/public/bcms/ckeditor/plugins/find/plugin.js +0 -46
  161. data/public/bcms/ckeditor/plugins/flash/dialogs/flash.js +0 -682
  162. data/public/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
  163. data/public/bcms/ckeditor/plugins/flash/plugin.js +0 -165
  164. data/public/bcms/ckeditor/plugins/floatpanel/plugin.js +0 -325
  165. data/public/bcms/ckeditor/plugins/font/plugin.js +0 -227
  166. data/public/bcms/ckeditor/plugins/format/plugin.js +0 -191
  167. data/public/bcms/ckeditor/plugins/forms/dialogs/button.js +0 -135
  168. data/public/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +0 -138
  169. data/public/bcms/ckeditor/plugins/forms/dialogs/form.js +0 -177
  170. data/public/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -91
  171. data/public/bcms/ckeditor/plugins/forms/dialogs/radio.js +0 -135
  172. data/public/bcms/ckeditor/plugins/forms/dialogs/select.js +0 -541
  173. data/public/bcms/ckeditor/plugins/forms/dialogs/textarea.js +0 -114
  174. data/public/bcms/ckeditor/plugins/forms/dialogs/textfield.js +0 -193
  175. data/public/bcms/ckeditor/plugins/forms/plugin.js +0 -193
  176. data/public/bcms/ckeditor/plugins/horizontalrule/plugin.js +0 -35
  177. data/public/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +0 -373
  178. data/public/bcms/ckeditor/plugins/htmlwriter/plugin.js +0 -289
  179. data/public/bcms/ckeditor/plugins/iframedialog/plugin.js +0 -136
  180. data/public/bcms/ckeditor/plugins/image/dialogs/image.js +0 -1225
  181. data/public/bcms/ckeditor/plugins/image/plugin.js +0 -64
  182. data/public/bcms/ckeditor/plugins/indent/plugin.js +0 -323
  183. data/public/bcms/ckeditor/plugins/justify/plugin.js +0 -164
  184. data/public/bcms/ckeditor/plugins/keystrokes/plugin.js +0 -217
  185. data/public/bcms/ckeditor/plugins/link/dialogs/anchor.js +0 -98
  186. data/public/bcms/ckeditor/plugins/link/dialogs/link.js +0 -1217
  187. data/public/bcms/ckeditor/plugins/link/images/anchor.gif +0 -0
  188. data/public/bcms/ckeditor/plugins/link/plugin.js +0 -188
  189. data/public/bcms/ckeditor/plugins/list/plugin.js +0 -570
  190. data/public/bcms/ckeditor/plugins/listblock/plugin.js +0 -231
  191. data/public/bcms/ckeditor/plugins/maximize/plugin.js +0 -267
  192. data/public/bcms/ckeditor/plugins/menu/plugin.js +0 -377
  193. data/public/bcms/ckeditor/plugins/menubutton/plugin.js +0 -93
  194. data/public/bcms/ckeditor/plugins/newpage/plugin.js +0 -65
  195. data/public/bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  196. data/public/bcms/ckeditor/plugins/pagebreak/plugin.js +0 -96
  197. data/public/bcms/ckeditor/plugins/panel/plugin.js +0 -330
  198. data/public/bcms/ckeditor/plugins/panelbutton/plugin.js +0 -140
  199. data/public/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +0 -307
  200. data/public/bcms/ckeditor/plugins/pastefromword/plugin.js +0 -54
  201. data/public/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -65
  202. data/public/bcms/ckeditor/plugins/pastetext/plugin.js +0 -142
  203. data/public/bcms/ckeditor/plugins/popup/plugin.js +0 -62
  204. data/public/bcms/ckeditor/plugins/preview/plugin.js +0 -97
  205. data/public/bcms/ckeditor/plugins/print/plugin.js +0 -41
  206. data/public/bcms/ckeditor/plugins/removeformat/plugin.js +0 -132
  207. data/public/bcms/ckeditor/plugins/resize/plugin.js +0 -115
  208. data/public/bcms/ckeditor/plugins/richcombo/plugin.js +0 -357
  209. data/public/bcms/ckeditor/plugins/save/plugin.js +0 -55
  210. data/public/bcms/ckeditor/plugins/scayt/dialogs/options.js +0 -494
  211. data/public/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
  212. data/public/bcms/ckeditor/plugins/scayt/plugin.js +0 -511
  213. data/public/bcms/ckeditor/plugins/selection/plugin.js +0 -1072
  214. data/public/bcms/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  215. data/public/bcms/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  216. data/public/bcms/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  217. data/public/bcms/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  218. data/public/bcms/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  219. data/public/bcms/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  220. data/public/bcms/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  221. data/public/bcms/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  222. data/public/bcms/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  223. data/public/bcms/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  224. data/public/bcms/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  225. data/public/bcms/ckeditor/plugins/showblocks/plugin.js +0 -153
  226. data/public/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +0 -219
  227. data/public/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  228. data/public/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  229. data/public/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  230. data/public/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  231. data/public/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  232. data/public/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  233. data/public/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  234. data/public/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  235. data/public/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
  236. data/public/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  237. data/public/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  238. data/public/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  239. data/public/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  240. data/public/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  241. data/public/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  242. data/public/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  243. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  244. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  245. data/public/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  246. data/public/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  247. data/public/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  248. data/public/bcms/ckeditor/plugins/smiley/plugin.js +0 -74
  249. data/public/bcms/ckeditor/plugins/sourcearea/plugin.js +0 -185
  250. data/public/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -362
  251. data/public/bcms/ckeditor/plugins/specialchar/plugin.js +0 -29
  252. data/public/bcms/ckeditor/plugins/styles/plugin.js +0 -1242
  253. data/public/bcms/ckeditor/plugins/stylescombo/plugin.js +0 -295
  254. data/public/bcms/ckeditor/plugins/stylescombo/styles/default.js +0 -85
  255. data/public/bcms/ckeditor/plugins/tab/plugin.js +0 -266
  256. data/public/bcms/ckeditor/plugins/table/dialogs/table.js +0 -550
  257. data/public/bcms/ckeditor/plugins/table/plugin.js +0 -70
  258. data/public/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -328
  259. data/public/bcms/ckeditor/plugins/tabletools/plugin.js +0 -701
  260. data/public/bcms/ckeditor/plugins/templates/dialogs/templates.js +0 -170
  261. data/public/bcms/ckeditor/plugins/templates/plugin.js +0 -99
  262. data/public/bcms/ckeditor/plugins/templates/templates/default.js +0 -94
  263. data/public/bcms/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  264. data/public/bcms/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  265. data/public/bcms/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  266. data/public/bcms/ckeditor/plugins/toolbar/plugin.js +0 -412
  267. data/public/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -203
  268. data/public/bcms/ckeditor/plugins/uicolor/lang/en.js +0 -15
  269. data/public/bcms/ckeditor/plugins/uicolor/plugin.js +0 -35
  270. data/public/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  271. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  272. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  273. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  274. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  275. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -15
  276. data/public/bcms/ckeditor/plugins/uicolor/yui/yui.js +0 -71
  277. data/public/bcms/ckeditor/plugins/undo/plugin.js +0 -490
  278. data/public/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  279. data/public/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  280. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +0 -83
  281. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +0 -169
  282. data/public/bcms/ckeditor/plugins/wsc/plugin.js +0 -32
  283. data/public/bcms/ckeditor/plugins/wysiwygarea/plugin.js +0 -636
  284. data/public/bcms/ckeditor/skins/kama/dialog.css +0 -742
  285. data/public/bcms/ckeditor/skins/kama/editor.css +0 -21
  286. data/public/bcms/ckeditor/skins/kama/elementspath.css +0 -68
  287. data/public/bcms/ckeditor/skins/kama/icons.css +0 -309
  288. data/public/bcms/ckeditor/skins/kama/icons.png +0 -0
  289. data/public/bcms/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  290. data/public/bcms/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  291. data/public/bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  292. data/public/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
  293. data/public/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
  294. data/public/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
  295. data/public/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  296. data/public/bcms/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  297. data/public/bcms/ckeditor/skins/kama/mainui.css +0 -139
  298. data/public/bcms/ckeditor/skins/kama/menu.css +0 -179
  299. data/public/bcms/ckeditor/skins/kama/panel.css +0 -203
  300. data/public/bcms/ckeditor/skins/kama/presets.css +0 -49
  301. data/public/bcms/ckeditor/skins/kama/reset.css +0 -78
  302. data/public/bcms/ckeditor/skins/kama/richcombo.css +0 -260
  303. data/public/bcms/ckeditor/skins/kama/skin.js +0 -291
  304. data/public/bcms/ckeditor/skins/kama/templates.css +0 -71
  305. data/public/bcms/ckeditor/skins/kama/toolbar.css +0 -384
  306. data/public/bcms/ckeditor/skins/office2003/dialog.css +0 -643
  307. data/public/bcms/ckeditor/skins/office2003/editor.css +0 -21
  308. data/public/bcms/ckeditor/skins/office2003/elementspath.css +0 -68
  309. data/public/bcms/ckeditor/skins/office2003/icons.css +0 -309
  310. data/public/bcms/ckeditor/skins/office2003/icons.png +0 -0
  311. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  312. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  313. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  314. data/public/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
  315. data/public/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
  316. data/public/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
  317. data/public/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  318. data/public/bcms/ckeditor/skins/office2003/mainui.css +0 -97
  319. data/public/bcms/ckeditor/skins/office2003/menu.css +0 -175
  320. data/public/bcms/ckeditor/skins/office2003/panel.css +0 -198
  321. data/public/bcms/ckeditor/skins/office2003/presets.css +0 -49
  322. data/public/bcms/ckeditor/skins/office2003/reset.css +0 -78
  323. data/public/bcms/ckeditor/skins/office2003/richcombo.css +0 -279
  324. data/public/bcms/ckeditor/skins/office2003/skin.js +0 -77
  325. data/public/bcms/ckeditor/skins/office2003/templates.css +0 -71
  326. data/public/bcms/ckeditor/skins/office2003/toolbar.css +0 -442
  327. data/public/bcms/ckeditor/skins/v2/dialog.css +0 -653
  328. data/public/bcms/ckeditor/skins/v2/editor.css +0 -21
  329. data/public/bcms/ckeditor/skins/v2/elementspath.css +0 -68
  330. data/public/bcms/ckeditor/skins/v2/icons.css +0 -309
  331. data/public/bcms/ckeditor/skins/v2/icons.png +0 -0
  332. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  333. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  334. data/public/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  335. data/public/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
  336. data/public/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
  337. data/public/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
  338. data/public/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  339. data/public/bcms/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  340. data/public/bcms/ckeditor/skins/v2/mainui.css +0 -112
  341. data/public/bcms/ckeditor/skins/v2/menu.css +0 -178
  342. data/public/bcms/ckeditor/skins/v2/panel.css +0 -198
  343. data/public/bcms/ckeditor/skins/v2/presets.css +0 -50
  344. data/public/bcms/ckeditor/skins/v2/reset.css +0 -78
  345. data/public/bcms/ckeditor/skins/v2/richcombo.css +0 -275
  346. data/public/bcms/ckeditor/skins/v2/skin.js +0 -73
  347. data/public/bcms/ckeditor/skins/v2/templates.css +0 -71
  348. data/public/bcms/ckeditor/skins/v2/toolbar.css +0 -399
  349. data/public/bcms/ckeditor/tests/_assets/sample.css +0 -4
  350. data/public/bcms/ckeditor/tests/_assets/sample.js +0 -1
  351. data/public/bcms/ckeditor/tests/_assets/sample.txt +0 -1
  352. data/public/bcms/ckeditor/tests/_assets/sample.xml +0 -5
  353. data/public/bcms/ckeditor/tests/_assets/sample_xml.txt +0 -5
  354. data/public/bcms/ckeditor/tests/core/_editor/custom_config_1.js +0 -10
  355. data/public/bcms/ckeditor/tests/core/_editor/custom_config_2.js +0 -9
  356. data/public/bcms/ckeditor/tests/core/ajax.html +0 -163
  357. data/public/bcms/ckeditor/tests/core/bootstrap.html +0 -66
  358. data/public/bcms/ckeditor/tests/core/ckeditor.html +0 -160
  359. data/public/bcms/ckeditor/tests/core/dom/document.html +0 -126
  360. data/public/bcms/ckeditor/tests/core/dom/documentfragment.html +0 -292
  361. data/public/bcms/ckeditor/tests/core/dom/element.html +0 -637
  362. data/public/bcms/ckeditor/tests/core/dom/node.html +0 -164
  363. data/public/bcms/ckeditor/tests/core/dom/range.html +0 -2411
  364. data/public/bcms/ckeditor/tests/core/dom/text.html +0 -128
  365. data/public/bcms/ckeditor/tests/core/dom/walker.html +0 -340
  366. data/public/bcms/ckeditor/tests/core/dom/window.html +0 -53
  367. data/public/bcms/ckeditor/tests/core/editor.html +0 -123
  368. data/public/bcms/ckeditor/tests/core/env.html +0 -52
  369. data/public/bcms/ckeditor/tests/core/event.html +0 -487
  370. data/public/bcms/ckeditor/tests/core/htmlparser/fragment.html +0 -188
  371. data/public/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +0 -91
  372. data/public/bcms/ckeditor/tests/core/plugins.html +0 -45
  373. data/public/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +0 -3
  374. data/public/bcms/ckeditor/tests/core/scriptloader.html +0 -52
  375. data/public/bcms/ckeditor/tests/core/tools.html +0 -170
  376. data/public/bcms/ckeditor/tests/core/xml.html +0 -150
  377. data/public/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +0 -236
  378. data/public/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +0 -386
  379. data/public/bcms/ckeditor/tests/plugins/link/link.html +0 -123
  380. data/public/bcms/ckeditor/tests/plugins/list/list.html +0 -217
  381. data/public/bcms/ckeditor/tests/plugins/selection/selection.html +0 -49
  382. data/public/bcms/ckeditor/tests/plugins/styles/styles.html +0 -596
  383. data/public/bcms/ckeditor/tests/test.css +0 -81
  384. data/public/bcms/ckeditor/tests/test.js +0 -93
  385. data/public/bcms/ckeditor/tests/testall.html +0 -114
  386. data/public/bcms/ckeditor/tests/yuitest.js +0 -75
  387. data/public/bcms/ckeditor/themes/default/theme.js +0 -232
  388. data/public/bcms/content_syncing/README +0 -1
  389. data/public/favicon.ico +0 -0
  390. data/public/images/cms/administration/user_browser_bg.gif +0 -0
  391. data/public/images/cms/bg.png +0 -0
  392. data/public/images/cms/bl_curve.png +0 -0
  393. data/public/images/cms/bottom_cap.png +0 -0
  394. data/public/images/cms/bottom_cap_content.png +0 -0
  395. data/public/images/cms/browse.gif +0 -0
  396. data/public/images/cms/browser_media_logo.png +0 -0
  397. data/public/images/cms/browsercms_logo.png +0 -0
  398. data/public/images/cms/buttons/button.png +0 -0
  399. data/public/images/cms/buttons/button_bg.png +0 -0
  400. data/public/images/cms/buttons/button_cap.png +0 -0
  401. data/public/images/cms/buttons/button_cap_h.png +0 -0
  402. data/public/images/cms/buttons/button_cap_off.gif +0 -0
  403. data/public/images/cms/buttons/button_cap_off_middle.gif +0 -0
  404. data/public/images/cms/buttons/button_h.png +0 -0
  405. data/public/images/cms/buttons/button_left_bg.png +0 -0
  406. data/public/images/cms/buttons/button_off.png +0 -0
  407. data/public/images/cms/buttons/button_off_middle.png +0 -0
  408. data/public/images/cms/buttons/delete_x.png +0 -0
  409. data/public/images/cms/buttons/delete_x_disabled.png +0 -0
  410. data/public/images/cms/buttons/delete_x_h.png +0 -0
  411. data/public/images/cms/buttons/sm_button.gif +0 -0
  412. data/public/images/cms/buttons/sm_button_2.gif +0 -0
  413. data/public/images/cms/buttons/sm_button_2_h.gif +0 -0
  414. data/public/images/cms/buttons/sm_button_h.gif +0 -0
  415. data/public/images/cms/containers/add.gif +0 -0
  416. data/public/images/cms/containers/alpha.png +0 -0
  417. data/public/images/cms/containers/beta.png +0 -0
  418. data/public/images/cms/containers/delete.gif +0 -0
  419. data/public/images/cms/containers/down.gif +0 -0
  420. data/public/images/cms/containers/edit.gif +0 -0
  421. data/public/images/cms/containers/up.gif +0 -0
  422. data/public/images/cms/containers/view.gif +0 -0
  423. data/public/images/cms/content_bg.gif +0 -0
  424. data/public/images/cms/dashboard/bottom_cap.png +0 -0
  425. data/public/images/cms/dashboard/bottom_cap_content.png +0 -0
  426. data/public/images/cms/dashboard/header_bg.gif +0 -0
  427. data/public/images/cms/dashboard/header_left_bg.gif +0 -0
  428. data/public/images/cms/dashboard/table_header_bg.gif +0 -0
  429. data/public/images/cms/dashboard/top_cap.png +0 -0
  430. data/public/images/cms/dashed.gif +0 -0
  431. data/public/images/cms/datepicker/clear.gif +0 -0
  432. data/public/images/cms/datepicker/close.gif +0 -0
  433. data/public/images/cms/dk_button_l.gif +0 -0
  434. data/public/images/cms/dk_button_r.gif +0 -0
  435. data/public/images/cms/dot.png +0 -0
  436. data/public/images/cms/draft_status.gif +0 -0
  437. data/public/images/cms/gray_long_bg.gif +0 -0
  438. data/public/images/cms/icons/actions/add.png +0 -0
  439. data/public/images/cms/icons/actions/config.png +0 -0
  440. data/public/images/cms/icons/actions/connect.png +0 -0
  441. data/public/images/cms/icons/actions/delete.png +0 -0
  442. data/public/images/cms/icons/actions/down.png +0 -0
  443. data/public/images/cms/icons/actions/edit.png +0 -0
  444. data/public/images/cms/icons/actions/folder.png +0 -0
  445. data/public/images/cms/icons/actions/folder_add.png +0 -0
  446. data/public/images/cms/icons/actions/folder_delete.png +0 -0
  447. data/public/images/cms/icons/actions/folder_edit.png +0 -0
  448. data/public/images/cms/icons/actions/folder_move.png +0 -0
  449. data/public/images/cms/icons/actions/folder_open.png +0 -0
  450. data/public/images/cms/icons/actions/history.png +0 -0
  451. data/public/images/cms/icons/actions/home.png +0 -0
  452. data/public/images/cms/icons/actions/left.png +0 -0
  453. data/public/images/cms/icons/actions/link.png +0 -0
  454. data/public/images/cms/icons/actions/page.png +0 -0
  455. data/public/images/cms/icons/actions/page_add.png +0 -0
  456. data/public/images/cms/icons/actions/page_edit.png +0 -0
  457. data/public/images/cms/icons/actions/page_move.png +0 -0
  458. data/public/images/cms/icons/actions/redo.png +0 -0
  459. data/public/images/cms/icons/actions/refresh.png +0 -0
  460. data/public/images/cms/icons/actions/right.png +0 -0
  461. data/public/images/cms/icons/actions/root_folder.png +0 -0
  462. data/public/images/cms/icons/actions/root_link.png +0 -0
  463. data/public/images/cms/icons/actions/root_page.png +0 -0
  464. data/public/images/cms/icons/actions/undo.png +0 -0
  465. data/public/images/cms/icons/actions/up.png +0 -0
  466. data/public/images/cms/icons/actions/view.png +0 -0
  467. data/public/images/cms/icons/file_types/doc.png +0 -0
  468. data/public/images/cms/icons/file_types/file.png +0 -0
  469. data/public/images/cms/icons/file_types/gif.png +0 -0
  470. data/public/images/cms/icons/file_types/htm.png +0 -0
  471. data/public/images/cms/icons/file_types/pdf.png +0 -0
  472. data/public/images/cms/icons/file_types/ppt.png +0 -0
  473. data/public/images/cms/icons/file_types/swf.png +0 -0
  474. data/public/images/cms/icons/file_types/txt.png +0 -0
  475. data/public/images/cms/icons/file_types/xls.png +0 -0
  476. data/public/images/cms/icons/file_types/xml.png +0 -0
  477. data/public/images/cms/icons/file_types/zip.png +0 -0
  478. data/public/images/cms/icons/status/archived.gif +0 -0
  479. data/public/images/cms/icons/status/draft.gif +0 -0
  480. data/public/images/cms/icons/status/hidden.gif +0 -0
  481. data/public/images/cms/icons/status/locked.gif +0 -0
  482. data/public/images/cms/icons/status/published.gif +0 -0
  483. data/public/images/cms/icons/status/unlocked.gif +0 -0
  484. data/public/images/cms/icons/user.png +0 -0
  485. data/public/images/cms/login_bg.jpg +0 -0
  486. data/public/images/cms/login_bottom.jpg +0 -0
  487. data/public/images/cms/login_top.gif +0 -0
  488. data/public/images/cms/lt_button_bg.gif +0 -0
  489. data/public/images/cms/lt_button_l.gif +0 -0
  490. data/public/images/cms/lt_button_r.gif +0 -0
  491. data/public/images/cms/menu.png +0 -0
  492. data/public/images/cms/menu/block_cap_h.gif +0 -0
  493. data/public/images/cms/menu/bottom_cap.png +0 -0
  494. data/public/images/cms/menu/bottom_cap_menu.png +0 -0
  495. data/public/images/cms/menu/bottom_cap_menu_first.png +0 -0
  496. data/public/images/cms/menu/menu_header_first_bg.gif +0 -0
  497. data/public/images/cms/menu/selected_block_cap.gif +0 -0
  498. data/public/images/cms/menu/top_cap.png +0 -0
  499. data/public/images/cms/menu/top_cap_menu_header.png +0 -0
  500. data/public/images/cms/menu_h.gif +0 -0
  501. data/public/images/cms/menu_header.png +0 -0
  502. data/public/images/cms/menu_open.png +0 -0
  503. data/public/images/cms/menu_open_bg.gif +0 -0
  504. data/public/images/cms/nav.png +0 -0
  505. data/public/images/cms/nav/on_bg.gif +0 -0
  506. data/public/images/cms/nav_admin.gif +0 -0
  507. data/public/images/cms/nav_admin_h.gif +0 -0
  508. data/public/images/cms/nav_admin_on.gif +0 -0
  509. data/public/images/cms/nav_cap.png +0 -0
  510. data/public/images/cms/nav_cap_h.gif +0 -0
  511. data/public/images/cms/nav_content_library.gif +0 -0
  512. data/public/images/cms/nav_content_library_h.gif +0 -0
  513. data/public/images/cms/nav_content_library_on.gif +0 -0
  514. data/public/images/cms/nav_dash.gif +0 -0
  515. data/public/images/cms/nav_dash_h.gif +0 -0
  516. data/public/images/cms/nav_dash_on.gif +0 -0
  517. data/public/images/cms/nav_h.gif +0 -0
  518. data/public/images/cms/nav_sitemap.gif +0 -0
  519. data/public/images/cms/nav_sitemap_h.gif +0 -0
  520. data/public/images/cms/nav_sitemap_on.gif +0 -0
  521. data/public/images/cms/page_toolbar/page_toolbar_bg.gif +0 -0
  522. data/public/images/cms/page_toolbar/page_toolbar_inset_bg.gif +0 -0
  523. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_bg.gif +0 -0
  524. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_l.gif +0 -0
  525. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_r.gif +0 -0
  526. data/public/images/cms/page_toolbar/page_toolbar_inset_l.gif +0 -0
  527. data/public/images/cms/page_toolbar/page_toolbar_inset_published_bg.gif +0 -0
  528. data/public/images/cms/page_toolbar/page_toolbar_inset_published_l.gif +0 -0
  529. data/public/images/cms/page_toolbar/page_toolbar_inset_published_r.gif +0 -0
  530. data/public/images/cms/page_toolbar/page_toolbar_inset_r.gif +0 -0
  531. data/public/images/cms/page_toolbar/page_toolbar_l.gif +0 -0
  532. data/public/images/cms/page_toolbar/page_toolbar_r.gif +0 -0
  533. data/public/images/cms/page_toolbar/status_draft_bg.gif +0 -0
  534. data/public/images/cms/page_toolbar/status_draft_l.gif +0 -0
  535. data/public/images/cms/page_toolbar/status_l.gif +0 -0
  536. data/public/images/cms/page_toolbar/status_published_bg.gif +0 -0
  537. data/public/images/cms/page_toolbar/status_published_l.gif +0 -0
  538. data/public/images/cms/page_toolbar/visual_editor_bg.gif +0 -0
  539. data/public/images/cms/page_toolbar/visual_editor_end.gif +0 -0
  540. data/public/images/cms/page_toolbar/visual_editor_r.gif +0 -0
  541. data/public/images/cms/page_toolbar/visual_editor_state_bg.gif +0 -0
  542. data/public/images/cms/pages/add_connectable.gif +0 -0
  543. data/public/images/cms/pages/connect_connectable.gif +0 -0
  544. data/public/images/cms/pages/container_border.gif +0 -0
  545. data/public/images/cms/pages/container_border_l.gif +0 -0
  546. data/public/images/cms/pages/container_border_r.gif +0 -0
  547. data/public/images/cms/pages/delete_connectable.gif +0 -0
  548. data/public/images/cms/pages/down_connectable.gif +0 -0
  549. data/public/images/cms/pages/down_connectable_disabled.gif +0 -0
  550. data/public/images/cms/pages/edit_connectable.gif +0 -0
  551. data/public/images/cms/pages/edit_connectable_2.gif +0 -0
  552. data/public/images/cms/pages/show_connectable.gif +0 -0
  553. data/public/images/cms/pages/up_connectable.gif +0 -0
  554. data/public/images/cms/pages/up_connectable_disabled.gif +0 -0
  555. data/public/images/cms/pagination/first.gif +0 -0
  556. data/public/images/cms/pagination/first_h.gif +0 -0
  557. data/public/images/cms/pagination/input.gif +0 -0
  558. data/public/images/cms/pagination/last.gif +0 -0
  559. data/public/images/cms/pagination/last_h.gif +0 -0
  560. data/public/images/cms/pagination/next.gif +0 -0
  561. data/public/images/cms/pagination/next_h.gif +0 -0
  562. data/public/images/cms/pagination/previous.gif +0 -0
  563. data/public/images/cms/pagination/previous_h.gif +0 -0
  564. data/public/images/cms/published_status.gif +0 -0
  565. data/public/images/cms/search.png +0 -0
  566. data/public/images/cms/search_submit.gif +0 -0
  567. data/public/images/cms/search_submit_h.gif +0 -0
  568. data/public/images/cms/searchbox_gradient.gif +0 -0
  569. data/public/images/cms/select_bg.gif +0 -0
  570. data/public/images/cms/select_bg_2.gif +0 -0
  571. data/public/images/cms/sitemap/bottom_cap.png +0 -0
  572. data/public/images/cms/sitemap/buffer_caps.png +0 -0
  573. data/public/images/cms/sitemap/contract.png +0 -0
  574. data/public/images/cms/sitemap/corners.gif +0 -0
  575. data/public/images/cms/sitemap/corners_hover.gif +0 -0
  576. data/public/images/cms/sitemap/divider.gif +0 -0
  577. data/public/images/cms/sitemap/expand.png +0 -0
  578. data/public/images/cms/sitemap/gradient.gif +0 -0
  579. data/public/images/cms/sitemap/gray_contract.png +0 -0
  580. data/public/images/cms/sitemap/gray_expand.png +0 -0
  581. data/public/images/cms/sitemap/no_contents.png +0 -0
  582. data/public/images/cms/sitemap/site_root_cap.png +0 -0
  583. data/public/images/cms/sitemap/tooltip.gif +0 -0
  584. data/public/images/cms/sitemap/top_cap_content.png +0 -0
  585. data/public/images/cms/solid.gif +0 -0
  586. data/public/images/cms/table/bl.gif +0 -0
  587. data/public/images/cms/table/br.gif +0 -0
  588. data/public/images/cms/table/divider.gif +0 -0
  589. data/public/images/cms/table/td_cap_first_h.gif +0 -0
  590. data/public/images/cms/table/td_cap_first_s.gif +0 -0
  591. data/public/images/cms/table/td_cap_last_h.gif +0 -0
  592. data/public/images/cms/table/td_cap_last_s.gif +0 -0
  593. data/public/images/cms/table/td_last_bg.gif +0 -0
  594. data/public/images/cms/table/th_bg.gif +0 -0
  595. data/public/images/cms/table/th_divider.gif +0 -0
  596. data/public/images/cms/table/th_last_bg.gif +0 -0
  597. data/public/images/cms/table/tl.gif +0 -0
  598. data/public/images/cms/table/tr.gif +0 -0
  599. data/public/images/cms/table/tr_bg.gif +0 -0
  600. data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
  601. data/public/images/cms/thickbox/macFFBgHack.png +0 -0
  602. data/public/images/cms/toolbar_bg.png +0 -0
  603. data/public/images/cms/top_cap.png +0 -0
  604. data/public/images/cms/top_cap_content.png +0 -0
  605. data/public/images/cms/top_cap_menu_header.png +0 -0
  606. data/public/images/cms/user_search_submit.gif +0 -0
  607. data/public/images/cms/usercontrols_bg.png +0 -0
  608. data/public/images/cms/usercontrols_bg_cap.png +0 -0
  609. data/public/images/rails.png +0 -0
  610. data/public/javascripts/application.js +0 -2
  611. data/public/javascripts/cms/application.js +0 -148
  612. data/public/javascripts/cms/content_library.js +0 -36
  613. data/public/javascripts/cms/sitemap.js +0 -438
  614. data/public/javascripts/controls.js +0 -963
  615. data/public/javascripts/dragdrop.js +0 -973
  616. data/public/javascripts/effects.js +0 -1128
  617. data/public/javascripts/jquery-ui.js +0 -591
  618. data/public/javascripts/jquery.contextMenu.js +0 -211
  619. data/public/javascripts/jquery.cookie.js +0 -96
  620. data/public/javascripts/jquery.dimensions.js +0 -119
  621. data/public/javascripts/jquery.js +0 -11
  622. data/public/javascripts/jquery.selectbox-0.5.js +0 -209
  623. data/public/javascripts/jquery.taglist.js +0 -136
  624. data/public/javascripts/jquery.thickbox.js +0 -10
  625. data/public/javascripts/prototype.js +0 -4320
  626. data/public/robots.txt +0 -5
  627. data/public/site/customconfig.js +0 -1
  628. data/public/stylesheets/cms/administration.css +0 -91
  629. data/public/stylesheets/cms/application.css +0 -166
  630. data/public/stylesheets/cms/block.css +0 -26
  631. data/public/stylesheets/cms/buttons.css +0 -120
  632. data/public/stylesheets/cms/content_library.css +0 -139
  633. data/public/stylesheets/cms/content_types.css +0 -4
  634. data/public/stylesheets/cms/dashboard.css +0 -118
  635. data/public/stylesheets/cms/data_table.css +0 -156
  636. data/public/stylesheets/cms/date_picker.css +0 -73
  637. data/public/stylesheets/cms/form_layout.css +0 -279
  638. data/public/stylesheets/cms/jquery.contextMenu.css +0 -61
  639. data/public/stylesheets/cms/login.css +0 -78
  640. data/public/stylesheets/cms/menu.css +0 -116
  641. data/public/stylesheets/cms/nav.css +0 -99
  642. data/public/stylesheets/cms/page_toolbar.css +0 -135
  643. data/public/stylesheets/cms/reset.css +0 -46
  644. data/public/stylesheets/cms/selectbox.css +0 -56
  645. data/public/stylesheets/cms/sitemap.css +0 -390
  646. data/public/stylesheets/cms/taglist.css +0 -18
  647. data/public/stylesheets/cms/thickbox.css +0 -163
  648. data/script/about +0 -4
  649. data/script/console +0 -3
  650. data/script/dbconsole +0 -3
  651. data/script/destroy +0 -3
  652. data/script/generate +0 -3
  653. data/script/performance/benchmarker +0 -3
  654. data/script/performance/profiler +0 -3
  655. data/script/plugin +0 -3
  656. data/script/runner +0 -3
  657. data/script/server +0 -3
@@ -1,49 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
- /**
6
- * DocumentFragment is a "lightweight" or "minimal" Document object. It is
7
- * commonly used to extract a portion of a document's tree or to create a new
8
- * fragment of a document. Various operations may take DocumentFragment objects
9
- * as arguments and results in all the child nodes of the DocumentFragment being
10
- * moved to the child list of this node.
11
- *
12
- * @param {Object} ownerDocument
13
- */
14
- CKEDITOR.dom.documentFragment = function( ownerDocument )
15
- {
16
- ownerDocument = ownerDocument || CKEDITOR.document;
17
- this.$ = ownerDocument.$.createDocumentFragment();
18
- };
19
-
20
- CKEDITOR.tools.extend( CKEDITOR.dom.documentFragment.prototype,
21
- CKEDITOR.dom.element.prototype,
22
- {
23
- type : CKEDITOR.NODE_DOCUMENT_FRAGMENT,
24
- insertAfterNode : function( node )
25
- {
26
- node = node.$;
27
- node.parentNode.insertBefore( this.$, node.nextSibling );
28
- }
29
- },
30
- true,
31
- {
32
- 'append' : 1,
33
- 'appendBogus' : 1,
34
- 'getFirst' : 1,
35
- 'getLast' : 1,
36
- 'appendTo' : 1,
37
- 'moveChildren' : 1,
38
- 'insertBefore' : 1,
39
- 'insertAfterNode' : 1,
40
- 'replace' : 1,
41
- 'trim' : 1,
42
- 'type' : 1,
43
- 'ltrim' : 1,
44
- 'rtrim' : 1,
45
- 'getDocument' : 1,
46
- 'getChildCount' : 1,
47
- 'getChild' : 1,
48
- 'getChildren' : 1
49
- } );
@@ -1,204 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- /**
7
- * @fileOverview Defines the {@link CKEDITOR.editor} class, which is the base
8
- * for other classes representing DOM objects.
9
- */
10
-
11
- /**
12
- * Represents a DOM object. This class is not intended to be used directly. It
13
- * serves as the base class for other classes representing specific DOM
14
- * objects.
15
- * @constructor
16
- * @param {Object} nativeDomObject A native DOM object.
17
- * @augments CKEDITOR.event
18
- * @example
19
- */
20
- CKEDITOR.dom.domObject = function( nativeDomObject )
21
- {
22
- if ( nativeDomObject )
23
- {
24
- /**
25
- * The native DOM object represented by this class instance.
26
- * @type Object
27
- * @example
28
- * var element = new CKEDITOR.dom.element( 'span' );
29
- * alert( element.$.nodeType ); // "1"
30
- */
31
- this.$ = nativeDomObject;
32
- }
33
- };
34
-
35
- CKEDITOR.dom.domObject.prototype = (function()
36
- {
37
- // Do not define other local variables here. We want to keep the native
38
- // listener closures as clean as possible.
39
-
40
- var getNativeListener = function( domObject, eventName )
41
- {
42
- return function( domEvent )
43
- {
44
- // In FF, when reloading the page with the editor focused, it may
45
- // throw an error because the CKEDITOR global is not anymore
46
- // available. So, we check it here first. (#2923)
47
- if ( typeof CKEDITOR != 'undefined' )
48
- domObject.fire( eventName, new CKEDITOR.dom.event( domEvent ) );
49
- };
50
- };
51
-
52
- return /** @lends CKEDITOR.dom.domObject.prototype */ {
53
-
54
- getPrivate : function()
55
- {
56
- var priv;
57
-
58
- // Get the main private function from the custom data. Create it if not
59
- // defined.
60
- if ( !( priv = this.getCustomData( '_' ) ) )
61
- this.setCustomData( '_', ( priv = {} ) );
62
-
63
- return priv;
64
- },
65
-
66
- /** @ignore */
67
- on : function( eventName )
68
- {
69
- // We customize the "on" function here. The basic idea is that we'll have
70
- // only one listener for a native event, which will then call all listeners
71
- // set to the event.
72
-
73
- // Get the listeners holder object.
74
- var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
75
-
76
- if ( !nativeListeners )
77
- {
78
- nativeListeners = {};
79
- this.setCustomData( '_cke_nativeListeners', nativeListeners );
80
- }
81
-
82
- // Check if we have a listener for that event.
83
- if ( !nativeListeners[ eventName ] )
84
- {
85
- var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName );
86
-
87
- if ( this.$.addEventListener )
88
- this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture );
89
- else if ( this.$.attachEvent )
90
- this.$.attachEvent( 'on' + eventName, listener );
91
- }
92
-
93
- // Call the original implementation.
94
- return CKEDITOR.event.prototype.on.apply( this, arguments );
95
- },
96
-
97
- /** @ignore */
98
- removeListener : function( eventName )
99
- {
100
- // Call the original implementation.
101
- CKEDITOR.event.prototype.removeListener.apply( this, arguments );
102
-
103
- // If we don't have listeners for this event, clean the DOM up.
104
- if ( !this.hasListeners( eventName ) )
105
- {
106
- var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
107
- var listener = nativeListeners && nativeListeners[ eventName ];
108
- if ( listener )
109
- {
110
- if ( this.$.removeEventListener )
111
- this.$.removeEventListener( eventName, listener, false );
112
- else if ( this.$.detachEvent )
113
- this.$.detachEvent( 'on' + eventName, listener );
114
-
115
- delete nativeListeners[ eventName ];
116
- }
117
- }
118
- }
119
- };
120
- })();
121
-
122
- (function( domObjectProto )
123
- {
124
- var customData = {};
125
-
126
- /**
127
- * Determines whether the specified object is equal to the current object.
128
- * @name CKEDITOR.dom.domObject.prototype.equals
129
- * @function
130
- * @param {Object} object The object to compare with the current object.
131
- * @returns {Boolean} "true" if the object is equal.
132
- * @example
133
- * var doc = new CKEDITOR.dom.document( document );
134
- * alert( doc.equals( CKEDITOR.document ) ); // "true"
135
- * alert( doc == CKEDITOR.document ); // "false"
136
- */
137
- domObjectProto.equals = function( object )
138
- {
139
- return ( object && object.$ === this.$ );
140
- };
141
-
142
- /**
143
- * Sets a data slot value for this object. These values are shared by all
144
- * instances pointing to that same DOM object.
145
- * @name CKEDITOR.dom.domObject.prototype.setCustomData
146
- * @function
147
- * @param {String} key A key used to identify the data slot.
148
- * @param {Object} value The value to set to the data slot.
149
- * @returns {CKEDITOR.dom.domObject} This DOM object instance.
150
- * @see CKEDITOR.dom.domObject.prototype.getCustomData
151
- * @example
152
- * var element = new CKEDITOR.dom.element( 'span' );
153
- * element.setCustomData( 'hasCustomData', true );
154
- */
155
- domObjectProto.setCustomData = function( key, value )
156
- {
157
- var expandoNumber = this.getUniqueId(),
158
- dataSlot = customData[ expandoNumber ] || ( customData[ expandoNumber ] = {} );
159
-
160
- dataSlot[ key ] = value;
161
-
162
- return this;
163
- };
164
-
165
- /**
166
- * Gets the value set to a data slot in this object.
167
- * @name CKEDITOR.dom.domObject.prototype.getCustomData
168
- * @function
169
- * @param {String} key The key used to identify the data slot.
170
- * @returns {Object} This value set to the data slot.
171
- * @see CKEDITOR.dom.domObject.prototype.setCustomData
172
- * @example
173
- * var element = new CKEDITOR.dom.element( 'span' );
174
- * alert( element.getCustomData( 'hasCustomData' ) ); // e.g. 'true'
175
- */
176
- domObjectProto.getCustomData = function( key )
177
- {
178
- var expandoNumber = this.$._cke_expando,
179
- dataSlot = expandoNumber && customData[ expandoNumber ];
180
-
181
- return dataSlot && dataSlot[ key ];
182
- };
183
-
184
- domObjectProto.removeCustomData = function( key )
185
- {
186
- var expandoNumber = this.$._cke_expando,
187
- dataSlot = expandoNumber && customData[ expandoNumber ],
188
- retval = dataSlot && dataSlot[ key ];
189
-
190
- if ( typeof retval != 'undefined' )
191
- delete dataSlot[ key ];
192
-
193
- return retval || null;
194
- };
195
-
196
- domObjectProto.getUniqueId = function()
197
- {
198
- return this.$._cke_expando || ( this.$._cke_expando = CKEDITOR.tools.getNextNumber() );
199
- };
200
-
201
- // Implement CKEDITOR.event.
202
- CKEDITOR.event.implementOn( domObjectProto );
203
-
204
- })( CKEDITOR.dom.domObject.prototype );
@@ -1,1384 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- /**
7
- * @fileOverview Defines the {@link CKEDITOR.dom.element} class, which
8
- * represents a DOM element.
9
- */
10
-
11
- /**
12
- * Represents a DOM element.
13
- * @constructor
14
- * @augments CKEDITOR.dom.node
15
- * @param {Object|String} element A native DOM element or the element name for
16
- * new elements.
17
- * @param {CKEDITOR.dom.document} [ownerDocument] The document that will contain
18
- * the element in case of element creation.
19
- * @example
20
- * // Create a new <span> element.
21
- * var element = new CKEDITOR.dom.element( 'span' );
22
- * @example
23
- * // Create an element based on a native DOM element.
24
- * var element = new CKEDITOR.dom.element( document.getElementById( 'myId' ) );
25
- */
26
- CKEDITOR.dom.element = function( element, ownerDocument )
27
- {
28
- if ( typeof element == 'string' )
29
- element = ( ownerDocument ? ownerDocument.$ : document ).createElement( element );
30
-
31
- // Call the base constructor (we must not call CKEDITOR.dom.node).
32
- CKEDITOR.dom.domObject.call( this, element );
33
- };
34
-
35
- // PACKAGER_RENAME( CKEDITOR.dom.element )
36
-
37
- /**
38
- * The the {@link CKEDITOR.dom.element} representing and element. If the
39
- * element is a native DOM element, it will be transformed into a valid
40
- * CKEDITOR.dom.element object.
41
- * @returns {CKEDITOR.dom.element} The transformed element.
42
- * @example
43
- * var element = new CKEDITOR.dom.element( 'span' );
44
- * alert( element == <b>CKEDITOR.dom.element.get( element )</b> ); "true"
45
- * @example
46
- * var element = document.getElementById( 'myElement' );
47
- * alert( <b>CKEDITOR.dom.element.get( element )</b>.getName() ); e.g. "p"
48
- */
49
- CKEDITOR.dom.element.get = function( element )
50
- {
51
- return element && ( element.$ ? element : new CKEDITOR.dom.element( element ) );
52
- };
53
-
54
- CKEDITOR.dom.element.prototype = new CKEDITOR.dom.node();
55
-
56
- /**
57
- * Creates an instance of the {@link CKEDITOR.dom.element} class based on the
58
- * HTML representation of an element.
59
- * @param {String} html The element HTML. It should define only one element in
60
- * the "root" level. The "root" element can have child nodes, but not
61
- * siblings.
62
- * @returns {CKEDITOR.dom.element} The element instance.
63
- * @example
64
- * var element = <b>CKEDITOR.dom.element.createFromHtml( '&lt;strong class="anyclass"&gt;My element&lt;/strong&gt;' )</b>;
65
- * alert( element.getName() ); // "strong"
66
- */
67
- CKEDITOR.dom.element.createFromHtml = function( html, ownerDocument )
68
- {
69
- var temp = new CKEDITOR.dom.element( 'div', ownerDocument );
70
- temp.setHtml( html );
71
-
72
- // When returning the node, remove it from its parent to detach it.
73
- return temp.getFirst().remove();
74
- };
75
-
76
- CKEDITOR.dom.element.setMarker = function( database, element, name, value )
77
- {
78
- var id = element.getCustomData( 'list_marker_id' ) ||
79
- ( element.setCustomData( 'list_marker_id', CKEDITOR.tools.getNextNumber() ).getCustomData( 'list_marker_id' ) ),
80
- markerNames = element.getCustomData( 'list_marker_names' ) ||
81
- ( element.setCustomData( 'list_marker_names', {} ).getCustomData( 'list_marker_names' ) );
82
- database[id] = element;
83
- markerNames[name] = 1;
84
-
85
- return element.setCustomData( name, value );
86
- };
87
-
88
- CKEDITOR.dom.element.clearAllMarkers = function( database )
89
- {
90
- for ( var i in database )
91
- CKEDITOR.dom.element.clearMarkers( database, database[i], true );
92
- };
93
-
94
- CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatabase )
95
- {
96
- var names = element.getCustomData( 'list_marker_names' ),
97
- id = element.getCustomData( 'list_marker_id' );
98
- for ( var i in names )
99
- element.removeCustomData( i );
100
- element.removeCustomData( 'list_marker_names' );
101
- if ( removeFromDatabase )
102
- {
103
- element.removeCustomData( 'list_marker_id' );
104
- delete database[id];
105
- }
106
- };
107
-
108
- CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
109
- /** @lends CKEDITOR.dom.element.prototype */
110
- {
111
- /**
112
- * The node type. This is a constant value set to
113
- * {@link CKEDITOR.NODE_ELEMENT}.
114
- * @type Number
115
- * @example
116
- */
117
- type : CKEDITOR.NODE_ELEMENT,
118
-
119
- /**
120
- * Adds a CSS class to the element. It appends the class to the
121
- * already existing names.
122
- * @param {String} className The name of the class to be added.
123
- * @example
124
- * var element = new CKEDITOR.dom.element( 'div' );
125
- * element.addClass( 'classA' ); // &lt;div class="classA"&gt;
126
- * element.addClass( 'classB' ); // &lt;div class="classA classB"&gt;
127
- * element.addClass( 'classA' ); // &lt;div class="classA classB"&gt;
128
- */
129
- addClass : function( className )
130
- {
131
- var c = this.$.className;
132
- if ( c )
133
- {
134
- var regex = new RegExp( '(?:^|\\s)' + className + '(?:\\s|$)', '' );
135
- if ( !regex.test( c ) )
136
- c += ' ' + className;
137
- }
138
- this.$.className = c || className;
139
- },
140
-
141
- /**
142
- * Removes a CSS class name from the elements classes. Other classes
143
- * remain untouched.
144
- * @param {String} className The name of the class to remove.
145
- * @example
146
- * var element = new CKEDITOR.dom.element( 'div' );
147
- * element.addClass( 'classA' ); // &lt;div class="classA"&gt;
148
- * element.addClass( 'classB' ); // &lt;div class="classA classB"&gt;
149
- * element.removeClass( 'classA' ); // &lt;div class="classB"&gt;
150
- * element.removeClass( 'classB' ); // &lt;div&gt;
151
- */
152
- removeClass : function( className )
153
- {
154
- var c = this.getAttribute( 'class' );
155
- if ( c )
156
- {
157
- var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', 'i' );
158
- if ( regex.test( c ) )
159
- {
160
- c = c.replace( regex, '' ).replace( /^\s+/, '' );
161
-
162
- if ( c )
163
- this.setAttribute( 'class', c );
164
- else
165
- this.removeAttribute( 'class' );
166
- }
167
- }
168
- },
169
-
170
- hasClass : function( className )
171
- {
172
- var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', '' );
173
- return regex.test( this.getAttribute('class') );
174
- },
175
-
176
- /**
177
- * Append a node as a child of this element.
178
- * @param {CKEDITOR.dom.node|String} node The node or element name to be
179
- * appended.
180
- * @param {Boolean} [toStart] Indicates that the element is to be
181
- * appended at the start.
182
- * @returns {CKEDITOR.dom.node} The appended node.
183
- * @example
184
- * var p = new CKEDITOR.dom.element( 'p' );
185
- *
186
- * var strong = new CKEDITOR.dom.element( 'strong' );
187
- * <b>p.append( strong );</b>
188
- *
189
- * var em = <b>p.append( 'em' );</b>
190
- *
191
- * // result: "&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;"
192
- */
193
- append : function( node, toStart )
194
- {
195
- if ( typeof node == 'string' )
196
- node = this.getDocument().createElement( node );
197
-
198
- if ( toStart )
199
- this.$.insertBefore( node.$, this.$.firstChild );
200
- else
201
- this.$.appendChild( node.$ );
202
-
203
- return node;
204
- },
205
-
206
- appendHtml : function( html )
207
- {
208
- if ( !this.$.childNodes.length )
209
- this.setHtml( html );
210
- else
211
- {
212
- var temp = new CKEDITOR.dom.element( 'div', this.getDocument() );
213
- temp.setHtml( html );
214
- temp.moveChildren( this );
215
- }
216
- },
217
-
218
- /**
219
- * Append text to this element.
220
- * @param {String} text The text to be appended.
221
- * @returns {CKEDITOR.dom.node} The appended node.
222
- * @example
223
- * var p = new CKEDITOR.dom.element( 'p' );
224
- * p.appendText( 'This is' );
225
- * p.appendText( ' some text' );
226
- *
227
- * // result: "&lt;p&gt;This is some text&lt;/p&gt;"
228
- */
229
- appendText : function( text )
230
- {
231
- if ( this.$.text != undefined )
232
- this.$.text += text;
233
- else
234
- this.append( new CKEDITOR.dom.text( text ) );
235
- },
236
-
237
- appendBogus : function()
238
- {
239
- var lastChild = this.getLast() ;
240
-
241
- // Ignore empty/spaces text.
242
- while ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.rtrim( lastChild.getText() ) )
243
- lastChild = lastChild.getPrevious();
244
- if ( !lastChild || !lastChild.is || !lastChild.is( 'br' ) )
245
- {
246
- this.append(
247
- CKEDITOR.env.opera ?
248
- this.getDocument().createText('') :
249
- this.getDocument().createElement( 'br' ) );
250
- }
251
- },
252
-
253
- /**
254
- * Breaks one of the ancestor element in the element position, moving
255
- * this element between the broken parts.
256
- * @param {CKEDITOR.dom.element} parent The anscestor element to get broken.
257
- * @example
258
- * // Before breaking:
259
- * // <b>This <i>is some<span /> sample</i> test text</b>
260
- * // If "element" is <span /> and "parent" is <i>:
261
- * // <b>This <i>is some</i><span /><i> sample</i> test text</b>
262
- * element.breakParent( parent );
263
- * @example
264
- * // Before breaking:
265
- * // <b>This <i>is some<span /> sample</i> test text</b>
266
- * // If "element" is <span /> and "parent" is <b>:
267
- * // <b>This <i>is some</i></b><span /><b><i> sample</i> test text</b>
268
- * element.breakParent( parent );
269
- */
270
- breakParent : function( parent )
271
- {
272
- var range = new CKEDITOR.dom.range( this.getDocument() );
273
-
274
- // We'll be extracting part of this element, so let's use our
275
- // range to get the correct piece.
276
- range.setStartAfter( this );
277
- range.setEndAfter( parent );
278
-
279
- // Extract it.
280
- var docFrag = range.extractContents();
281
-
282
- // Move the element outside the broken element.
283
- range.insertNode( this.remove() );
284
-
285
- // Re-insert the extracted piece after the element.
286
- docFrag.insertAfterNode( this );
287
- },
288
-
289
- contains :
290
- CKEDITOR.env.ie || CKEDITOR.env.webkit ?
291
- function( node )
292
- {
293
- var $ = this.$;
294
-
295
- return node.type != CKEDITOR.NODE_ELEMENT ?
296
- $.contains( node.getParent().$ ) :
297
- $ != node.$ && $.contains( node.$ );
298
- }
299
- :
300
- function( node )
301
- {
302
- return !!( this.$.compareDocumentPosition( node.$ ) & 16 );
303
- },
304
-
305
- /**
306
- * Moves the selection focus to this element.
307
- * @example
308
- * var element = CKEDITOR.document.getById( 'myTextarea' );
309
- * <b>element.focus()</b>;
310
- */
311
- focus : function()
312
- {
313
- // IE throws error if the element is not visible.
314
- try
315
- {
316
- this.$.focus();
317
- }
318
- catch (e)
319
- {}
320
- },
321
-
322
- /**
323
- * Gets the inner HTML of this element.
324
- * @returns {String} The inner HTML of this element.
325
- * @example
326
- * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/div&gt;' );
327
- * alert( <b>p.getHtml()</b> ); // "&lt;b&gt;Example&lt;/b&gt;"
328
- */
329
- getHtml : function()
330
- {
331
- return this.$.innerHTML;
332
- },
333
-
334
- getOuterHtml : function()
335
- {
336
- if ( this.$.outerHTML )
337
- {
338
- // IE includes the <?xml:namespace> tag in the outerHTML of
339
- // namespaced element. So, we must strip it here. (#3341)
340
- return this.$.outerHTML.replace( /<\?[^>]*>/, '' );
341
- }
342
-
343
- var tmpDiv = this.$.ownerDocument.createElement( 'div' );
344
- tmpDiv.appendChild( this.$.cloneNode( true ) );
345
- return tmpDiv.innerHTML;
346
- },
347
-
348
- /**
349
- * Sets the inner HTML of this element.
350
- * @param {String} html The HTML to be set for this element.
351
- * @returns {String} The inserted HTML.
352
- * @example
353
- * var p = new CKEDITOR.dom.element( 'p' );
354
- * <b>p.setHtml( '&lt;b&gt;Inner&lt;/b&gt; HTML' );</b>
355
- *
356
- * // result: "&lt;p&gt;&lt;b&gt;Inner&lt;/b&gt; HTML&lt;/p&gt;"
357
- */
358
- setHtml : function( html )
359
- {
360
- return ( this.$.innerHTML = html );
361
- },
362
-
363
- /**
364
- * Sets the element contents as plain text.
365
- * @param {String} text The text to be set.
366
- * @returns {String} The inserted text.
367
- * @example
368
- * var element = new CKEDITOR.dom.element( 'div' );
369
- * element.setText( 'A > B & C < D' );
370
- * alert( element.innerHTML ); // "A &amp;gt; B &amp;amp; C &amp;lt; D"
371
- */
372
- setText : function( text )
373
- {
374
- CKEDITOR.dom.element.prototype.setText = ( this.$.innerText != undefined ) ?
375
- function ( text )
376
- {
377
- return this.$.innerText = text;
378
- } :
379
- function ( text )
380
- {
381
- return this.$.textContent = text;
382
- };
383
-
384
- return this.setText( text );
385
- },
386
-
387
- /**
388
- * Gets the value of an element attribute.
389
- * @function
390
- * @param {String} name The attribute name.
391
- * @returns {String} The attribute value or null if not defined.
392
- * @example
393
- * var element = CKEDITOR.dom.element.createFromHtml( '&lt;input type="text" /&gt;' );
394
- * alert( <b>element.getAttribute( 'type' )</b> ); // "text"
395
- */
396
- getAttribute : (function()
397
- {
398
- var standard = function( name )
399
- {
400
- return this.$.getAttribute( name, 2 );
401
- };
402
-
403
- if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
404
- {
405
- return function( name )
406
- {
407
- switch ( name )
408
- {
409
- case 'class':
410
- name = 'className';
411
- break;
412
-
413
- case 'tabindex':
414
- var tabIndex = standard.call( this, name );
415
-
416
- // IE returns tabIndex=0 by default for all
417
- // elements. For those elements,
418
- // getAtrribute( 'tabindex', 2 ) returns 32768
419
- // instead. So, we must make this check to give a
420
- // uniform result among all browsers.
421
- if ( tabIndex !== 0 && this.$.tabIndex === 0 )
422
- tabIndex = null;
423
-
424
- return tabIndex;
425
- break;
426
-
427
- case 'checked':
428
- return this.$.checked;
429
- break;
430
-
431
- case 'style':
432
- // IE does not return inline styles via getAttribute(). See #2947.
433
- return this.$.style.cssText;
434
- }
435
-
436
- return standard.call( this, name );
437
- };
438
- }
439
- else
440
- return standard;
441
- })(),
442
-
443
- getChildren : function()
444
- {
445
- return new CKEDITOR.dom.nodeList( this.$.childNodes );
446
- },
447
-
448
- /**
449
- * Gets the current computed value of one of the element CSS style
450
- * properties.
451
- * @function
452
- * @param {String} propertyName The style property name.
453
- * @returns {String} The property value.
454
- * @example
455
- * var element = new CKEDITOR.dom.element( 'span' );
456
- * alert( <b>element.getComputedStyle( 'display' )</b> ); // "inline"
457
- */
458
- getComputedStyle :
459
- CKEDITOR.env.ie ?
460
- function( propertyName )
461
- {
462
- return this.$.currentStyle[ CKEDITOR.tools.cssStyleToDomStyle( propertyName ) ];
463
- }
464
- :
465
- function( propertyName )
466
- {
467
- return this.getWindow().$.getComputedStyle( this.$, '' ).getPropertyValue( propertyName );
468
- },
469
-
470
- /**
471
- * Gets the DTD entries for this element.
472
- * @returns {Object} An object containing the list of elements accepted
473
- * by this element.
474
- */
475
- getDtd : function()
476
- {
477
- var dtd = CKEDITOR.dtd[ this.getName() ];
478
-
479
- this.getDtd = function()
480
- {
481
- return dtd;
482
- };
483
-
484
- return dtd;
485
- },
486
-
487
- getElementsByTag : CKEDITOR.dom.document.prototype.getElementsByTag,
488
-
489
- /**
490
- * Gets the computed tabindex for this element.
491
- * @function
492
- * @returns {Number} The tabindex value.
493
- * @example
494
- * var element = CKEDITOR.document.getById( 'myDiv' );
495
- * alert( <b>element.getTabIndex()</b> ); // e.g. "-1"
496
- */
497
- getTabIndex :
498
- CKEDITOR.env.ie ?
499
- function()
500
- {
501
- var tabIndex = this.$.tabIndex;
502
-
503
- // IE returns tabIndex=0 by default for all elements. In
504
- // those cases we must check that the element really has
505
- // the tabindex attribute set to zero, or it is one of
506
- // those element that should have zero by default.
507
- if ( tabIndex === 0 && !CKEDITOR.dtd.$tabIndex[ this.getName() ] && parseInt( this.getAttribute( 'tabindex' ), 10 ) !== 0 )
508
- tabIndex = -1;
509
-
510
- return tabIndex;
511
- }
512
- : CKEDITOR.env.webkit ?
513
- function()
514
- {
515
- var tabIndex = this.$.tabIndex;
516
-
517
- // Safari returns "undefined" for elements that should not
518
- // have tabindex (like a div). So, we must try to get it
519
- // from the attribute.
520
- // https://bugs.webkit.org/show_bug.cgi?id=20596
521
- if ( tabIndex == undefined )
522
- {
523
- tabIndex = parseInt( this.getAttribute( 'tabindex' ), 10 );
524
-
525
- // If the element don't have the tabindex attribute,
526
- // then we should return -1.
527
- if ( isNaN( tabIndex ) )
528
- tabIndex = -1;
529
- }
530
-
531
- return tabIndex;
532
- }
533
- :
534
- function()
535
- {
536
- return this.$.tabIndex;
537
- },
538
-
539
- /**
540
- * Gets the text value of this element.
541
- *
542
- * Only in IE (which uses innerText), &lt;br&gt; will cause linebreaks,
543
- * and sucessive whitespaces (including line breaks) will be reduced to
544
- * a single space. This behavior is ok for us, for now. It may change
545
- * in the future.
546
- * @returns {String} The text value.
547
- * @example
548
- * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;Same &lt;i&gt;text&lt;/i&gt;.&lt;/div&gt;' );
549
- * alert( <b>element.getText()</b> ); // "Sample text."
550
- */
551
- getText : function()
552
- {
553
- return this.$.textContent || this.$.innerText || '';
554
- },
555
-
556
- /**
557
- * Gets the window object that contains this element.
558
- * @returns {CKEDITOR.dom.window} The window object.
559
- * @example
560
- */
561
- getWindow : function()
562
- {
563
- return this.getDocument().getWindow();
564
- },
565
-
566
- /**
567
- * Gets the value of the "id" attribute of this element.
568
- * @returns {String} The element id, or null if not available.
569
- * @example
570
- * var element = CKEDITOR.dom.element.createFromHtml( '&lt;p id="myId"&gt;&lt;/p&gt;' );
571
- * alert( <b>element.getId()</b> ); // "myId"
572
- */
573
- getId : function()
574
- {
575
- return this.$.id || null;
576
- },
577
-
578
- /**
579
- * Gets the value of the "name" attribute of this element.
580
- * @returns {String} The element name, or null if not available.
581
- * @example
582
- * var element = CKEDITOR.dom.element.createFromHtml( '&lt;input name="myName"&gt;&lt;/input&gt;' );
583
- * alert( <b>element.getNameAtt()</b> ); // "myName"
584
- */
585
- getNameAtt : function()
586
- {
587
- return this.$.name || null;
588
- },
589
-
590
- /**
591
- * Gets the element name (tag name). The returned name is guaranteed to
592
- * be always full lowercased.
593
- * @returns {String} The element name.
594
- * @example
595
- * var element = new CKEDITOR.dom.element( 'span' );
596
- * alert( <b>element.getName()</b> ); // "span"
597
- */
598
- getName : function()
599
- {
600
- // Cache the lowercased name inside a closure.
601
- var nodeName = this.$.nodeName.toLowerCase();
602
-
603
- if ( CKEDITOR.env.ie )
604
- {
605
- var scopeName = this.$.scopeName;
606
- if ( scopeName != 'HTML' )
607
- nodeName = scopeName.toLowerCase() + ':' + nodeName;
608
- }
609
-
610
- return (
611
- /** @ignore */
612
- this.getName = function()
613
- {
614
- return nodeName;
615
- })();
616
- },
617
-
618
- /**
619
- * Gets the value set to this element. This value is usually available
620
- * for form field elements.
621
- * @returns {String} The element value.
622
- */
623
- getValue : function()
624
- {
625
- return this.$.value;
626
- },
627
-
628
- /**
629
- * Gets the first child node of this element.
630
- * @returns {CKEDITOR.dom.node} The first child node or null if not
631
- * available.
632
- * @example
633
- * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/div&gt;' );
634
- * var first = <b>element.getFirst()</b>;
635
- * alert( first.getName() ); // "b"
636
- */
637
- getFirst : function()
638
- {
639
- var $ = this.$.firstChild;
640
- return $ ? new CKEDITOR.dom.node( $ ) : null;
641
- },
642
-
643
- /**
644
- * @param {Function} evaluator Filtering the result node.
645
- */
646
- getLast : function( evaluator )
647
- {
648
- var last = this.$.lastChild,
649
- retval = last && new CKEDITOR.dom.node( last );
650
- if ( retval && evaluator && !evaluator( retval ) )
651
- retval = retval.getPrevious( evaluator );
652
-
653
- return retval;
654
- },
655
-
656
- getStyle : function( name )
657
- {
658
- return this.$.style[ CKEDITOR.tools.cssStyleToDomStyle( name ) ];
659
- },
660
-
661
- /**
662
- * Checks if the element name matches one or more names.
663
- * @param {String} name[,name[,...]] One or more names to be checked.
664
- * @returns {Boolean} true if the element name matches any of the names.
665
- * @example
666
- * var element = new CKEDITOR.element( 'span' );
667
- * alert( <b>element.is( 'span' )</b> ); "true"
668
- * alert( <b>element.is( 'p', 'span' )</b> ); "true"
669
- * alert( <b>element.is( 'p' )</b> ); "false"
670
- * alert( <b>element.is( 'p', 'div' )</b> ); "false"
671
- */
672
- is : function()
673
- {
674
- var name = this.getName();
675
- for ( var i = 0 ; i < arguments.length ; i++ )
676
- {
677
- if ( arguments[ i ] == name )
678
- return true;
679
- }
680
- return false;
681
- },
682
-
683
- isEditable : function()
684
- {
685
- // Get the element name.
686
- var name = this.getName();
687
-
688
- // Get the element DTD (defaults to span for unknown elements).
689
- var dtd = !CKEDITOR.dtd.$nonEditable[ name ]
690
- && ( CKEDITOR.dtd[ name ] || CKEDITOR.dtd.span );
691
-
692
- // In the DTD # == text node.
693
- return ( dtd && dtd['#'] );
694
- },
695
-
696
- isIdentical : function( otherElement )
697
- {
698
- if ( this.getName() != otherElement.getName() )
699
- return false;
700
-
701
- var thisAttribs = this.$.attributes,
702
- otherAttribs = otherElement.$.attributes;
703
-
704
- var thisLength = thisAttribs.length,
705
- otherLength = otherAttribs.length;
706
-
707
- if ( !CKEDITOR.env.ie && thisLength != otherLength )
708
- return false;
709
-
710
- for ( var i = 0 ; i < thisLength ; i++ )
711
- {
712
- var attribute = thisAttribs[ i ];
713
-
714
- if ( ( !CKEDITOR.env.ie || ( attribute.specified && attribute.nodeName != '_cke_expando' ) ) && attribute.nodeValue != otherElement.getAttribute( attribute.nodeName ) )
715
- return false;
716
- }
717
-
718
- // For IE, we have to for both elements, because it's difficult to
719
- // know how the atttibutes collection is organized in its DOM.
720
- if ( CKEDITOR.env.ie )
721
- {
722
- for ( i = 0 ; i < otherLength ; i++ )
723
- {
724
- attribute = otherAttribs[ i ];
725
-
726
- if ( ( !CKEDITOR.env.ie || ( attribute.specified && attribute.nodeName != '_cke_expando' ) ) && attribute.nodeValue != thisAttribs.getAttribute( attribute.nodeName ) )
727
- return false;
728
- }
729
- }
730
-
731
- return true;
732
- },
733
-
734
- /**
735
- * Checks if this element is visible. May not work if the element is
736
- * child of an element with visibility set to "hidden", but works well
737
- * on the great majority of cases.
738
- * @return {Boolean} True if the element is visible.
739
- */
740
- isVisible : function()
741
- {
742
- return this.$.offsetWidth && ( this.$.style.visibility != 'hidden' );
743
- },
744
-
745
- /**
746
- * Indicates that the element has defined attributes.
747
- * @returns {Boolean} True if the element has attributes.
748
- * @example
749
- * var element = CKEDITOR.dom.element.createFromHtml( '<div title="Test">Example</div>' );
750
- * alert( <b>element.hasAttributes()</b> ); "true"
751
- * @example
752
- * var element = CKEDITOR.dom.element.createFromHtml( '<div>Example</div>' );
753
- * alert( <b>element.hasAttributes()</b> ); "false"
754
- */
755
- hasAttributes :
756
- CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) ?
757
- function()
758
- {
759
- var attributes = this.$.attributes;
760
-
761
- for ( var i = 0 ; i < attributes.length ; i++ )
762
- {
763
- var attribute = attributes[i];
764
-
765
- switch ( attribute.nodeName )
766
- {
767
- case 'class' :
768
- // IE has a strange bug. If calling removeAttribute('className'),
769
- // the attributes collection will still contain the "class"
770
- // attribute, which will be marked as "specified", even if the
771
- // outerHTML of the element is not displaying the class attribute.
772
- // Note : I was not able to reproduce it outside the editor,
773
- // but I've faced it while working on the TC of #1391.
774
- if ( this.getAttribute( 'class' ) )
775
- return true;
776
-
777
- // Attributes to be ignored.
778
- case '_cke_expando' :
779
- continue;
780
-
781
- /*jsl:fallthru*/
782
-
783
- default :
784
- if ( attribute.specified )
785
- return true;
786
- }
787
- }
788
-
789
- return false;
790
- }
791
- :
792
- function()
793
- {
794
- var attributes = this.$.attributes;
795
- return ( attributes.length > 1 || ( attributes.length == 1 && attributes[0].nodeName != '_cke_expando' ) );
796
- },
797
-
798
- /**
799
- * Indicates whether a specified attribute is defined for this element.
800
- * @returns {Boolean} True if the specified attribute is defined.
801
- * @param (String) name The attribute name.
802
- * @example
803
- */
804
- hasAttribute : function( name )
805
- {
806
- var $attr = this.$.attributes.getNamedItem( name );
807
- return !!( $attr && $attr.specified );
808
- },
809
-
810
- /**
811
- * Hides this element (display:none).
812
- * @example
813
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
814
- * <b>element.hide()</b>;
815
- */
816
- hide : function()
817
- {
818
- this.setStyle( 'display', 'none' );
819
- },
820
-
821
- moveChildren : function( target, toStart )
822
- {
823
- var $ = this.$;
824
- target = target.$;
825
-
826
- if ( $ == target )
827
- return;
828
-
829
- var child;
830
-
831
- if ( toStart )
832
- {
833
- while ( ( child = $.lastChild ) )
834
- target.insertBefore( $.removeChild( child ), target.firstChild );
835
- }
836
- else
837
- {
838
- while ( ( child = $.firstChild ) )
839
- target.appendChild( $.removeChild( child ) );
840
- }
841
- },
842
-
843
- /**
844
- * Shows this element (display it).
845
- * @example
846
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
847
- * <b>element.show()</b>;
848
- */
849
- show : function()
850
- {
851
- this.setStyles(
852
- {
853
- display : '',
854
- visibility : ''
855
- });
856
- },
857
-
858
- /**
859
- * Sets the value of an element attribute.
860
- * @param {String} name The name of the attribute.
861
- * @param {String} value The value to be set to the attribute.
862
- * @function
863
- * @returns {CKEDITOR.dom.element} This element instance.
864
- * @example
865
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
866
- * <b>element.setAttribute( 'class', 'myClass' )</b>;
867
- * <b>element.setAttribute( 'title', 'This is an example' )</b>;
868
- */
869
- setAttribute : (function()
870
- {
871
- var standard = function( name, value )
872
- {
873
- this.$.setAttribute( name, value );
874
- return this;
875
- };
876
-
877
- if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
878
- {
879
- return function( name, value )
880
- {
881
- if ( name == 'class' )
882
- this.$.className = value;
883
- else if ( name == 'style' )
884
- this.$.style.cssText = value;
885
- else if ( name == 'tabindex' ) // Case sensitive.
886
- this.$.tabIndex = value;
887
- else if ( name == 'checked' )
888
- this.$.checked = value;
889
- else
890
- standard.apply( this, arguments );
891
- return this;
892
- };
893
- }
894
- else
895
- return standard;
896
- })(),
897
-
898
- /**
899
- * Sets the value of several element attributes.
900
- * @param {Object} attributesPairs An object containing the names and
901
- * values of the attributes.
902
- * @returns {CKEDITOR.dom.element} This element instance.
903
- * @example
904
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
905
- * <b>element.setAttributes({
906
- * 'class' : 'myClass',
907
- * 'title' : 'This is an example' })</b>;
908
- */
909
- setAttributes : function( attributesPairs )
910
- {
911
- for ( var name in attributesPairs )
912
- this.setAttribute( name, attributesPairs[ name ] );
913
- return this;
914
- },
915
-
916
- /**
917
- * Sets the element value. This function is usually used with form
918
- * field element.
919
- * @param {String} value The element value.
920
- * @returns {CKEDITOR.dom.element} This element instance.
921
- */
922
- setValue : function( value )
923
- {
924
- this.$.value = value;
925
- return this;
926
- },
927
-
928
- /**
929
- * Removes an attribute from the element.
930
- * @param {String} name The attribute name.
931
- * @function
932
- * @example
933
- * var element = CKEDITOR.dom.element.createFromHtml( '<div class="classA"></div>' );
934
- * element.removeAttribute( 'class' );
935
- */
936
- removeAttribute : (function()
937
- {
938
- var standard = function( name )
939
- {
940
- this.$.removeAttribute( name );
941
- };
942
-
943
- if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
944
- {
945
- return function( name )
946
- {
947
- if ( name == 'class' )
948
- name = 'className';
949
- else if ( name == 'tabindex' )
950
- name = 'tabIndex';
951
- standard.call( this, name );
952
- };
953
- }
954
- else
955
- return standard;
956
- })(),
957
-
958
- removeAttributes : function ( attributes )
959
- {
960
- for ( var i = 0 ; i < attributes.length ; i++ )
961
- this.removeAttribute( attributes[ i ] );
962
- },
963
-
964
- /**
965
- * Removes a style from the element.
966
- * @param {String} name The style name.
967
- * @function
968
- * @example
969
- * var element = CKEDITOR.dom.element.createFromHtml( '<div style="display:none"></div>' );
970
- * element.removeStyle( 'display' );
971
- */
972
- removeStyle : function( name )
973
- {
974
- if ( this.$.style.removeAttribute )
975
- this.$.style.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) );
976
- else
977
- this.setStyle( name, '' );
978
-
979
- if ( !this.$.style.cssText )
980
- this.removeAttribute( 'style' );
981
- },
982
-
983
- /**
984
- * Sets the value of an element style.
985
- * @param {String} name The name of the style. The CSS naming notation
986
- * must be used (e.g. "background-color").
987
- * @param {String} value The value to be set to the style.
988
- * @returns {CKEDITOR.dom.element} This element instance.
989
- * @example
990
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
991
- * <b>element.setStyle( 'background-color', '#ff0000' )</b>;
992
- * <b>element.setStyle( 'margin-top', '10px' )</b>;
993
- * <b>element.setStyle( 'float', 'right' )</b>;
994
- */
995
- setStyle : function( name, value )
996
- {
997
- this.$.style[ CKEDITOR.tools.cssStyleToDomStyle( name ) ] = value;
998
- return this;
999
- },
1000
-
1001
- /**
1002
- * Sets the value of several element styles.
1003
- * @param {Object} stylesPairs An object containing the names and
1004
- * values of the styles.
1005
- * @returns {CKEDITOR.dom.element} This element instance.
1006
- * @example
1007
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
1008
- * <b>element.setStyles({
1009
- * 'position' : 'absolute',
1010
- * 'float' : 'right' })</b>;
1011
- */
1012
- setStyles : function( stylesPairs )
1013
- {
1014
- for ( var name in stylesPairs )
1015
- this.setStyle( name, stylesPairs[ name ] );
1016
- return this;
1017
- },
1018
-
1019
- /**
1020
- * Sets the opacity of an element.
1021
- * @param {Number} opacity A number within the range [0.0, 1.0].
1022
- * @example
1023
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
1024
- * <b>element.setOpacity( 0.75 )</b>;
1025
- */
1026
- setOpacity : function( opacity )
1027
- {
1028
- if ( CKEDITOR.env.ie )
1029
- {
1030
- opacity = Math.round( opacity * 100 );
1031
- this.setStyle( 'filter', opacity >= 100 ? '' : 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')' );
1032
- }
1033
- else
1034
- this.setStyle( 'opacity', opacity );
1035
- },
1036
-
1037
- /**
1038
- * Makes the element and its children unselectable.
1039
- * @function
1040
- * @example
1041
- * var element = CKEDITOR.dom.element.getById( 'myElement' );
1042
- * element.unselectable();
1043
- */
1044
- unselectable :
1045
- CKEDITOR.env.gecko ?
1046
- function()
1047
- {
1048
- this.$.style.MozUserSelect = 'none';
1049
- }
1050
- : CKEDITOR.env.webkit ?
1051
- function()
1052
- {
1053
- this.$.style.KhtmlUserSelect = 'none';
1054
- }
1055
- :
1056
- function()
1057
- {
1058
- if ( CKEDITOR.env.ie || CKEDITOR.env.opera )
1059
- {
1060
- var element = this.$,
1061
- e,
1062
- i = 0;
1063
-
1064
- element.unselectable = 'on';
1065
-
1066
- while ( ( e = element.all[ i++ ] ) )
1067
- {
1068
- switch ( e.tagName.toLowerCase() )
1069
- {
1070
- case 'iframe' :
1071
- case 'textarea' :
1072
- case 'input' :
1073
- case 'select' :
1074
- /* Ignore the above tags */
1075
- break;
1076
- default :
1077
- e.unselectable = 'on';
1078
- }
1079
- }
1080
- }
1081
- },
1082
-
1083
- getPositionedAncestor : function()
1084
- {
1085
- var current = this;
1086
- while ( current.getName() != 'html' )
1087
- {
1088
- if ( current.getComputedStyle( 'position' ) != 'static' )
1089
- return current;
1090
-
1091
- current = current.getParent();
1092
- }
1093
- return null;
1094
- },
1095
-
1096
- getDocumentPosition : function( refDocument )
1097
- {
1098
- var x = 0, y = 0,
1099
- body = this.getDocument().getBody(),
1100
- quirks = this.getDocument().$.compatMode == 'BackCompat';
1101
-
1102
- var doc = this.getDocument();
1103
-
1104
- if ( document.documentElement[ "getBoundingClientRect" ] )
1105
- {
1106
- var box = this.$.getBoundingClientRect(),
1107
- $doc = doc.$,
1108
- $docElem = $doc.documentElement;
1109
-
1110
- var clientTop = $docElem.clientTop || body.$.clientTop || 0,
1111
- clientLeft = $docElem.clientLeft || body.$.clientLeft || 0,
1112
- needAdjustScrollAndBorders = true;
1113
-
1114
- /*
1115
- * #3804: getBoundingClientRect() works differently on IE and non-IE
1116
- * browsers, regarding scroll positions.
1117
- *
1118
- * On IE, the top position of the <html> element is always 0, no matter
1119
- * how much you scrolled down.
1120
- *
1121
- * On other browsers, the top position of the <html> element is negative
1122
- * scrollTop.
1123
- */
1124
- if ( CKEDITOR.env.ie )
1125
- {
1126
- var inDocElem = doc.getDocumentElement().contains( this ),
1127
- inBody = doc.getBody().contains( this );
1128
-
1129
- needAdjustScrollAndBorders = ( quirks && inBody ) || ( !quirks && inDocElem );
1130
- }
1131
-
1132
- if ( needAdjustScrollAndBorders )
1133
- {
1134
- x = box.left + ( !quirks && $docElem.scrollLeft || body.$.scrollLeft );
1135
- x -= clientLeft;
1136
- y = box.top + ( !quirks && $docElem.scrollTop || body.$.scrollTop );
1137
- y -= clientTop;
1138
- }
1139
- }
1140
- else
1141
- {
1142
- var current = this, previous = null, offsetParent;
1143
- while ( current && !( current.getName() == 'body' || current.getName() == 'html' ) )
1144
- {
1145
- x += current.$.offsetLeft - current.$.scrollLeft;
1146
- y += current.$.offsetTop - current.$.scrollTop;
1147
-
1148
- // Opera includes clientTop|Left into offsetTop|Left.
1149
- if ( !current.equals( this ) )
1150
- {
1151
- x += ( current.$.clientLeft || 0 );
1152
- y += ( current.$.clientTop || 0 );
1153
- }
1154
-
1155
- var scrollElement = previous;
1156
- while ( scrollElement && !scrollElement.equals( current ) )
1157
- {
1158
- x -= scrollElement.$.scrollLeft;
1159
- y -= scrollElement.$.scrollTop;
1160
- scrollElement = scrollElement.getParent();
1161
- }
1162
-
1163
- previous = current;
1164
- current = ( offsetParent = current.$.offsetParent ) ?
1165
- new CKEDITOR.dom.element( offsetParent ) : null;
1166
- }
1167
- }
1168
-
1169
- if ( refDocument )
1170
- {
1171
- var currentWindow = this.getWindow(),
1172
- refWindow = refDocument.getWindow();
1173
-
1174
- if ( !currentWindow.equals( refWindow ) && currentWindow.$.frameElement )
1175
- {
1176
- var iframePosition = ( new CKEDITOR.dom.element( currentWindow.$.frameElement ) ).getDocumentPosition( refDocument );
1177
-
1178
- x += iframePosition.x;
1179
- y += iframePosition.y;
1180
- }
1181
- }
1182
-
1183
- if ( !document.documentElement[ "getBoundingClientRect" ] )
1184
- {
1185
- // In Firefox, we'll endup one pixel before the element positions,
1186
- // so we must add it here.
1187
- if ( CKEDITOR.env.gecko && !quirks )
1188
- {
1189
- x += this.$.clientLeft ? 1 : 0;
1190
- y += this.$.clientTop ? 1 : 0;
1191
- }
1192
- }
1193
-
1194
- return { x : x, y : y };
1195
- },
1196
-
1197
- scrollIntoView : function( alignTop )
1198
- {
1199
- // Get the element window.
1200
- var win = this.getWindow(),
1201
- winHeight = win.getViewPaneSize().height;
1202
-
1203
- // Starts from the offset that will be scrolled with the negative value of
1204
- // the visible window height.
1205
- var offset = winHeight * -1;
1206
-
1207
- // Append the view pane's height if align to top.
1208
- // Append element height if we are aligning to the bottom.
1209
- if ( alignTop )
1210
- offset += winHeight;
1211
- else
1212
- {
1213
- offset += this.$.offsetHeight || 0;
1214
-
1215
- // Consider the margin in the scroll, which is ok for our current needs, but
1216
- // needs investigation if we will be using this function in other places.
1217
- offset += parseInt( this.getComputedStyle( 'marginBottom' ) || 0, 10 ) || 0;
1218
- }
1219
-
1220
- // Append the offsets for the entire element hierarchy.
1221
- var elementPosition = this.getDocumentPosition();
1222
- offset += elementPosition.y;
1223
-
1224
- // offset value might be out of range(nagative), fix it(#3692).
1225
- offset = offset < 0 ? 0 : offset;
1226
-
1227
- // Scroll the window to the desired position, if not already visible(#3795).
1228
- var currentScroll = win.getScrollPosition().y;
1229
- if ( offset > currentScroll || offset < currentScroll - winHeight )
1230
- win.$.scrollTo( 0, offset );
1231
- },
1232
-
1233
- setState : function( state )
1234
- {
1235
- switch ( state )
1236
- {
1237
- case CKEDITOR.TRISTATE_ON :
1238
- this.addClass( 'cke_on' );
1239
- this.removeClass( 'cke_off' );
1240
- this.removeClass( 'cke_disabled' );
1241
- break;
1242
- case CKEDITOR.TRISTATE_DISABLED :
1243
- this.addClass( 'cke_disabled' );
1244
- this.removeClass( 'cke_off' );
1245
- this.removeClass( 'cke_on' );
1246
- break;
1247
- default :
1248
- this.addClass( 'cke_off' );
1249
- this.removeClass( 'cke_on' );
1250
- this.removeClass( 'cke_disabled' );
1251
- break;
1252
- }
1253
- },
1254
-
1255
- /**
1256
- * Returns the inner document of this IFRAME element.
1257
- * @returns {CKEDITOR.dom.document} The inner document.
1258
- */
1259
- getFrameDocument : function()
1260
- {
1261
- var $ = this.$;
1262
-
1263
- try
1264
- {
1265
- // In IE, with custom document.domain, it may happen that
1266
- // the iframe is not yet available, resulting in "Access
1267
- // Denied" for the following property access.
1268
- $.contentWindow.document;
1269
- }
1270
- catch ( e )
1271
- {
1272
- // Trick to solve this issue, forcing the iframe to get ready
1273
- // by simply setting its "src" property.
1274
- $.src = $.src;
1275
-
1276
- // In IE6 though, the above is not enough, so we must pause the
1277
- // execution for a while, giving it time to think.
1278
- if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )
1279
- {
1280
- window.showModalDialog(
1281
- 'javascript:document.write("' +
1282
- '<script>' +
1283
- 'window.setTimeout(' +
1284
- 'function(){window.close();}' +
1285
- ',50);' +
1286
- '</script>")' );
1287
- }
1288
- }
1289
-
1290
- return $ && new CKEDITOR.dom.document( $.contentWindow.document );
1291
- },
1292
-
1293
- /**
1294
- * Copy all the attributes from one node to the other, kinda like a clone
1295
- * skipAttributes is an object with the attributes that must NOT be copied.
1296
- * @param {CKEDITOR.dom.element} dest The destination element.
1297
- * @param {Object} skipAttributes A dictionary of attributes to skip.
1298
- * @example
1299
- */
1300
- copyAttributes : function( dest, skipAttributes )
1301
- {
1302
- var attributes = this.$.attributes;
1303
- skipAttributes = skipAttributes || {};
1304
-
1305
- for ( var n = 0 ; n < attributes.length ; n++ )
1306
- {
1307
- var attribute = attributes[n];
1308
-
1309
- // IE BUG: value attribute is never specified even if it exists.
1310
- if ( attribute.specified ||
1311
- ( CKEDITOR.env.ie && attribute.nodeValue && attribute.nodeName.toLowerCase() == 'value' ) )
1312
- {
1313
- var attrName = attribute.nodeName;
1314
- // We can set the type only once, so do it with the proper value, not copying it.
1315
- if ( attrName in skipAttributes )
1316
- continue;
1317
-
1318
- var attrValue = this.getAttribute( attrName );
1319
- if ( attrValue === null )
1320
- attrValue = attribute.nodeValue;
1321
-
1322
- dest.setAttribute( attrName, attrValue );
1323
- }
1324
- }
1325
-
1326
- // The style:
1327
- if ( this.$.style.cssText !== '' )
1328
- dest.$.style.cssText = this.$.style.cssText;
1329
- },
1330
-
1331
- /**
1332
- * Changes the tag name of the current element.
1333
- * @param {String} newTag The new tag for the element.
1334
- */
1335
- renameNode : function( newTag )
1336
- {
1337
- // If it's already correct exit here.
1338
- if ( this.getName() == newTag )
1339
- return;
1340
-
1341
- var doc = this.getDocument();
1342
-
1343
- // Create the new node.
1344
- var newNode = new CKEDITOR.dom.element( newTag, doc );
1345
-
1346
- // Copy all attributes.
1347
- this.copyAttributes( newNode );
1348
-
1349
- // Move children to the new node.
1350
- this.moveChildren( newNode );
1351
-
1352
- // Replace the node.
1353
- this.$.parentNode.replaceChild( newNode.$, this.$ );
1354
- newNode.$._cke_expando = this.$._cke_expando;
1355
- this.$ = newNode.$;
1356
- },
1357
-
1358
- /**
1359
- * Gets a DOM tree descendant under the current node.
1360
- * @param {Array|Number} indices The child index or array of child indices under the node.
1361
- * @returns {CKEDITOR.dom.node} The specified DOM child under the current node. Null if child does not exist.
1362
- * @example
1363
- * var strong = p.getChild(0);
1364
- */
1365
- getChild : function( indices )
1366
- {
1367
- var rawNode = this.$;
1368
-
1369
- if ( !indices.slice )
1370
- rawNode = rawNode.childNodes[ indices ];
1371
- else
1372
- {
1373
- while ( indices.length > 0 && rawNode )
1374
- rawNode = rawNode.childNodes[ indices.shift() ];
1375
- }
1376
-
1377
- return rawNode ? new CKEDITOR.dom.node( rawNode ) : null;
1378
- },
1379
-
1380
- getChildCount : function()
1381
- {
1382
- return this.$.childNodes.length;
1383
- }
1384
- });