bcms_fckeditor 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (670) hide show
  1. metadata +5 -679
  2. data/.gitignore +0 -11
  3. data/COPYRIGHT.txt +0 -23
  4. data/GPL.txt +0 -674
  5. data/Rakefile +0 -36
  6. data/VERSION +0 -1
  7. data/app/controllers/application_controller.rb +0 -10
  8. data/app/helpers/application_helper.rb +0 -3
  9. data/bcms_fckeditor.gemspec +0 -1046
  10. data/config/boot.rb +0 -110
  11. data/config/database.yml +0 -22
  12. data/config/environment.rb +0 -42
  13. data/config/environments/development.rb +0 -18
  14. data/config/environments/production.rb +0 -31
  15. data/config/environments/test.rb +0 -29
  16. data/config/initializers/backtrace_silencers.rb +0 -7
  17. data/config/initializers/inflections.rb +0 -10
  18. data/config/initializers/init_module.rb +0 -1
  19. data/config/initializers/mime_types.rb +0 -5
  20. data/config/initializers/new_rails_defaults.rb +0 -21
  21. data/config/initializers/session_store.rb +0 -15
  22. data/config/locales/en.yml +0 -5
  23. data/config/routes.rb +0 -45
  24. data/db/migrate/20080815014337_browsercms_3_0_0.rb +0 -274
  25. data/db/migrate/20081114172307_load_seed_data.rb +0 -92
  26. data/db/migrate/20091109175123_browsercms_3_0_5.rb +0 -9
  27. data/db/seeds.rb +0 -7
  28. data/doc/README_FOR_APP +0 -2
  29. data/public/404.html +0 -30
  30. data/public/422.html +0 -30
  31. data/public/500.html +0 -30
  32. data/public/bcms/ckeditor/ckeditor.js +0 -108
  33. data/public/bcms/ckeditor/config.js +0 -18
  34. data/public/bcms/ckeditor/core/_bootstrap.js +0 -64
  35. data/public/bcms/ckeditor/core/ajax.js +0 -143
  36. data/public/bcms/ckeditor/core/ckeditor.js +0 -96
  37. data/public/bcms/ckeditor/core/ckeditor_base.js +0 -190
  38. data/public/bcms/ckeditor/core/ckeditor_basic.js +0 -241
  39. data/public/bcms/ckeditor/core/command.js +0 -70
  40. data/public/bcms/ckeditor/core/commanddefinition.js +0 -72
  41. data/public/bcms/ckeditor/core/config.js +0 -287
  42. data/public/bcms/ckeditor/core/dom/document.js +0 -210
  43. data/public/bcms/ckeditor/core/dom/documentfragment.js +0 -49
  44. data/public/bcms/ckeditor/core/dom/domobject.js +0 -204
  45. data/public/bcms/ckeditor/core/dom/element.js +0 -1384
  46. data/public/bcms/ckeditor/core/dom/elementpath.js +0 -104
  47. data/public/bcms/ckeditor/core/dom/event.js +0 -137
  48. data/public/bcms/ckeditor/core/dom/node.js +0 -649
  49. data/public/bcms/ckeditor/core/dom/nodelist.js +0 -23
  50. data/public/bcms/ckeditor/core/dom/range.js +0 -1668
  51. data/public/bcms/ckeditor/core/dom/text.js +0 -123
  52. data/public/bcms/ckeditor/core/dom/walker.js +0 -411
  53. data/public/bcms/ckeditor/core/dom/window.js +0 -96
  54. data/public/bcms/ckeditor/core/dom.js +0 -21
  55. data/public/bcms/ckeditor/core/dtd.js +0 -200
  56. data/public/bcms/ckeditor/core/editor.js +0 -650
  57. data/public/bcms/ckeditor/core/editor_basic.js +0 -178
  58. data/public/bcms/ckeditor/core/env.js +0 -219
  59. data/public/bcms/ckeditor/core/event.js +0 -335
  60. data/public/bcms/ckeditor/core/eventInfo.js +0 -120
  61. data/public/bcms/ckeditor/core/focusmanager.js +0 -123
  62. data/public/bcms/ckeditor/core/htmlparser/basicwriter.js +0 -140
  63. data/public/bcms/ckeditor/core/htmlparser/cdata.js +0 -44
  64. data/public/bcms/ckeditor/core/htmlparser/comment.js +0 -59
  65. data/public/bcms/ckeditor/core/htmlparser/element.js +0 -196
  66. data/public/bcms/ckeditor/core/htmlparser/filter.js +0 -233
  67. data/public/bcms/ckeditor/core/htmlparser/fragment.js +0 -434
  68. data/public/bcms/ckeditor/core/htmlparser/text.js +0 -55
  69. data/public/bcms/ckeditor/core/htmlparser.js +0 -212
  70. data/public/bcms/ckeditor/core/imagecacher.js +0 -58
  71. data/public/bcms/ckeditor/core/lang.js +0 -147
  72. data/public/bcms/ckeditor/core/loader.js +0 -238
  73. data/public/bcms/ckeditor/core/plugindefinition.js +0 -66
  74. data/public/bcms/ckeditor/core/plugins.js +0 -82
  75. data/public/bcms/ckeditor/core/resourcemanager.js +0 -233
  76. data/public/bcms/ckeditor/core/scriptloader.js +0 -194
  77. data/public/bcms/ckeditor/core/skins.js +0 -185
  78. data/public/bcms/ckeditor/core/test.js +0 -184
  79. data/public/bcms/ckeditor/core/themes.js +0 -18
  80. data/public/bcms/ckeditor/core/tools.js +0 -531
  81. data/public/bcms/ckeditor/core/ui.js +0 -106
  82. data/public/bcms/ckeditor/core/xml.js +0 -165
  83. data/public/bcms/ckeditor/editor.js +0 -50
  84. data/public/bcms/ckeditor/lang/_languages.js +0 -82
  85. data/public/bcms/ckeditor/lang/_translationstatus.txt +0 -59
  86. data/public/bcms/ckeditor/lang/af.js +0 -674
  87. data/public/bcms/ckeditor/lang/ar.js +0 -674
  88. data/public/bcms/ckeditor/lang/bg.js +0 -674
  89. data/public/bcms/ckeditor/lang/bn.js +0 -674
  90. data/public/bcms/ckeditor/lang/bs.js +0 -674
  91. data/public/bcms/ckeditor/lang/ca.js +0 -674
  92. data/public/bcms/ckeditor/lang/cs.js +0 -674
  93. data/public/bcms/ckeditor/lang/da.js +0 -674
  94. data/public/bcms/ckeditor/lang/de.js +0 -674
  95. data/public/bcms/ckeditor/lang/el.js +0 -674
  96. data/public/bcms/ckeditor/lang/en-au.js +0 -674
  97. data/public/bcms/ckeditor/lang/en-ca.js +0 -674
  98. data/public/bcms/ckeditor/lang/en-uk.js +0 -674
  99. data/public/bcms/ckeditor/lang/en.js +0 -674
  100. data/public/bcms/ckeditor/lang/eo.js +0 -674
  101. data/public/bcms/ckeditor/lang/es.js +0 -674
  102. data/public/bcms/ckeditor/lang/et.js +0 -674
  103. data/public/bcms/ckeditor/lang/eu.js +0 -674
  104. data/public/bcms/ckeditor/lang/fa.js +0 -674
  105. data/public/bcms/ckeditor/lang/fi.js +0 -674
  106. data/public/bcms/ckeditor/lang/fo.js +0 -674
  107. data/public/bcms/ckeditor/lang/fr-ca.js +0 -674
  108. data/public/bcms/ckeditor/lang/fr.js +0 -674
  109. data/public/bcms/ckeditor/lang/gl.js +0 -674
  110. data/public/bcms/ckeditor/lang/gu.js +0 -674
  111. data/public/bcms/ckeditor/lang/he.js +0 -674
  112. data/public/bcms/ckeditor/lang/hi.js +0 -674
  113. data/public/bcms/ckeditor/lang/hr.js +0 -674
  114. data/public/bcms/ckeditor/lang/hu.js +0 -674
  115. data/public/bcms/ckeditor/lang/is.js +0 -674
  116. data/public/bcms/ckeditor/lang/it.js +0 -674
  117. data/public/bcms/ckeditor/lang/ja.js +0 -674
  118. data/public/bcms/ckeditor/lang/km.js +0 -674
  119. data/public/bcms/ckeditor/lang/ko.js +0 -674
  120. data/public/bcms/ckeditor/lang/lt.js +0 -674
  121. data/public/bcms/ckeditor/lang/lv.js +0 -674
  122. data/public/bcms/ckeditor/lang/mn.js +0 -674
  123. data/public/bcms/ckeditor/lang/ms.js +0 -674
  124. data/public/bcms/ckeditor/lang/nb.js +0 -674
  125. data/public/bcms/ckeditor/lang/nl.js +0 -674
  126. data/public/bcms/ckeditor/lang/no.js +0 -674
  127. data/public/bcms/ckeditor/lang/pl.js +0 -674
  128. data/public/bcms/ckeditor/lang/pt-br.js +0 -674
  129. data/public/bcms/ckeditor/lang/pt.js +0 -674
  130. data/public/bcms/ckeditor/lang/ro.js +0 -674
  131. data/public/bcms/ckeditor/lang/ru.js +0 -674
  132. data/public/bcms/ckeditor/lang/sk.js +0 -674
  133. data/public/bcms/ckeditor/lang/sl.js +0 -674
  134. data/public/bcms/ckeditor/lang/sr-latn.js +0 -674
  135. data/public/bcms/ckeditor/lang/sr.js +0 -674
  136. data/public/bcms/ckeditor/lang/sv.js +0 -674
  137. data/public/bcms/ckeditor/lang/th.js +0 -674
  138. data/public/bcms/ckeditor/lang/tr.js +0 -674
  139. data/public/bcms/ckeditor/lang/uk.js +0 -674
  140. data/public/bcms/ckeditor/lang/vi.js +0 -674
  141. data/public/bcms/ckeditor/lang/zh-cn.js +0 -674
  142. data/public/bcms/ckeditor/lang/zh.js +0 -674
  143. data/public/bcms/ckeditor/plugins/about/dialogs/about.js +0 -73
  144. data/public/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  145. data/public/bcms/ckeditor/plugins/about/plugin.js +0 -22
  146. data/public/bcms/ckeditor/plugins/basicstyles/plugin.js +0 -50
  147. data/public/bcms/ckeditor/plugins/blockquote/plugin.js +0 -301
  148. data/public/bcms/ckeditor/plugins/button/plugin.js +0 -264
  149. data/public/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +0 -167
  150. data/public/bcms/ckeditor/plugins/clipboard/plugin.js +0 -208
  151. data/public/bcms/ckeditor/plugins/colorbutton/plugin.js +0 -202
  152. data/public/bcms/ckeditor/plugins/contextmenu/plugin.js +0 -178
  153. data/public/bcms/ckeditor/plugins/dialog/dialogDefinition.js +0 -315
  154. data/public/bcms/ckeditor/plugins/dialog/plugin.js +0 -2742
  155. data/public/bcms/ckeditor/plugins/dialogui/plugin.js +0 -1319
  156. data/public/bcms/ckeditor/plugins/domiterator/plugin.js +0 -354
  157. data/public/bcms/ckeditor/plugins/editingblock/plugin.js +0 -236
  158. data/public/bcms/ckeditor/plugins/elementspath/plugin.js +0 -182
  159. data/public/bcms/ckeditor/plugins/enterkey/plugin.js +0 -324
  160. data/public/bcms/ckeditor/plugins/entities/plugin.js +0 -200
  161. data/public/bcms/ckeditor/plugins/fakeobjects/plugin.js +0 -111
  162. data/public/bcms/ckeditor/plugins/filebrowser/plugin.js +0 -383
  163. data/public/bcms/ckeditor/plugins/find/dialogs/find.js +0 -843
  164. data/public/bcms/ckeditor/plugins/find/plugin.js +0 -46
  165. data/public/bcms/ckeditor/plugins/flash/dialogs/flash.js +0 -682
  166. data/public/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
  167. data/public/bcms/ckeditor/plugins/flash/plugin.js +0 -165
  168. data/public/bcms/ckeditor/plugins/floatpanel/plugin.js +0 -325
  169. data/public/bcms/ckeditor/plugins/font/plugin.js +0 -227
  170. data/public/bcms/ckeditor/plugins/format/plugin.js +0 -191
  171. data/public/bcms/ckeditor/plugins/forms/dialogs/button.js +0 -135
  172. data/public/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +0 -138
  173. data/public/bcms/ckeditor/plugins/forms/dialogs/form.js +0 -177
  174. data/public/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -91
  175. data/public/bcms/ckeditor/plugins/forms/dialogs/radio.js +0 -135
  176. data/public/bcms/ckeditor/plugins/forms/dialogs/select.js +0 -541
  177. data/public/bcms/ckeditor/plugins/forms/dialogs/textarea.js +0 -114
  178. data/public/bcms/ckeditor/plugins/forms/dialogs/textfield.js +0 -193
  179. data/public/bcms/ckeditor/plugins/forms/plugin.js +0 -193
  180. data/public/bcms/ckeditor/plugins/horizontalrule/plugin.js +0 -35
  181. data/public/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +0 -373
  182. data/public/bcms/ckeditor/plugins/htmlwriter/plugin.js +0 -289
  183. data/public/bcms/ckeditor/plugins/iframedialog/plugin.js +0 -136
  184. data/public/bcms/ckeditor/plugins/image/dialogs/image.js +0 -1225
  185. data/public/bcms/ckeditor/plugins/image/plugin.js +0 -64
  186. data/public/bcms/ckeditor/plugins/indent/plugin.js +0 -323
  187. data/public/bcms/ckeditor/plugins/justify/plugin.js +0 -164
  188. data/public/bcms/ckeditor/plugins/keystrokes/plugin.js +0 -217
  189. data/public/bcms/ckeditor/plugins/link/dialogs/anchor.js +0 -98
  190. data/public/bcms/ckeditor/plugins/link/dialogs/link.js +0 -1217
  191. data/public/bcms/ckeditor/plugins/link/images/anchor.gif +0 -0
  192. data/public/bcms/ckeditor/plugins/link/plugin.js +0 -188
  193. data/public/bcms/ckeditor/plugins/list/plugin.js +0 -570
  194. data/public/bcms/ckeditor/plugins/listblock/plugin.js +0 -231
  195. data/public/bcms/ckeditor/plugins/maximize/plugin.js +0 -267
  196. data/public/bcms/ckeditor/plugins/menu/plugin.js +0 -377
  197. data/public/bcms/ckeditor/plugins/menubutton/plugin.js +0 -93
  198. data/public/bcms/ckeditor/plugins/newpage/plugin.js +0 -65
  199. data/public/bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  200. data/public/bcms/ckeditor/plugins/pagebreak/plugin.js +0 -96
  201. data/public/bcms/ckeditor/plugins/panel/plugin.js +0 -330
  202. data/public/bcms/ckeditor/plugins/panelbutton/plugin.js +0 -140
  203. data/public/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +0 -307
  204. data/public/bcms/ckeditor/plugins/pastefromword/plugin.js +0 -54
  205. data/public/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -65
  206. data/public/bcms/ckeditor/plugins/pastetext/plugin.js +0 -142
  207. data/public/bcms/ckeditor/plugins/popup/plugin.js +0 -62
  208. data/public/bcms/ckeditor/plugins/preview/plugin.js +0 -97
  209. data/public/bcms/ckeditor/plugins/print/plugin.js +0 -41
  210. data/public/bcms/ckeditor/plugins/removeformat/plugin.js +0 -132
  211. data/public/bcms/ckeditor/plugins/resize/plugin.js +0 -115
  212. data/public/bcms/ckeditor/plugins/richcombo/plugin.js +0 -357
  213. data/public/bcms/ckeditor/plugins/save/plugin.js +0 -55
  214. data/public/bcms/ckeditor/plugins/scayt/dialogs/options.js +0 -494
  215. data/public/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
  216. data/public/bcms/ckeditor/plugins/scayt/plugin.js +0 -511
  217. data/public/bcms/ckeditor/plugins/selection/plugin.js +0 -1072
  218. data/public/bcms/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  219. data/public/bcms/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  220. data/public/bcms/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  221. data/public/bcms/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  222. data/public/bcms/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  223. data/public/bcms/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  224. data/public/bcms/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  225. data/public/bcms/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  226. data/public/bcms/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  227. data/public/bcms/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  228. data/public/bcms/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  229. data/public/bcms/ckeditor/plugins/showblocks/plugin.js +0 -153
  230. data/public/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +0 -219
  231. data/public/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  232. data/public/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  233. data/public/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  234. data/public/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  235. data/public/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  236. data/public/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  237. data/public/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  238. data/public/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  239. data/public/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
  240. data/public/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  241. data/public/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  242. data/public/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  243. data/public/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  244. data/public/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  245. data/public/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  246. data/public/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  247. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  248. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  249. data/public/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  250. data/public/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  251. data/public/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  252. data/public/bcms/ckeditor/plugins/smiley/plugin.js +0 -74
  253. data/public/bcms/ckeditor/plugins/sourcearea/plugin.js +0 -185
  254. data/public/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -362
  255. data/public/bcms/ckeditor/plugins/specialchar/plugin.js +0 -29
  256. data/public/bcms/ckeditor/plugins/styles/plugin.js +0 -1242
  257. data/public/bcms/ckeditor/plugins/stylescombo/plugin.js +0 -295
  258. data/public/bcms/ckeditor/plugins/stylescombo/styles/default.js +0 -85
  259. data/public/bcms/ckeditor/plugins/tab/plugin.js +0 -266
  260. data/public/bcms/ckeditor/plugins/table/dialogs/table.js +0 -550
  261. data/public/bcms/ckeditor/plugins/table/plugin.js +0 -70
  262. data/public/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -328
  263. data/public/bcms/ckeditor/plugins/tabletools/plugin.js +0 -701
  264. data/public/bcms/ckeditor/plugins/templates/dialogs/templates.js +0 -170
  265. data/public/bcms/ckeditor/plugins/templates/plugin.js +0 -99
  266. data/public/bcms/ckeditor/plugins/templates/templates/default.js +0 -94
  267. data/public/bcms/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  268. data/public/bcms/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  269. data/public/bcms/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  270. data/public/bcms/ckeditor/plugins/toolbar/plugin.js +0 -412
  271. data/public/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -203
  272. data/public/bcms/ckeditor/plugins/uicolor/lang/en.js +0 -15
  273. data/public/bcms/ckeditor/plugins/uicolor/plugin.js +0 -35
  274. data/public/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  275. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  276. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  277. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  278. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  279. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -15
  280. data/public/bcms/ckeditor/plugins/uicolor/yui/yui.js +0 -71
  281. data/public/bcms/ckeditor/plugins/undo/plugin.js +0 -490
  282. data/public/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  283. data/public/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  284. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +0 -83
  285. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +0 -169
  286. data/public/bcms/ckeditor/plugins/wsc/plugin.js +0 -32
  287. data/public/bcms/ckeditor/plugins/wysiwygarea/plugin.js +0 -636
  288. data/public/bcms/ckeditor/skins/kama/dialog.css +0 -742
  289. data/public/bcms/ckeditor/skins/kama/editor.css +0 -21
  290. data/public/bcms/ckeditor/skins/kama/elementspath.css +0 -68
  291. data/public/bcms/ckeditor/skins/kama/icons.css +0 -309
  292. data/public/bcms/ckeditor/skins/kama/icons.png +0 -0
  293. data/public/bcms/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  294. data/public/bcms/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  295. data/public/bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  296. data/public/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
  297. data/public/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
  298. data/public/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
  299. data/public/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  300. data/public/bcms/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  301. data/public/bcms/ckeditor/skins/kama/mainui.css +0 -139
  302. data/public/bcms/ckeditor/skins/kama/menu.css +0 -179
  303. data/public/bcms/ckeditor/skins/kama/panel.css +0 -203
  304. data/public/bcms/ckeditor/skins/kama/presets.css +0 -49
  305. data/public/bcms/ckeditor/skins/kama/reset.css +0 -78
  306. data/public/bcms/ckeditor/skins/kama/richcombo.css +0 -260
  307. data/public/bcms/ckeditor/skins/kama/skin.js +0 -291
  308. data/public/bcms/ckeditor/skins/kama/templates.css +0 -71
  309. data/public/bcms/ckeditor/skins/kama/toolbar.css +0 -384
  310. data/public/bcms/ckeditor/skins/office2003/dialog.css +0 -643
  311. data/public/bcms/ckeditor/skins/office2003/editor.css +0 -21
  312. data/public/bcms/ckeditor/skins/office2003/elementspath.css +0 -68
  313. data/public/bcms/ckeditor/skins/office2003/icons.css +0 -309
  314. data/public/bcms/ckeditor/skins/office2003/icons.png +0 -0
  315. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  316. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  317. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  318. data/public/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
  319. data/public/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
  320. data/public/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
  321. data/public/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  322. data/public/bcms/ckeditor/skins/office2003/mainui.css +0 -97
  323. data/public/bcms/ckeditor/skins/office2003/menu.css +0 -175
  324. data/public/bcms/ckeditor/skins/office2003/panel.css +0 -198
  325. data/public/bcms/ckeditor/skins/office2003/presets.css +0 -49
  326. data/public/bcms/ckeditor/skins/office2003/reset.css +0 -78
  327. data/public/bcms/ckeditor/skins/office2003/richcombo.css +0 -279
  328. data/public/bcms/ckeditor/skins/office2003/skin.js +0 -77
  329. data/public/bcms/ckeditor/skins/office2003/templates.css +0 -71
  330. data/public/bcms/ckeditor/skins/office2003/toolbar.css +0 -442
  331. data/public/bcms/ckeditor/skins/v2/dialog.css +0 -653
  332. data/public/bcms/ckeditor/skins/v2/editor.css +0 -21
  333. data/public/bcms/ckeditor/skins/v2/elementspath.css +0 -68
  334. data/public/bcms/ckeditor/skins/v2/icons.css +0 -309
  335. data/public/bcms/ckeditor/skins/v2/icons.png +0 -0
  336. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  337. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  338. data/public/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  339. data/public/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
  340. data/public/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
  341. data/public/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
  342. data/public/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  343. data/public/bcms/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  344. data/public/bcms/ckeditor/skins/v2/mainui.css +0 -112
  345. data/public/bcms/ckeditor/skins/v2/menu.css +0 -178
  346. data/public/bcms/ckeditor/skins/v2/panel.css +0 -198
  347. data/public/bcms/ckeditor/skins/v2/presets.css +0 -50
  348. data/public/bcms/ckeditor/skins/v2/reset.css +0 -78
  349. data/public/bcms/ckeditor/skins/v2/richcombo.css +0 -275
  350. data/public/bcms/ckeditor/skins/v2/skin.js +0 -73
  351. data/public/bcms/ckeditor/skins/v2/templates.css +0 -71
  352. data/public/bcms/ckeditor/skins/v2/toolbar.css +0 -399
  353. data/public/bcms/ckeditor/tests/_assets/sample.css +0 -4
  354. data/public/bcms/ckeditor/tests/_assets/sample.js +0 -1
  355. data/public/bcms/ckeditor/tests/_assets/sample.txt +0 -1
  356. data/public/bcms/ckeditor/tests/_assets/sample.xml +0 -5
  357. data/public/bcms/ckeditor/tests/_assets/sample_xml.txt +0 -5
  358. data/public/bcms/ckeditor/tests/core/_editor/custom_config_1.js +0 -10
  359. data/public/bcms/ckeditor/tests/core/_editor/custom_config_2.js +0 -9
  360. data/public/bcms/ckeditor/tests/core/ajax.html +0 -163
  361. data/public/bcms/ckeditor/tests/core/bootstrap.html +0 -66
  362. data/public/bcms/ckeditor/tests/core/ckeditor.html +0 -160
  363. data/public/bcms/ckeditor/tests/core/dom/document.html +0 -126
  364. data/public/bcms/ckeditor/tests/core/dom/documentfragment.html +0 -292
  365. data/public/bcms/ckeditor/tests/core/dom/element.html +0 -637
  366. data/public/bcms/ckeditor/tests/core/dom/node.html +0 -164
  367. data/public/bcms/ckeditor/tests/core/dom/range.html +0 -2411
  368. data/public/bcms/ckeditor/tests/core/dom/text.html +0 -128
  369. data/public/bcms/ckeditor/tests/core/dom/walker.html +0 -340
  370. data/public/bcms/ckeditor/tests/core/dom/window.html +0 -53
  371. data/public/bcms/ckeditor/tests/core/editor.html +0 -123
  372. data/public/bcms/ckeditor/tests/core/env.html +0 -52
  373. data/public/bcms/ckeditor/tests/core/event.html +0 -487
  374. data/public/bcms/ckeditor/tests/core/htmlparser/fragment.html +0 -188
  375. data/public/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +0 -91
  376. data/public/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +0 -3
  377. data/public/bcms/ckeditor/tests/core/plugins.html +0 -45
  378. data/public/bcms/ckeditor/tests/core/scriptloader.html +0 -52
  379. data/public/bcms/ckeditor/tests/core/tools.html +0 -170
  380. data/public/bcms/ckeditor/tests/core/xml.html +0 -150
  381. data/public/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +0 -236
  382. data/public/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +0 -386
  383. data/public/bcms/ckeditor/tests/plugins/link/link.html +0 -123
  384. data/public/bcms/ckeditor/tests/plugins/list/list.html +0 -217
  385. data/public/bcms/ckeditor/tests/plugins/selection/selection.html +0 -49
  386. data/public/bcms/ckeditor/tests/plugins/styles/styles.html +0 -596
  387. data/public/bcms/ckeditor/tests/test.css +0 -81
  388. data/public/bcms/ckeditor/tests/test.js +0 -93
  389. data/public/bcms/ckeditor/tests/testall.html +0 -114
  390. data/public/bcms/ckeditor/tests/yuitest.js +0 -75
  391. data/public/bcms/ckeditor/themes/default/theme.js +0 -232
  392. data/public/favicon.ico +0 -0
  393. data/public/images/cms/administration/user_browser_bg.gif +0 -0
  394. data/public/images/cms/bg.png +0 -0
  395. data/public/images/cms/bl_curve.png +0 -0
  396. data/public/images/cms/bottom_cap.png +0 -0
  397. data/public/images/cms/bottom_cap_content.png +0 -0
  398. data/public/images/cms/browse.gif +0 -0
  399. data/public/images/cms/browser_media_logo.png +0 -0
  400. data/public/images/cms/browsercms_logo.png +0 -0
  401. data/public/images/cms/buttons/button.png +0 -0
  402. data/public/images/cms/buttons/button_bg.png +0 -0
  403. data/public/images/cms/buttons/button_cap.png +0 -0
  404. data/public/images/cms/buttons/button_cap_h.png +0 -0
  405. data/public/images/cms/buttons/button_cap_off.gif +0 -0
  406. data/public/images/cms/buttons/button_cap_off_middle.gif +0 -0
  407. data/public/images/cms/buttons/button_h.png +0 -0
  408. data/public/images/cms/buttons/button_left_bg.png +0 -0
  409. data/public/images/cms/buttons/button_off.png +0 -0
  410. data/public/images/cms/buttons/button_off_middle.png +0 -0
  411. data/public/images/cms/buttons/delete_x.png +0 -0
  412. data/public/images/cms/buttons/delete_x_disabled.png +0 -0
  413. data/public/images/cms/buttons/delete_x_h.png +0 -0
  414. data/public/images/cms/buttons/sm_button.gif +0 -0
  415. data/public/images/cms/buttons/sm_button_2.gif +0 -0
  416. data/public/images/cms/buttons/sm_button_2_h.gif +0 -0
  417. data/public/images/cms/buttons/sm_button_h.gif +0 -0
  418. data/public/images/cms/containers/add.gif +0 -0
  419. data/public/images/cms/containers/alpha.png +0 -0
  420. data/public/images/cms/containers/beta.png +0 -0
  421. data/public/images/cms/containers/delete.gif +0 -0
  422. data/public/images/cms/containers/down.gif +0 -0
  423. data/public/images/cms/containers/edit.gif +0 -0
  424. data/public/images/cms/containers/up.gif +0 -0
  425. data/public/images/cms/containers/view.gif +0 -0
  426. data/public/images/cms/content_bg.gif +0 -0
  427. data/public/images/cms/dashboard/bottom_cap.png +0 -0
  428. data/public/images/cms/dashboard/bottom_cap_content.png +0 -0
  429. data/public/images/cms/dashboard/header_bg.gif +0 -0
  430. data/public/images/cms/dashboard/header_left_bg.gif +0 -0
  431. data/public/images/cms/dashboard/table_header_bg.gif +0 -0
  432. data/public/images/cms/dashboard/top_cap.png +0 -0
  433. data/public/images/cms/dashed.gif +0 -0
  434. data/public/images/cms/datepicker/clear.gif +0 -0
  435. data/public/images/cms/datepicker/close.gif +0 -0
  436. data/public/images/cms/dk_button_l.gif +0 -0
  437. data/public/images/cms/dk_button_r.gif +0 -0
  438. data/public/images/cms/dot.png +0 -0
  439. data/public/images/cms/draft_status.gif +0 -0
  440. data/public/images/cms/gray_long_bg.gif +0 -0
  441. data/public/images/cms/icons/actions/add.png +0 -0
  442. data/public/images/cms/icons/actions/config.png +0 -0
  443. data/public/images/cms/icons/actions/connect.png +0 -0
  444. data/public/images/cms/icons/actions/delete.png +0 -0
  445. data/public/images/cms/icons/actions/down.png +0 -0
  446. data/public/images/cms/icons/actions/edit.png +0 -0
  447. data/public/images/cms/icons/actions/folder.png +0 -0
  448. data/public/images/cms/icons/actions/folder_add.png +0 -0
  449. data/public/images/cms/icons/actions/folder_delete.png +0 -0
  450. data/public/images/cms/icons/actions/folder_edit.png +0 -0
  451. data/public/images/cms/icons/actions/folder_move.png +0 -0
  452. data/public/images/cms/icons/actions/folder_open.png +0 -0
  453. data/public/images/cms/icons/actions/history.png +0 -0
  454. data/public/images/cms/icons/actions/home.png +0 -0
  455. data/public/images/cms/icons/actions/left.png +0 -0
  456. data/public/images/cms/icons/actions/link.png +0 -0
  457. data/public/images/cms/icons/actions/page.png +0 -0
  458. data/public/images/cms/icons/actions/page_add.png +0 -0
  459. data/public/images/cms/icons/actions/page_edit.png +0 -0
  460. data/public/images/cms/icons/actions/page_move.png +0 -0
  461. data/public/images/cms/icons/actions/redo.png +0 -0
  462. data/public/images/cms/icons/actions/refresh.png +0 -0
  463. data/public/images/cms/icons/actions/right.png +0 -0
  464. data/public/images/cms/icons/actions/root_folder.png +0 -0
  465. data/public/images/cms/icons/actions/root_link.png +0 -0
  466. data/public/images/cms/icons/actions/root_page.png +0 -0
  467. data/public/images/cms/icons/actions/undo.png +0 -0
  468. data/public/images/cms/icons/actions/up.png +0 -0
  469. data/public/images/cms/icons/actions/view.png +0 -0
  470. data/public/images/cms/icons/file_types/doc.png +0 -0
  471. data/public/images/cms/icons/file_types/file.png +0 -0
  472. data/public/images/cms/icons/file_types/gif.png +0 -0
  473. data/public/images/cms/icons/file_types/htm.png +0 -0
  474. data/public/images/cms/icons/file_types/pdf.png +0 -0
  475. data/public/images/cms/icons/file_types/ppt.png +0 -0
  476. data/public/images/cms/icons/file_types/swf.png +0 -0
  477. data/public/images/cms/icons/file_types/txt.png +0 -0
  478. data/public/images/cms/icons/file_types/xls.png +0 -0
  479. data/public/images/cms/icons/file_types/xml.png +0 -0
  480. data/public/images/cms/icons/file_types/zip.png +0 -0
  481. data/public/images/cms/icons/status/archived.gif +0 -0
  482. data/public/images/cms/icons/status/draft.gif +0 -0
  483. data/public/images/cms/icons/status/hidden.gif +0 -0
  484. data/public/images/cms/icons/status/locked.gif +0 -0
  485. data/public/images/cms/icons/status/published.gif +0 -0
  486. data/public/images/cms/icons/status/unlocked.gif +0 -0
  487. data/public/images/cms/icons/user.png +0 -0
  488. data/public/images/cms/login_bg.jpg +0 -0
  489. data/public/images/cms/login_bottom.jpg +0 -0
  490. data/public/images/cms/login_top.gif +0 -0
  491. data/public/images/cms/lt_button_bg.gif +0 -0
  492. data/public/images/cms/lt_button_l.gif +0 -0
  493. data/public/images/cms/lt_button_r.gif +0 -0
  494. data/public/images/cms/menu/block_cap_h.gif +0 -0
  495. data/public/images/cms/menu/bottom_cap.png +0 -0
  496. data/public/images/cms/menu/bottom_cap_menu.png +0 -0
  497. data/public/images/cms/menu/bottom_cap_menu_first.png +0 -0
  498. data/public/images/cms/menu/menu_header_first_bg.gif +0 -0
  499. data/public/images/cms/menu/selected_block_cap.gif +0 -0
  500. data/public/images/cms/menu/top_cap.png +0 -0
  501. data/public/images/cms/menu/top_cap_menu_header.png +0 -0
  502. data/public/images/cms/menu.png +0 -0
  503. data/public/images/cms/menu_h.gif +0 -0
  504. data/public/images/cms/menu_header.png +0 -0
  505. data/public/images/cms/menu_open.png +0 -0
  506. data/public/images/cms/menu_open_bg.gif +0 -0
  507. data/public/images/cms/nav/on_bg.gif +0 -0
  508. data/public/images/cms/nav.png +0 -0
  509. data/public/images/cms/nav_admin.gif +0 -0
  510. data/public/images/cms/nav_admin_h.gif +0 -0
  511. data/public/images/cms/nav_admin_on.gif +0 -0
  512. data/public/images/cms/nav_cap.png +0 -0
  513. data/public/images/cms/nav_cap_h.gif +0 -0
  514. data/public/images/cms/nav_content_library.gif +0 -0
  515. data/public/images/cms/nav_content_library_h.gif +0 -0
  516. data/public/images/cms/nav_content_library_on.gif +0 -0
  517. data/public/images/cms/nav_dash.gif +0 -0
  518. data/public/images/cms/nav_dash_h.gif +0 -0
  519. data/public/images/cms/nav_dash_on.gif +0 -0
  520. data/public/images/cms/nav_h.gif +0 -0
  521. data/public/images/cms/nav_sitemap.gif +0 -0
  522. data/public/images/cms/nav_sitemap_h.gif +0 -0
  523. data/public/images/cms/nav_sitemap_on.gif +0 -0
  524. data/public/images/cms/page_toolbar/page_toolbar_bg.gif +0 -0
  525. data/public/images/cms/page_toolbar/page_toolbar_inset_bg.gif +0 -0
  526. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_bg.gif +0 -0
  527. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_l.gif +0 -0
  528. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_r.gif +0 -0
  529. data/public/images/cms/page_toolbar/page_toolbar_inset_l.gif +0 -0
  530. data/public/images/cms/page_toolbar/page_toolbar_inset_published_bg.gif +0 -0
  531. data/public/images/cms/page_toolbar/page_toolbar_inset_published_l.gif +0 -0
  532. data/public/images/cms/page_toolbar/page_toolbar_inset_published_r.gif +0 -0
  533. data/public/images/cms/page_toolbar/page_toolbar_inset_r.gif +0 -0
  534. data/public/images/cms/page_toolbar/page_toolbar_l.gif +0 -0
  535. data/public/images/cms/page_toolbar/page_toolbar_r.gif +0 -0
  536. data/public/images/cms/page_toolbar/status_draft_bg.gif +0 -0
  537. data/public/images/cms/page_toolbar/status_draft_l.gif +0 -0
  538. data/public/images/cms/page_toolbar/status_l.gif +0 -0
  539. data/public/images/cms/page_toolbar/status_published_bg.gif +0 -0
  540. data/public/images/cms/page_toolbar/status_published_l.gif +0 -0
  541. data/public/images/cms/page_toolbar/visual_editor_bg.gif +0 -0
  542. data/public/images/cms/page_toolbar/visual_editor_end.gif +0 -0
  543. data/public/images/cms/page_toolbar/visual_editor_r.gif +0 -0
  544. data/public/images/cms/page_toolbar/visual_editor_state_bg.gif +0 -0
  545. data/public/images/cms/pages/add_connectable.gif +0 -0
  546. data/public/images/cms/pages/connect_connectable.gif +0 -0
  547. data/public/images/cms/pages/container_border.gif +0 -0
  548. data/public/images/cms/pages/container_border_l.gif +0 -0
  549. data/public/images/cms/pages/container_border_r.gif +0 -0
  550. data/public/images/cms/pages/delete_connectable.gif +0 -0
  551. data/public/images/cms/pages/down_connectable.gif +0 -0
  552. data/public/images/cms/pages/down_connectable_disabled.gif +0 -0
  553. data/public/images/cms/pages/edit_connectable.gif +0 -0
  554. data/public/images/cms/pages/edit_connectable_2.gif +0 -0
  555. data/public/images/cms/pages/show_connectable.gif +0 -0
  556. data/public/images/cms/pages/up_connectable.gif +0 -0
  557. data/public/images/cms/pages/up_connectable_disabled.gif +0 -0
  558. data/public/images/cms/pagination/first.gif +0 -0
  559. data/public/images/cms/pagination/first_h.gif +0 -0
  560. data/public/images/cms/pagination/input.gif +0 -0
  561. data/public/images/cms/pagination/last.gif +0 -0
  562. data/public/images/cms/pagination/last_h.gif +0 -0
  563. data/public/images/cms/pagination/next.gif +0 -0
  564. data/public/images/cms/pagination/next_h.gif +0 -0
  565. data/public/images/cms/pagination/previous.gif +0 -0
  566. data/public/images/cms/pagination/previous_h.gif +0 -0
  567. data/public/images/cms/published_status.gif +0 -0
  568. data/public/images/cms/search.png +0 -0
  569. data/public/images/cms/search_submit.gif +0 -0
  570. data/public/images/cms/search_submit_h.gif +0 -0
  571. data/public/images/cms/searchbox_gradient.gif +0 -0
  572. data/public/images/cms/select_bg.gif +0 -0
  573. data/public/images/cms/select_bg_2.gif +0 -0
  574. data/public/images/cms/sitemap/bottom_cap.png +0 -0
  575. data/public/images/cms/sitemap/buffer_caps.png +0 -0
  576. data/public/images/cms/sitemap/contract.png +0 -0
  577. data/public/images/cms/sitemap/corners.gif +0 -0
  578. data/public/images/cms/sitemap/corners_hover.gif +0 -0
  579. data/public/images/cms/sitemap/divider.gif +0 -0
  580. data/public/images/cms/sitemap/expand.png +0 -0
  581. data/public/images/cms/sitemap/gradient.gif +0 -0
  582. data/public/images/cms/sitemap/gray_contract.png +0 -0
  583. data/public/images/cms/sitemap/gray_expand.png +0 -0
  584. data/public/images/cms/sitemap/no_contents.png +0 -0
  585. data/public/images/cms/sitemap/site_root_cap.png +0 -0
  586. data/public/images/cms/sitemap/tooltip.gif +0 -0
  587. data/public/images/cms/sitemap/top_cap_content.png +0 -0
  588. data/public/images/cms/solid.gif +0 -0
  589. data/public/images/cms/table/bl.gif +0 -0
  590. data/public/images/cms/table/br.gif +0 -0
  591. data/public/images/cms/table/divider.gif +0 -0
  592. data/public/images/cms/table/td_cap_first_h.gif +0 -0
  593. data/public/images/cms/table/td_cap_first_s.gif +0 -0
  594. data/public/images/cms/table/td_cap_last_h.gif +0 -0
  595. data/public/images/cms/table/td_cap_last_s.gif +0 -0
  596. data/public/images/cms/table/td_last_bg.gif +0 -0
  597. data/public/images/cms/table/th_bg.gif +0 -0
  598. data/public/images/cms/table/th_divider.gif +0 -0
  599. data/public/images/cms/table/th_last_bg.gif +0 -0
  600. data/public/images/cms/table/tl.gif +0 -0
  601. data/public/images/cms/table/tr.gif +0 -0
  602. data/public/images/cms/table/tr_bg.gif +0 -0
  603. data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
  604. data/public/images/cms/thickbox/macFFBgHack.png +0 -0
  605. data/public/images/cms/toolbar_bg.png +0 -0
  606. data/public/images/cms/top_cap.png +0 -0
  607. data/public/images/cms/top_cap_content.png +0 -0
  608. data/public/images/cms/top_cap_menu_header.png +0 -0
  609. data/public/images/cms/user_search_submit.gif +0 -0
  610. data/public/images/cms/usercontrols_bg.png +0 -0
  611. data/public/images/cms/usercontrols_bg_cap.png +0 -0
  612. data/public/images/rails.png +0 -0
  613. data/public/javascripts/application.js +0 -2
  614. data/public/javascripts/cms/application.js +0 -148
  615. data/public/javascripts/cms/content_library.js +0 -36
  616. data/public/javascripts/cms/editor.js +0 -50
  617. data/public/javascripts/cms/sitemap.js +0 -438
  618. data/public/javascripts/controls.js +0 -963
  619. data/public/javascripts/dragdrop.js +0 -973
  620. data/public/javascripts/effects.js +0 -1128
  621. data/public/javascripts/jquery-ui.js +0 -591
  622. data/public/javascripts/jquery.contextMenu.js +0 -211
  623. data/public/javascripts/jquery.cookie.js +0 -96
  624. data/public/javascripts/jquery.dimensions.js +0 -119
  625. data/public/javascripts/jquery.js +0 -11
  626. data/public/javascripts/jquery.selectbox-0.5.js +0 -209
  627. data/public/javascripts/jquery.taglist.js +0 -136
  628. data/public/javascripts/jquery.thickbox.js +0 -10
  629. data/public/javascripts/prototype.js +0 -4320
  630. data/public/robots.txt +0 -5
  631. data/public/site/customconfig.js +0 -1
  632. data/public/stylesheets/cms/administration.css +0 -91
  633. data/public/stylesheets/cms/application.css +0 -166
  634. data/public/stylesheets/cms/block.css +0 -26
  635. data/public/stylesheets/cms/buttons.css +0 -120
  636. data/public/stylesheets/cms/content_library.css +0 -139
  637. data/public/stylesheets/cms/content_types.css +0 -4
  638. data/public/stylesheets/cms/dashboard.css +0 -118
  639. data/public/stylesheets/cms/data_table.css +0 -156
  640. data/public/stylesheets/cms/date_picker.css +0 -73
  641. data/public/stylesheets/cms/form_layout.css +0 -279
  642. data/public/stylesheets/cms/jquery.contextMenu.css +0 -61
  643. data/public/stylesheets/cms/login.css +0 -78
  644. data/public/stylesheets/cms/menu.css +0 -116
  645. data/public/stylesheets/cms/nav.css +0 -99
  646. data/public/stylesheets/cms/page_toolbar.css +0 -135
  647. data/public/stylesheets/cms/reset.css +0 -46
  648. data/public/stylesheets/cms/selectbox.css +0 -56
  649. data/public/stylesheets/cms/sitemap.css +0 -390
  650. data/public/stylesheets/cms/taglist.css +0 -18
  651. data/public/stylesheets/cms/thickbox.css +0 -163
  652. data/script/about +0 -4
  653. data/script/console +0 -3
  654. data/script/dbconsole +0 -3
  655. data/script/destroy +0 -3
  656. data/script/generate +0 -3
  657. data/script/performance/benchmarker +0 -3
  658. data/script/performance/profiler +0 -3
  659. data/script/plugin +0 -3
  660. data/script/runner +0 -3
  661. data/script/server +0 -3
  662. data/test/fixtures/content_type_groups.yml +0 -13
  663. data/test/fixtures/content_types.yml +0 -50
  664. data/test/fixtures/group_permissions.yml +0 -16
  665. data/test/fixtures/group_type_permissions.yml +0 -11
  666. data/test/fixtures/group_types.yml +0 -25
  667. data/test/fixtures/groups.yml +0 -25
  668. data/test/fixtures/permissions.yml +0 -28
  669. data/test/fixtures/user_group_memberships.yml +0 -11
  670. data/test/fixtures/users.yml +0 -15
@@ -1,29 +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
- * @file Special Character plugin
8
- */
9
-
10
- CKEDITOR.plugins.add( 'specialchar',
11
- {
12
- init : function( editor )
13
- {
14
- var pluginName = 'specialchar';
15
-
16
- // Register the dialog.
17
- CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/specialchar.js' );
18
-
19
- // Register the command.
20
- editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) );
21
-
22
- // Register the toolbar button.
23
- editor.ui.addButton( 'SpecialChar',
24
- {
25
- label : editor.lang.specialChar.toolbar,
26
- command : pluginName
27
- });
28
- }
29
- } );
@@ -1,1242 +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
- CKEDITOR.plugins.add( 'styles',
7
- {
8
- requires : [ 'selection' ]
9
- });
10
-
11
- /**
12
- * Registers a function to be called whenever a style changes its state in the
13
- * editing area. The current state is passed to the function. The possible
14
- * states are {@link CKEDITOR.TRISTATE_ON} and {@link CKEDITOR.TRISTATE_OFF}.
15
- * @param {CKEDITOR.style} The style to be watched.
16
- * @param {Function} The function to be called when the style state changes.
17
- * @example
18
- * // Create a style object for the <b> element.
19
- * var style = new CKEDITOR.style( { element : 'b' } );
20
- * var editor = CKEDITOR.instances.editor1;
21
- * editor.attachStyleStateChange( style, function( state )
22
- * {
23
- * if ( state == CKEDITOR.TRISTATE_ON )
24
- * alert( 'The current state for the B element is ON' );
25
- * else
26
- * alert( 'The current state for the B element is OFF' );
27
- * });
28
- */
29
- CKEDITOR.editor.prototype.attachStyleStateChange = function( style, callback )
30
- {
31
- // Try to get the list of attached callbacks.
32
- var styleStateChangeCallbacks = this._.styleStateChangeCallbacks;
33
-
34
- // If it doesn't exist, it means this is the first call. So, let's create
35
- // all the structure to manage the style checks and the callback calls.
36
- if ( !styleStateChangeCallbacks )
37
- {
38
- // Create the callbacks array.
39
- styleStateChangeCallbacks = this._.styleStateChangeCallbacks = [];
40
-
41
- // Attach to the selectionChange event, so we can check the styles at
42
- // that point.
43
- this.on( 'selectionChange', function( ev )
44
- {
45
- // Loop throw all registered callbacks.
46
- for ( var i = 0 ; i < styleStateChangeCallbacks.length ; i++ )
47
- {
48
- var callback = styleStateChangeCallbacks[ i ];
49
-
50
- // Check the current state for the style defined for that
51
- // callback.
52
- var currentState = callback.style.checkActive( ev.data.path ) ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF;
53
-
54
- // If the state changed since the last check.
55
- if ( callback.state !== currentState )
56
- {
57
- // Call the callback function, passing the current
58
- // state to it.
59
- callback.fn.call( this, currentState );
60
-
61
- // Save the current state, so it can be compared next
62
- // time.
63
- callback.state !== currentState;
64
- }
65
- }
66
- });
67
- }
68
-
69
- // Save the callback info, so it can be checked on the next occurence of
70
- // selectionChange.
71
- styleStateChangeCallbacks.push( { style : style, fn : callback } );
72
- };
73
-
74
- CKEDITOR.STYLE_BLOCK = 1;
75
- CKEDITOR.STYLE_INLINE = 2;
76
- CKEDITOR.STYLE_OBJECT = 3;
77
-
78
- (function()
79
- {
80
- var blockElements = { address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 };
81
- var objectElements = { a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,ul:1 };
82
-
83
- var semicolonFixRegex = /\s*(?:;\s*|$)/;
84
-
85
- CKEDITOR.style = function( styleDefinition, variablesValues )
86
- {
87
- if ( variablesValues )
88
- {
89
- styleDefinition = CKEDITOR.tools.clone( styleDefinition );
90
-
91
- replaceVariables( styleDefinition.attributes, variablesValues );
92
- replaceVariables( styleDefinition.styles, variablesValues );
93
- }
94
-
95
- var element = this.element = ( styleDefinition.element || '*' ).toLowerCase();
96
-
97
- this.type =
98
- ( element == '#' || blockElements[ element ] ) ?
99
- CKEDITOR.STYLE_BLOCK
100
- : objectElements[ element ] ?
101
- CKEDITOR.STYLE_OBJECT
102
- :
103
- CKEDITOR.STYLE_INLINE;
104
-
105
- this._ =
106
- {
107
- definition : styleDefinition
108
- };
109
- };
110
-
111
- CKEDITOR.style.prototype =
112
- {
113
- apply : function( document )
114
- {
115
- applyStyle.call( this, document, false );
116
- },
117
-
118
- remove : function( document )
119
- {
120
- applyStyle.call( this, document, true );
121
- },
122
-
123
- applyToRange : function( range )
124
- {
125
- return ( this.applyToRange =
126
- this.type == CKEDITOR.STYLE_INLINE ?
127
- applyInlineStyle
128
- : this.type == CKEDITOR.STYLE_BLOCK ?
129
- applyBlockStyle
130
- : null ).call( this, range );
131
- },
132
-
133
- removeFromRange : function( range )
134
- {
135
- return ( this.removeFromRange =
136
- this.type == CKEDITOR.STYLE_INLINE ?
137
- removeInlineStyle
138
- : null ).call( this, range );
139
- },
140
-
141
- applyToObject : function( element )
142
- {
143
- setupElement( element, this );
144
- },
145
-
146
- /**
147
- * Get the style state inside an element path. Returns "true" if the
148
- * element is active in the path.
149
- */
150
- checkActive : function( elementPath )
151
- {
152
- switch ( this.type )
153
- {
154
- case CKEDITOR.STYLE_BLOCK :
155
- return this.checkElementRemovable( elementPath.block || elementPath.blockLimit, true );
156
-
157
- case CKEDITOR.STYLE_INLINE :
158
-
159
- var elements = elementPath.elements;
160
-
161
- for ( var i = 0, element ; i < elements.length ; i++ )
162
- {
163
- element = elements[i];
164
-
165
- if ( element == elementPath.block || element == elementPath.blockLimit )
166
- continue;
167
-
168
- if ( this.checkElementRemovable( element, true ) )
169
- return true;
170
- }
171
- }
172
- return false;
173
- },
174
-
175
- // Checks if an element, or any of its attributes, is removable by the
176
- // current style definition.
177
- checkElementRemovable : function( element, fullMatch )
178
- {
179
- if ( !element )
180
- return false;
181
-
182
- var def = this._.definition,
183
- attribs;
184
-
185
- // If the element name is the same as the style name.
186
- if ( element.getName() == this.element )
187
- {
188
- // If no attributes are defined in the element.
189
- if ( !fullMatch && !element.hasAttributes() )
190
- return true;
191
-
192
- attribs = getAttributesForComparison( def );
193
-
194
- if ( attribs._length )
195
- {
196
- for ( var attName in attribs )
197
- {
198
- if ( attName == '_length' )
199
- continue;
200
-
201
- var elementAttr = element.getAttribute( attName );
202
- if ( attribs[attName] ==
203
- ( attName == 'style' ?
204
- normalizeCssText( elementAttr, false ) : elementAttr ) )
205
- {
206
- if ( !fullMatch )
207
- return true;
208
- }
209
- else if ( fullMatch )
210
- return false;
211
- }
212
- if( fullMatch )
213
- return true;
214
- }
215
- else
216
- return true;
217
- }
218
-
219
- // Check if the element can be somehow overriden.
220
- var override = getOverrides( this )[ element.getName() ] ;
221
- if ( override )
222
- {
223
- // If no attributes have been defined, remove the element.
224
- if ( !( attribs = override.attributes ) )
225
- return true;
226
-
227
- for ( var i = 0 ; i < attribs.length ; i++ )
228
- {
229
- attName = attribs[i][0];
230
- var actualAttrValue = element.getAttribute( attName );
231
- if ( actualAttrValue )
232
- {
233
- var attValue = attribs[i][1];
234
-
235
- // Remove the attribute if:
236
- // - The override definition value is null;
237
- // - The override definition value is a string that
238
- // matches the attribute value exactly.
239
- // - The override definition value is a regex that
240
- // has matches in the attribute value.
241
- if ( attValue === null ||
242
- ( typeof attValue == 'string' && actualAttrValue == attValue ) ||
243
- attValue.test( actualAttrValue ) )
244
- return true;
245
- }
246
- }
247
- }
248
- return false;
249
- }
250
- };
251
-
252
- // Build the cssText based on the styles definition.
253
- CKEDITOR.style.getStyleText = function( styleDefinition )
254
- {
255
- // If we have already computed it, just return it.
256
- var stylesDef = styleDefinition._ST;
257
- if ( stylesDef )
258
- return stylesDef;
259
-
260
- stylesDef = styleDefinition.styles;
261
-
262
- // Builds the StyleText.
263
-
264
- var stylesText = ( styleDefinition.attributes && styleDefinition.attributes[ 'style' ] ) || '';
265
-
266
- if ( stylesText.length )
267
- stylesText = stylesText.replace( semicolonFixRegex, ';' );
268
-
269
- for ( var style in stylesDef )
270
- stylesText += style + ':' + stylesDef[ style ] + ';';
271
-
272
- // Browsers make some changes to the style when applying them. So, here
273
- // we normalize it to the browser format.
274
- if ( stylesText.length )
275
- stylesText = normalizeCssText( stylesText );
276
-
277
- // Return it, saving it to the next request.
278
- return ( styleDefinition._ST = stylesText );
279
- };
280
-
281
- function applyInlineStyle( range )
282
- {
283
- var document = range.document;
284
-
285
- if ( range.collapsed )
286
- {
287
- // Create the element to be inserted in the DOM.
288
- var collapsedElement = getElement( this, document );
289
-
290
- // Insert the empty element into the DOM at the range position.
291
- range.insertNode( collapsedElement );
292
-
293
- // Place the selection right inside the empty element.
294
- range.moveToPosition( collapsedElement, CKEDITOR.POSITION_BEFORE_END );
295
-
296
- return;
297
- }
298
-
299
- var elementName = this.element;
300
- var def = this._.definition;
301
- var isUnknownElement;
302
-
303
- // Get the DTD definition for the element. Defaults to "span".
304
- var dtd = CKEDITOR.dtd[ elementName ] || ( isUnknownElement = true, CKEDITOR.dtd.span );
305
-
306
- // Bookmark the range so we can re-select it after processing.
307
- var bookmark = range.createBookmark();
308
-
309
- // Expand the range.
310
- range.enlarge( CKEDITOR.ENLARGE_ELEMENT );
311
- range.trim();
312
-
313
- // Get the first node to be processed and the last, which concludes the
314
- // processing.
315
- var boundaryNodes = range.getBoundaryNodes();
316
- var firstNode = boundaryNodes.startNode;
317
- var lastNode = boundaryNodes.endNode.getNextSourceNode( true );
318
-
319
- // Probably the document end is reached, we need a marker node.
320
- if ( !lastNode )
321
- {
322
- var marker;
323
- lastNode = marker = document.createText( '' );
324
- lastNode.insertAfter( range.endContainer );
325
- }
326
- // The detection algorithm below skips the contents inside bookmark nodes, so
327
- // we'll need to make sure lastNode isn't the &nbsp; inside a bookmark node.
328
- var lastParent = lastNode.getParent();
329
- if ( lastParent && lastParent.getAttribute( '_fck_bookmark' ) )
330
- lastNode = lastParent;
331
-
332
- if ( lastNode.equals( firstNode ) )
333
- {
334
- // If the last node is the same as the the first one, we must move
335
- // it to the next one, otherwise the first one will not be
336
- // processed.
337
- lastNode = lastNode.getNextSourceNode( true );
338
-
339
- // It may happen that there are no more nodes after it (the end of
340
- // the document), so we must add something there to make our code
341
- // simpler.
342
- if ( !lastNode )
343
- {
344
- lastNode = marker = document.createText( '' );
345
- lastNode.insertAfter( firstNode );
346
- }
347
- }
348
-
349
- var currentNode = firstNode;
350
-
351
- var styleRange;
352
-
353
- // Indicates that that some useful inline content has been found, so
354
- // the style should be applied.
355
- var hasContents;
356
-
357
- while ( currentNode )
358
- {
359
- var applyStyle = false;
360
-
361
- if ( currentNode.equals( lastNode ) )
362
- {
363
- currentNode = null;
364
- applyStyle = true;
365
- }
366
- else
367
- {
368
- var nodeType = currentNode.type;
369
- var nodeName = nodeType == CKEDITOR.NODE_ELEMENT ? currentNode.getName() : null;
370
-
371
- if ( nodeName && currentNode.getAttribute( '_fck_bookmark' ) )
372
- {
373
- currentNode = currentNode.getNextSourceNode( true );
374
- continue;
375
- }
376
-
377
- // Check if the current node can be a child of the style element.
378
- if ( !nodeName || ( dtd[ nodeName ] && ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED ) ) )
379
- {
380
- var currentParent = currentNode.getParent();
381
-
382
- // Check if the style element can be a child of the current
383
- // node parent or if the element is not defined in the DTD.
384
- if ( currentParent && ( ( currentParent.getDtd() || CKEDITOR.dtd.span )[ elementName ] || isUnknownElement ) )
385
- {
386
- // This node will be part of our range, so if it has not
387
- // been started, place its start right before the node.
388
- // In the case of an element node, it will be included
389
- // only if it is entirely inside the range.
390
- if ( !styleRange && ( !nodeName || !CKEDITOR.dtd.$removeEmpty[ nodeName ] || ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED ) ) )
391
- {
392
- styleRange = new CKEDITOR.dom.range( document );
393
- styleRange.setStartBefore( currentNode );
394
- }
395
-
396
- // Non element nodes, or empty elements can be added
397
- // completely to the range.
398
- if ( nodeType == CKEDITOR.NODE_TEXT || ( nodeType == CKEDITOR.NODE_ELEMENT && !currentNode.getChildCount() ) )
399
- {
400
- var includedNode = currentNode;
401
- var parentNode;
402
-
403
- // This node is about to be included completelly, but,
404
- // if this is the last node in its parent, we must also
405
- // check if the parent itself can be added completelly
406
- // to the range.
407
- while ( !includedNode.$.nextSibling
408
- && ( parentNode = includedNode.getParent(), dtd[ parentNode.getName() ] )
409
- && ( parentNode.getPosition( firstNode ) | CKEDITOR.POSITION_FOLLOWING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_FOLLOWING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED ) )
410
- {
411
- includedNode = parentNode;
412
- }
413
-
414
- styleRange.setEndAfter( includedNode );
415
-
416
- // If the included node still is the last node in its
417
- // parent, it means that the parent can't be included
418
- // in this style DTD, so apply the style immediately.
419
- if ( !includedNode.$.nextSibling )
420
- applyStyle = true;
421
-
422
- if ( !hasContents )
423
- hasContents = ( nodeType != CKEDITOR.NODE_TEXT || (/[^\s\ufeff]/).test( currentNode.getText() ) );
424
- }
425
- }
426
- else
427
- applyStyle = true;
428
- }
429
- else
430
- applyStyle = true;
431
-
432
- // Get the next node to be processed.
433
- currentNode = currentNode.getNextSourceNode();
434
- }
435
-
436
- // Apply the style if we have something to which apply it.
437
- if ( applyStyle && hasContents && styleRange && !styleRange.collapsed )
438
- {
439
- // Build the style element, based on the style object definition.
440
- var styleNode = getElement( this, document );
441
-
442
- // Get the element that holds the entire range.
443
- var parent = styleRange.getCommonAncestor();
444
-
445
- // Loop through the parents, removing the redundant attributes
446
- // from the element to be applied.
447
- while ( styleNode && parent )
448
- {
449
- if ( parent.getName() == elementName )
450
- {
451
- for ( var attName in def.attributes )
452
- {
453
- if ( styleNode.getAttribute( attName ) == parent.getAttribute( attName ) )
454
- styleNode.removeAttribute( attName );
455
- }
456
-
457
- for ( var styleName in def.styles )
458
- {
459
- if ( styleNode.getStyle( styleName ) == parent.getStyle( styleName ) )
460
- styleNode.removeStyle( styleName );
461
- }
462
-
463
- if ( !styleNode.hasAttributes() )
464
- {
465
- styleNode = null;
466
- break;
467
- }
468
- }
469
-
470
- parent = parent.getParent();
471
- }
472
-
473
- if ( styleNode )
474
- {
475
- // Move the contents of the range to the style element.
476
- styleRange.extractContents().appendTo( styleNode );
477
-
478
- // Here we do some cleanup, removing all duplicated
479
- // elements from the style element.
480
- removeFromInsideElement( this, styleNode );
481
-
482
- // Insert it into the range position (it is collapsed after
483
- // extractContents.
484
- styleRange.insertNode( styleNode );
485
-
486
- // Let's merge our new style with its neighbors, if possible.
487
- mergeSiblings( styleNode );
488
-
489
- // As the style system breaks text nodes constantly, let's normalize
490
- // things for performance.
491
- // With IE, some paragraphs get broken when calling normalize()
492
- // repeatedly. Also, for IE, we must normalize body, not documentElement.
493
- // IE is also known for having a "crash effect" with normalize().
494
- // We should try to normalize with IE too in some way, somewhere.
495
- if ( !CKEDITOR.env.ie )
496
- styleNode.$.normalize();
497
- }
498
-
499
- // Style applied, let's release the range, so it gets
500
- // re-initialization in the next loop.
501
- styleRange = null;
502
- }
503
- }
504
-
505
- // Remove the temporary marking node.(#4111)
506
- marker && marker.remove();
507
- range.moveToBookmark( bookmark );
508
- }
509
-
510
- function removeInlineStyle( range )
511
- {
512
- /*
513
- * Make sure our range has included all "collpased" parent inline nodes so
514
- * that our operation logic can be simpler.
515
- */
516
- range.enlarge( CKEDITOR.ENLARGE_ELEMENT );
517
-
518
- var bookmark = range.createBookmark(),
519
- startNode = bookmark.startNode;
520
-
521
- if ( range.collapsed )
522
- {
523
-
524
- var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ),
525
- // The topmost element in elementspatch which we should jump out of.
526
- boundaryElement;
527
-
528
-
529
- for ( var i = 0, element ; i < startPath.elements.length
530
- && ( element = startPath.elements[i] ) ; i++ )
531
- {
532
- /*
533
- * 1. If it's collaped inside text nodes, try to remove the style from the whole element.
534
- *
535
- * 2. Otherwise if it's collapsed on element boundaries, moving the selection
536
- * outside the styles instead of removing the whole tag,
537
- * also make sure other inner styles were well preserverd.(#3309)
538
- */
539
- if ( element == startPath.block || element == startPath.blockLimit )
540
- break;
541
-
542
- if ( this.checkElementRemovable( element ) )
543
- {
544
- var endOfElement = range.checkBoundaryOfElement( element, CKEDITOR.END ),
545
- startOfElement = !endOfElement && range.checkBoundaryOfElement( element, CKEDITOR.START );
546
- if ( startOfElement || endOfElement )
547
- {
548
- boundaryElement = element;
549
- boundaryElement.match = startOfElement ? 'start' : 'end';
550
- }
551
- else
552
- {
553
- /*
554
- * Before removing the style node, there may be a sibling to the style node
555
- * that's exactly the same to the one to be removed. To the user, it makes
556
- * no difference that they're separate entities in the DOM tree. So, merge
557
- * them before removal.
558
- */
559
- mergeSiblings( element );
560
- removeFromElement( this, element );
561
-
562
- }
563
- }
564
- }
565
-
566
- // Re-create the style tree after/before the boundary element,
567
- // the replication start from bookmark start node to define the
568
- // new range.
569
- if ( boundaryElement )
570
- {
571
- var clonedElement = startNode;
572
- for ( i = 0 ;; i++ )
573
- {
574
- var newElement = startPath.elements[ i ];
575
- if ( newElement.equals( boundaryElement ) )
576
- break;
577
- // Avoid copying any matched element.
578
- else if( newElement.match )
579
- continue;
580
- else
581
- newElement = newElement.clone();
582
- newElement.append( clonedElement );
583
- clonedElement = newElement;
584
- }
585
- clonedElement[ boundaryElement.match == 'start' ?
586
- 'insertBefore' : 'insertAfter' ]( boundaryElement );
587
- }
588
- }
589
- else
590
- {
591
- /*
592
- * Now our range isn't collapsed. Lets walk from the start node to the end
593
- * node via DFS and remove the styles one-by-one.
594
- */
595
- var endNode = bookmark.endNode,
596
- me = this;
597
-
598
- /*
599
- * Find out the style ancestor that needs to be broken down at startNode
600
- * and endNode.
601
- */
602
- function breakNodes()
603
- {
604
- var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ),
605
- endPath = new CKEDITOR.dom.elementPath( endNode.getParent() ),
606
- breakStart = null,
607
- breakEnd = null;
608
- for ( var i = 0 ; i < startPath.elements.length ; i++ )
609
- {
610
- var element = startPath.elements[ i ];
611
-
612
- if ( element == startPath.block || element == startPath.blockLimit )
613
- break;
614
-
615
- if ( me.checkElementRemovable( element ) )
616
- breakStart = element;
617
- }
618
- for ( i = 0 ; i < endPath.elements.length ; i++ )
619
- {
620
- element = endPath.elements[ i ];
621
-
622
- if ( element == endPath.block || element == endPath.blockLimit )
623
- break;
624
-
625
- if ( me.checkElementRemovable( element ) )
626
- breakEnd = element;
627
- }
628
-
629
- if ( breakEnd )
630
- endNode.breakParent( breakEnd );
631
- if ( breakStart )
632
- startNode.breakParent( breakStart );
633
- }
634
- breakNodes();
635
-
636
- // Now, do the DFS walk.
637
- var currentNode = startNode.getNext();
638
- while ( !currentNode.equals( endNode ) )
639
- {
640
- /*
641
- * Need to get the next node first because removeFromElement() can remove
642
- * the current node from DOM tree.
643
- */
644
- var nextNode = currentNode.getNextSourceNode();
645
- if ( currentNode.type == CKEDITOR.NODE_ELEMENT && this.checkElementRemovable( currentNode ) )
646
- {
647
- // Remove style from element or overriding element.
648
- if( currentNode.getName() == this.element )
649
- removeFromElement( this, currentNode );
650
- else
651
- removeOverrides( currentNode, getOverrides( this )[ currentNode.getName() ] );
652
-
653
- /*
654
- * removeFromElement() may have merged the next node with something before
655
- * the startNode via mergeSiblings(). In that case, the nextNode would
656
- * contain startNode and we'll have to call breakNodes() again and also
657
- * reassign the nextNode to something after startNode.
658
- */
659
- if ( nextNode.type == CKEDITOR.NODE_ELEMENT && nextNode.contains( startNode ) )
660
- {
661
- breakNodes();
662
- nextNode = startNode.getNext();
663
- }
664
- }
665
- currentNode = nextNode;
666
- }
667
- }
668
-
669
- range.moveToBookmark( bookmark );
670
- }
671
-
672
- function applyBlockStyle( range )
673
- {
674
- // Serializible bookmarks is needed here since
675
- // elements may be merged.
676
- var bookmark = range.createBookmark( true );
677
-
678
- var iterator = range.createIterator();
679
- iterator.enforceRealBlocks = true;
680
-
681
- var block;
682
- var doc = range.document;
683
- var previousPreBlock;
684
-
685
- while( ( block = iterator.getNextParagraph() ) ) // Only one =
686
- {
687
- var newBlock = getElement( this, doc );
688
- replaceBlock( block, newBlock );
689
- }
690
-
691
- range.moveToBookmark( bookmark );
692
- }
693
-
694
- // Replace the original block with new one, with special treatment
695
- // for <pre> blocks to make sure content format is well preserved, and merging/splitting adjacent
696
- // when necessary.(#3188)
697
- function replaceBlock( block, newBlock )
698
- {
699
- var newBlockIsPre = newBlock.is( 'pre' );
700
- var blockIsPre = block.is( 'pre' );
701
-
702
- var isToPre = newBlockIsPre && !blockIsPre;
703
- var isFromPre = !newBlockIsPre && blockIsPre;
704
-
705
- if ( isToPre )
706
- newBlock = toPre( block, newBlock );
707
- else if ( isFromPre )
708
- // Split big <pre> into pieces before start to convert.
709
- newBlock = fromPres( splitIntoPres( block ), newBlock );
710
- else
711
- block.moveChildren( newBlock );
712
-
713
- newBlock.replace( block );
714
-
715
- if ( newBlockIsPre )
716
- {
717
- // Merge previous <pre> blocks.
718
- mergePre( newBlock );
719
- }
720
- }
721
-
722
- /**
723
- * Merge a <pre> block with a previous sibling if available.
724
- */
725
- function mergePre( preBlock )
726
- {
727
- var previousBlock;
728
- if ( !( ( previousBlock = preBlock.getPreviousSourceNode( true, CKEDITOR.NODE_ELEMENT ) )
729
- && previousBlock.is
730
- && previousBlock.is( 'pre') ) )
731
- return;
732
-
733
- // Merge the previous <pre> block contents into the current <pre>
734
- // block.
735
- //
736
- // Another thing to be careful here is that currentBlock might contain
737
- // a '\n' at the beginning, and previousBlock might contain a '\n'
738
- // towards the end. These new lines are not normally displayed but they
739
- // become visible after merging.
740
- var mergedHtml = replace( previousBlock.getHtml(), /\n$/, '' ) + '\n\n' +
741
- replace( preBlock.getHtml(), /^\n/, '' ) ;
742
-
743
- // Krugle: IE normalizes innerHTML from <pre>, breaking whitespaces.
744
- if ( CKEDITOR.env.ie )
745
- preBlock.$.outerHTML = '<pre>' + mergedHtml + '</pre>';
746
- else
747
- preBlock.setHtml( mergedHtml );
748
-
749
- previousBlock.remove();
750
- }
751
-
752
- /**
753
- * Split into multiple <pre> blocks separated by double line-break.
754
- * @param preBlock
755
- */
756
- function splitIntoPres( preBlock )
757
- {
758
- // Exclude the ones at header OR at tail,
759
- // and ignore bookmark content between them.
760
- var duoBrRegex = /(\S\s*)\n(?:\s|(<span[^>]+_fck_bookmark.*?\/span>))*\n(?!$)/gi,
761
- blockName = preBlock.getName(),
762
- splitedHtml = replace( preBlock.getOuterHtml(),
763
- duoBrRegex,
764
- function( match, charBefore, bookmark )
765
- {
766
- return charBefore + '</pre>' + bookmark + '<pre>';
767
- } );
768
-
769
- var pres = [];
770
- splitedHtml.replace( /<pre>([\s\S]*?)<\/pre>/gi, function( match, preContent ){
771
- pres.push( preContent );
772
- } );
773
- return pres;
774
- }
775
-
776
- // Wrapper function of String::replace without considering of head/tail bookmarks nodes.
777
- function replace( str, regexp, replacement )
778
- {
779
- var headBookmark = '',
780
- tailBookmark = '';
781
-
782
- str = str.replace( /(^<span[^>]+_fck_bookmark.*?\/span>)|(<span[^>]+_fck_bookmark.*?\/span>$)/gi,
783
- function( str, m1, m2 ){
784
- m1 && ( headBookmark = m1 );
785
- m2 && ( tailBookmark = m2 );
786
- return '';
787
- } );
788
- return headBookmark + str.replace( regexp, replacement ) + tailBookmark;
789
- }
790
- /**
791
- * Converting a list of <pre> into blocks with format well preserved.
792
- */
793
- function fromPres( preHtmls, newBlock )
794
- {
795
- var docFrag = new CKEDITOR.dom.documentFragment( newBlock.getDocument() );
796
- for ( var i = 0 ; i < preHtmls.length ; i++ )
797
- {
798
- var blockHtml = preHtmls[ i ];
799
-
800
- // 1. Trim the first and last line-breaks immediately after and before <pre>,
801
- // they're not visible.
802
- blockHtml = blockHtml.replace( /(\r\n|\r)/g, '\n' ) ;
803
- blockHtml = replace( blockHtml, /^[ \t]*\n/, '' ) ;
804
- blockHtml = replace( blockHtml, /\n$/, '' ) ;
805
- // 2. Convert spaces or tabs at the beginning or at the end to &nbsp;
806
- blockHtml = replace( blockHtml, /^[ \t]+|[ \t]+$/g, function( match, offset, s )
807
- {
808
- if ( match.length == 1 ) // one space, preserve it
809
- return '&nbsp;' ;
810
- else if ( !offset ) // beginning of block
811
- return CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 ) + ' ';
812
- else // end of block
813
- return ' ' + CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 );
814
- } ) ;
815
-
816
- // 3. Convert \n to <BR>.
817
- // 4. Convert contiguous (i.e. non-singular) spaces or tabs to &nbsp;
818
- blockHtml = blockHtml.replace( /\n/g, '<br>' ) ;
819
- blockHtml = blockHtml.replace( /[ \t]{2,}/g,
820
- function ( match )
821
- {
822
- return CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 ) + ' ' ;
823
- } ) ;
824
-
825
- var newBlockClone = newBlock.clone();
826
- newBlockClone.setHtml( blockHtml );
827
- docFrag.append( newBlockClone );
828
- }
829
- return docFrag;
830
- }
831
-
832
- /**
833
- * Converting from a non-PRE block to a PRE block in formatting operations.
834
- */
835
- function toPre( block, newBlock )
836
- {
837
- // First trim the block content.
838
- var preHtml = block.getHtml();
839
-
840
- // 1. Trim head/tail spaces, they're not visible.
841
- preHtml = replace( preHtml, /(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g, '' );
842
- // 2. Delete ANSI whitespaces immediately before and after <BR> because
843
- // they are not visible.
844
- preHtml = preHtml.replace( /[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi, '$1' );
845
- // 3. Compress other ANSI whitespaces since they're only visible as one
846
- // single space previously.
847
- // 4. Convert &nbsp; to spaces since &nbsp; is no longer needed in <PRE>.
848
- preHtml = preHtml.replace( /([ \t\n\r]+|&nbsp;)/g, ' ' );
849
- // 5. Convert any <BR /> to \n. This must not be done earlier because
850
- // the \n would then get compressed.
851
- preHtml = preHtml.replace( /<br\b[^>]*>/gi, '\n' );
852
-
853
- // Krugle: IE normalizes innerHTML to <pre>, breaking whitespaces.
854
- if ( CKEDITOR.env.ie )
855
- {
856
- var temp = block.getDocument().createElement( 'div' );
857
- temp.append( newBlock );
858
- newBlock.$.outerHTML = '<pre>' + preHtml + '</pre>';
859
- newBlock = temp.getFirst().remove();
860
- }
861
- else
862
- newBlock.setHtml( preHtml );
863
-
864
- return newBlock;
865
- }
866
-
867
- // Removes a style from an element itself, don't care about its subtree.
868
- function removeFromElement( style, element )
869
- {
870
- var def = style._.definition,
871
- attributes = def.attributes,
872
- styles = def.styles,
873
- overrides = getOverrides( style );
874
-
875
- function removeAttrs()
876
- {
877
- for ( var attName in attributes )
878
- {
879
- // The 'class' element value must match (#1318).
880
- if ( attName == 'class' && element.getAttribute( attName ) != attributes[ attName ] )
881
- continue;
882
- element.removeAttribute( attName );
883
- }
884
- }
885
-
886
- // Remove definition attributes/style from the elemnt.
887
- removeAttrs();
888
- for ( var styleName in styles )
889
- element.removeStyle( styleName );
890
-
891
- // Now remove override styles on the element.
892
- attributes = overrides[ element.getName() ];
893
- if( attributes )
894
- removeAttrs();
895
- removeNoAttribsElement( element );
896
- }
897
-
898
- // Removes a style from inside an element.
899
- function removeFromInsideElement( style, element )
900
- {
901
- var def = style._.definition,
902
- attribs = def.attributes,
903
- styles = def.styles,
904
- overrides = getOverrides( style );
905
-
906
- var innerElements = element.getElementsByTag( style.element );
907
-
908
- for ( var i = innerElements.count(); --i >= 0 ; )
909
- removeFromElement( style, innerElements.getItem( i ) );
910
-
911
- // Now remove any other element with different name that is
912
- // defined to be overriden.
913
- for ( var overrideElement in overrides )
914
- {
915
- if ( overrideElement != style.element )
916
- {
917
- innerElements = element.getElementsByTag( overrideElement ) ;
918
- for ( i = innerElements.count() - 1 ; i >= 0 ; i-- )
919
- {
920
- var innerElement = innerElements.getItem( i );
921
- removeOverrides( innerElement, overrides[ overrideElement ] ) ;
922
- }
923
- }
924
- }
925
-
926
- }
927
-
928
- /**
929
- * Remove overriding styles/attributes from the specific element.
930
- * Note: Remove the element if no attributes remain.
931
- * @param {Object} element
932
- * @param {Object} overrides
933
- */
934
- function removeOverrides( element, overrides )
935
- {
936
- var attributes = overrides && overrides.attributes ;
937
-
938
- if ( attributes )
939
- {
940
- for ( var i = 0 ; i < attributes.length ; i++ )
941
- {
942
- var attName = attributes[i][0], actualAttrValue ;
943
-
944
- if ( ( actualAttrValue = element.getAttribute( attName ) ) )
945
- {
946
- var attValue = attributes[i][1] ;
947
-
948
- // Remove the attribute if:
949
- // - The override definition value is null ;
950
- // - The override definition valie is a string that
951
- // matches the attribute value exactly.
952
- // - The override definition value is a regex that
953
- // has matches in the attribute value.
954
- if ( attValue === null ||
955
- ( attValue.test && attValue.test( actualAttrValue ) ) ||
956
- ( typeof attValue == 'string' && actualAttrValue == attValue ) )
957
- element.removeAttribute( attName ) ;
958
- }
959
- }
960
- }
961
-
962
- removeNoAttribsElement( element );
963
- }
964
-
965
- // If the element has no more attributes, remove it.
966
- function removeNoAttribsElement( element )
967
- {
968
- // If no more attributes remained in the element, remove it,
969
- // leaving its children.
970
- if ( !element.hasAttributes() )
971
- {
972
- // Removing elements may open points where merging is possible,
973
- // so let's cache the first and last nodes for later checking.
974
- var firstChild = element.getFirst();
975
- var lastChild = element.getLast();
976
-
977
- element.remove( true );
978
-
979
- if ( firstChild )
980
- {
981
- // Check the cached nodes for merging.
982
- mergeSiblings( firstChild );
983
-
984
- if ( lastChild && !firstChild.equals( lastChild ) )
985
- mergeSiblings( lastChild );
986
- }
987
- }
988
- }
989
-
990
- function mergeSiblings( element )
991
- {
992
- if ( !element || element.type != CKEDITOR.NODE_ELEMENT || !CKEDITOR.dtd.$removeEmpty[ element.getName() ] )
993
- return;
994
-
995
- mergeElements( element, element.getNext(), true );
996
- mergeElements( element, element.getPrevious() );
997
- }
998
-
999
- function mergeElements( element, sibling, isNext )
1000
- {
1001
- if ( sibling && sibling.type == CKEDITOR.NODE_ELEMENT )
1002
- {
1003
- var hasBookmark = sibling.getAttribute( '_fck_bookmark' );
1004
-
1005
- if ( hasBookmark )
1006
- sibling = isNext ? sibling.getNext() : sibling.getPrevious();
1007
-
1008
- if ( sibling && sibling.type == CKEDITOR.NODE_ELEMENT && element.isIdentical( sibling ) )
1009
- {
1010
- // Save the last child to be checked too, to merge things like
1011
- // <b><i></i></b><b><i></i></b> => <b><i></i></b>
1012
- var innerSibling = isNext ? element.getLast() : element.getFirst();
1013
-
1014
- if ( hasBookmark )
1015
- ( isNext ? sibling.getPrevious() : sibling.getNext() ).move( element, !isNext );
1016
-
1017
- sibling.moveChildren( element, !isNext );
1018
- sibling.remove();
1019
-
1020
- // Now check the last inner child (see two comments above).
1021
- if ( innerSibling )
1022
- mergeSiblings( innerSibling );
1023
- }
1024
- }
1025
- }
1026
-
1027
- function getElement( style, targetDocument )
1028
- {
1029
- var el;
1030
-
1031
- var def = style._.definition;
1032
-
1033
- var elementName = style.element;
1034
-
1035
- // The "*" element name will always be a span for this function.
1036
- if ( elementName == '*' )
1037
- elementName = 'span';
1038
-
1039
- // Create the element.
1040
- el = new CKEDITOR.dom.element( elementName, targetDocument );
1041
-
1042
- return setupElement( el, style );
1043
- }
1044
-
1045
- function setupElement( el, style )
1046
- {
1047
- var def = style._.definition;
1048
- var attributes = def.attributes;
1049
- var styles = CKEDITOR.style.getStyleText( def );
1050
-
1051
- // Assign all defined attributes.
1052
- if ( attributes )
1053
- {
1054
- for ( var att in attributes )
1055
- {
1056
- el.setAttribute( att, attributes[ att ] );
1057
- }
1058
- }
1059
-
1060
- // Assign all defined styles.
1061
- if ( styles )
1062
- el.setAttribute( 'style', styles );
1063
-
1064
- return el;
1065
- }
1066
-
1067
- var varRegex = /#\((.+?)\)/g;
1068
- function replaceVariables( list, variablesValues )
1069
- {
1070
- for ( var item in list )
1071
- {
1072
- list[ item ] = list[ item ].replace( varRegex, function( match, varName )
1073
- {
1074
- return variablesValues[ varName ];
1075
- });
1076
- }
1077
- }
1078
-
1079
-
1080
- // Returns an object that can be used for style matching comparison.
1081
- // Attributes names and values are all lowercased, and the styles get
1082
- // merged with the style attribute.
1083
- function getAttributesForComparison( styleDefinition )
1084
- {
1085
- // If we have already computed it, just return it.
1086
- var attribs = styleDefinition._AC;
1087
- if ( attribs )
1088
- return attribs;
1089
-
1090
- attribs = {};
1091
-
1092
- var length = 0;
1093
-
1094
- // Loop through all defined attributes.
1095
- var styleAttribs = styleDefinition.attributes;
1096
- if ( styleAttribs )
1097
- {
1098
- for ( var styleAtt in styleAttribs )
1099
- {
1100
- length++;
1101
- attribs[ styleAtt ] = styleAttribs[ styleAtt ];
1102
- }
1103
- }
1104
-
1105
- // Includes the style definitions.
1106
- var styleText = CKEDITOR.style.getStyleText( styleDefinition );
1107
- if ( styleText )
1108
- {
1109
- if ( !attribs[ 'style' ] )
1110
- length++;
1111
- attribs[ 'style' ] = styleText;
1112
- }
1113
-
1114
- // Appends the "length" information to the object.
1115
- attribs._length = length;
1116
-
1117
- // Return it, saving it to the next request.
1118
- return ( styleDefinition._AC = attribs );
1119
- }
1120
-
1121
- /**
1122
- * Get the the collection used to compare the elements and attributes,
1123
- * defined in this style overrides, with other element. All information in
1124
- * it is lowercased.
1125
- * @param {CKEDITOR.style} style
1126
- */
1127
- function getOverrides( style )
1128
- {
1129
- if( style._.overrides )
1130
- return style._.overrides;
1131
-
1132
- var overrides = ( style._.overrides = {} ),
1133
- definition = style._.definition.overrides;
1134
-
1135
- if ( definition )
1136
- {
1137
- // The override description can be a string, object or array.
1138
- // Internally, well handle arrays only, so transform it if needed.
1139
- if ( !CKEDITOR.tools.isArray( definition ) )
1140
- definition = [ definition ];
1141
-
1142
- // Loop through all override definitions.
1143
- for ( var i = 0 ; i < definition.length ; i++ )
1144
- {
1145
- var override = definition[i];
1146
- var elementName;
1147
- var overrideEl;
1148
- var attrs;
1149
-
1150
- // If can be a string with the element name.
1151
- if ( typeof override == 'string' )
1152
- elementName = override.toLowerCase();
1153
- // Or an object.
1154
- else
1155
- {
1156
- elementName = override.element ? override.element.toLowerCase() : style.element;
1157
- attrs = override.attributes;
1158
- }
1159
-
1160
- // We can have more than one override definition for the same
1161
- // element name, so we attempt to simply append information to
1162
- // it if it already exists.
1163
- overrideEl = overrides[ elementName ] || ( overrides[ elementName ] = {} );
1164
-
1165
- if ( attrs )
1166
- {
1167
- // The returning attributes list is an array, because we
1168
- // could have different override definitions for the same
1169
- // attribute name.
1170
- var overrideAttrs = ( overrideEl.attributes = overrideEl.attributes || new Array() );
1171
- for ( var attName in attrs )
1172
- {
1173
- // Each item in the attributes array is also an array,
1174
- // where [0] is the attribute name and [1] is the
1175
- // override value.
1176
- overrideAttrs.push( [ attName.toLowerCase(), attrs[ attName ] ] );
1177
- }
1178
- }
1179
- }
1180
- }
1181
-
1182
- return overrides;
1183
- }
1184
-
1185
- function normalizeCssText( unparsedCssText, nativeNormalize )
1186
- {
1187
- var styleText;
1188
- if ( nativeNormalize !== false )
1189
- {
1190
- // Injects the style in a temporary span object, so the browser parses it,
1191
- // retrieving its final format.
1192
- var temp = new CKEDITOR.dom.element( 'span' );
1193
- temp.setAttribute( 'style', unparsedCssText );
1194
- styleText = temp.getAttribute( 'style' );
1195
- }
1196
- else
1197
- styleText = unparsedCssText;
1198
-
1199
- // Shrinking white-spaces around colon and semi-colon (#4147).
1200
- // Compensate tail semi-colon.
1201
- return styleText.replace( /\s*([;:])\s*/, '$1' )
1202
- .replace( /([^\s;])$/, '$1;')
1203
- .toLowerCase();
1204
- }
1205
-
1206
- function applyStyle( document, remove )
1207
- {
1208
- // Get all ranges from the selection.
1209
- var selection = document.getSelection();
1210
- var ranges = selection.getRanges();
1211
- var func = remove ? this.removeFromRange : this.applyToRange;
1212
-
1213
- // Apply the style to the ranges.
1214
- for ( var i = 0 ; i < ranges.length ; i++ )
1215
- func.call( this, ranges[ i ] );
1216
-
1217
- // Select the ranges again.
1218
- selection.selectRanges( ranges );
1219
- }
1220
- })();
1221
-
1222
- CKEDITOR.styleCommand = function( style )
1223
- {
1224
- this.style = style;
1225
- };
1226
-
1227
- CKEDITOR.styleCommand.prototype.exec = function( editor )
1228
- {
1229
- editor.focus();
1230
-
1231
- var doc = editor.document;
1232
-
1233
- if ( doc )
1234
- {
1235
- if ( this.state == CKEDITOR.TRISTATE_OFF )
1236
- this.style.apply( doc );
1237
- else if ( this.state == CKEDITOR.TRISTATE_ON )
1238
- this.style.remove( doc );
1239
- }
1240
-
1241
- return !!doc;
1242
- };