bcms_content_syncing 1.0.0

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 (669) hide show
  1. data/.gitignore +13 -0
  2. data/COPYRIGHT.txt +23 -0
  3. data/GPL.txt +674 -0
  4. data/LICENSE.txt +165 -0
  5. data/README +60 -0
  6. data/Rakefile +34 -0
  7. data/VERSION +1 -0
  8. data/app/controllers/application_controller.rb +10 -0
  9. data/app/helpers/application_helper.rb +3 -0
  10. data/bcms_content_syncing.gemspec +710 -0
  11. data/config/boot.rb +110 -0
  12. data/config/database.yml +22 -0
  13. data/config/environment.rb +42 -0
  14. data/config/environments/development.rb +18 -0
  15. data/config/environments/production.rb +31 -0
  16. data/config/environments/test.rb +29 -0
  17. data/config/initializers/backtrace_silencers.rb +7 -0
  18. data/config/initializers/inflections.rb +10 -0
  19. data/config/initializers/init_module.rb +1 -0
  20. data/config/initializers/mime_types.rb +5 -0
  21. data/config/initializers/new_rails_defaults.rb +21 -0
  22. data/config/initializers/session_store.rb +15 -0
  23. data/config/locales/en.yml +5 -0
  24. data/config/routes.rb +45 -0
  25. data/db/seeds.rb +7 -0
  26. data/doc/README_FOR_APP +2 -0
  27. data/lib/bcms_content_syncing/cap_tasks.rb +35 -0
  28. data/lib/bcms_content_syncing/database.rb +74 -0
  29. data/lib/bcms_content_syncing/rake_tasks.rb +10 -0
  30. data/lib/bcms_content_syncing/routes.rb +7 -0
  31. data/lib/bcms_content_syncing.rb +2 -0
  32. data/lib/tasks/backup.rake +17 -0
  33. data/public/404.html +30 -0
  34. data/public/422.html +30 -0
  35. data/public/500.html +30 -0
  36. data/public/bcms/ckeditor/ckeditor.js +108 -0
  37. data/public/bcms/ckeditor/config.js +18 -0
  38. data/public/bcms/ckeditor/core/_bootstrap.js +64 -0
  39. data/public/bcms/ckeditor/core/ajax.js +143 -0
  40. data/public/bcms/ckeditor/core/ckeditor.js +96 -0
  41. data/public/bcms/ckeditor/core/ckeditor_base.js +190 -0
  42. data/public/bcms/ckeditor/core/ckeditor_basic.js +241 -0
  43. data/public/bcms/ckeditor/core/command.js +70 -0
  44. data/public/bcms/ckeditor/core/commanddefinition.js +72 -0
  45. data/public/bcms/ckeditor/core/config.js +287 -0
  46. data/public/bcms/ckeditor/core/dom/document.js +210 -0
  47. data/public/bcms/ckeditor/core/dom/documentfragment.js +49 -0
  48. data/public/bcms/ckeditor/core/dom/domobject.js +204 -0
  49. data/public/bcms/ckeditor/core/dom/element.js +1384 -0
  50. data/public/bcms/ckeditor/core/dom/elementpath.js +104 -0
  51. data/public/bcms/ckeditor/core/dom/event.js +137 -0
  52. data/public/bcms/ckeditor/core/dom/node.js +649 -0
  53. data/public/bcms/ckeditor/core/dom/nodelist.js +23 -0
  54. data/public/bcms/ckeditor/core/dom/range.js +1668 -0
  55. data/public/bcms/ckeditor/core/dom/text.js +123 -0
  56. data/public/bcms/ckeditor/core/dom/walker.js +411 -0
  57. data/public/bcms/ckeditor/core/dom/window.js +96 -0
  58. data/public/bcms/ckeditor/core/dom.js +21 -0
  59. data/public/bcms/ckeditor/core/dtd.js +200 -0
  60. data/public/bcms/ckeditor/core/editor.js +650 -0
  61. data/public/bcms/ckeditor/core/editor_basic.js +178 -0
  62. data/public/bcms/ckeditor/core/env.js +219 -0
  63. data/public/bcms/ckeditor/core/event.js +335 -0
  64. data/public/bcms/ckeditor/core/eventInfo.js +120 -0
  65. data/public/bcms/ckeditor/core/focusmanager.js +123 -0
  66. data/public/bcms/ckeditor/core/htmlparser/basicwriter.js +140 -0
  67. data/public/bcms/ckeditor/core/htmlparser/cdata.js +44 -0
  68. data/public/bcms/ckeditor/core/htmlparser/comment.js +59 -0
  69. data/public/bcms/ckeditor/core/htmlparser/element.js +196 -0
  70. data/public/bcms/ckeditor/core/htmlparser/filter.js +233 -0
  71. data/public/bcms/ckeditor/core/htmlparser/fragment.js +434 -0
  72. data/public/bcms/ckeditor/core/htmlparser/text.js +55 -0
  73. data/public/bcms/ckeditor/core/htmlparser.js +212 -0
  74. data/public/bcms/ckeditor/core/imagecacher.js +58 -0
  75. data/public/bcms/ckeditor/core/lang.js +147 -0
  76. data/public/bcms/ckeditor/core/loader.js +238 -0
  77. data/public/bcms/ckeditor/core/plugindefinition.js +66 -0
  78. data/public/bcms/ckeditor/core/plugins.js +82 -0
  79. data/public/bcms/ckeditor/core/resourcemanager.js +233 -0
  80. data/public/bcms/ckeditor/core/scriptloader.js +194 -0
  81. data/public/bcms/ckeditor/core/skins.js +185 -0
  82. data/public/bcms/ckeditor/core/test.js +184 -0
  83. data/public/bcms/ckeditor/core/themes.js +18 -0
  84. data/public/bcms/ckeditor/core/tools.js +531 -0
  85. data/public/bcms/ckeditor/core/ui.js +106 -0
  86. data/public/bcms/ckeditor/core/xml.js +165 -0
  87. data/public/bcms/ckeditor/editor.js +51 -0
  88. data/public/bcms/ckeditor/lang/_languages.js +82 -0
  89. data/public/bcms/ckeditor/lang/_translationstatus.txt +59 -0
  90. data/public/bcms/ckeditor/lang/af.js +674 -0
  91. data/public/bcms/ckeditor/lang/ar.js +674 -0
  92. data/public/bcms/ckeditor/lang/bg.js +674 -0
  93. data/public/bcms/ckeditor/lang/bn.js +674 -0
  94. data/public/bcms/ckeditor/lang/bs.js +674 -0
  95. data/public/bcms/ckeditor/lang/ca.js +674 -0
  96. data/public/bcms/ckeditor/lang/cs.js +674 -0
  97. data/public/bcms/ckeditor/lang/da.js +674 -0
  98. data/public/bcms/ckeditor/lang/de.js +674 -0
  99. data/public/bcms/ckeditor/lang/el.js +674 -0
  100. data/public/bcms/ckeditor/lang/en-au.js +674 -0
  101. data/public/bcms/ckeditor/lang/en-ca.js +674 -0
  102. data/public/bcms/ckeditor/lang/en-uk.js +674 -0
  103. data/public/bcms/ckeditor/lang/en.js +674 -0
  104. data/public/bcms/ckeditor/lang/eo.js +674 -0
  105. data/public/bcms/ckeditor/lang/es.js +674 -0
  106. data/public/bcms/ckeditor/lang/et.js +674 -0
  107. data/public/bcms/ckeditor/lang/eu.js +674 -0
  108. data/public/bcms/ckeditor/lang/fa.js +674 -0
  109. data/public/bcms/ckeditor/lang/fi.js +674 -0
  110. data/public/bcms/ckeditor/lang/fo.js +674 -0
  111. data/public/bcms/ckeditor/lang/fr-ca.js +674 -0
  112. data/public/bcms/ckeditor/lang/fr.js +674 -0
  113. data/public/bcms/ckeditor/lang/gl.js +674 -0
  114. data/public/bcms/ckeditor/lang/gu.js +674 -0
  115. data/public/bcms/ckeditor/lang/he.js +674 -0
  116. data/public/bcms/ckeditor/lang/hi.js +674 -0
  117. data/public/bcms/ckeditor/lang/hr.js +674 -0
  118. data/public/bcms/ckeditor/lang/hu.js +674 -0
  119. data/public/bcms/ckeditor/lang/is.js +674 -0
  120. data/public/bcms/ckeditor/lang/it.js +674 -0
  121. data/public/bcms/ckeditor/lang/ja.js +674 -0
  122. data/public/bcms/ckeditor/lang/km.js +674 -0
  123. data/public/bcms/ckeditor/lang/ko.js +674 -0
  124. data/public/bcms/ckeditor/lang/lt.js +674 -0
  125. data/public/bcms/ckeditor/lang/lv.js +674 -0
  126. data/public/bcms/ckeditor/lang/mn.js +674 -0
  127. data/public/bcms/ckeditor/lang/ms.js +674 -0
  128. data/public/bcms/ckeditor/lang/nb.js +674 -0
  129. data/public/bcms/ckeditor/lang/nl.js +674 -0
  130. data/public/bcms/ckeditor/lang/no.js +674 -0
  131. data/public/bcms/ckeditor/lang/pl.js +674 -0
  132. data/public/bcms/ckeditor/lang/pt-br.js +674 -0
  133. data/public/bcms/ckeditor/lang/pt.js +674 -0
  134. data/public/bcms/ckeditor/lang/ro.js +674 -0
  135. data/public/bcms/ckeditor/lang/ru.js +674 -0
  136. data/public/bcms/ckeditor/lang/sk.js +674 -0
  137. data/public/bcms/ckeditor/lang/sl.js +674 -0
  138. data/public/bcms/ckeditor/lang/sr-latn.js +674 -0
  139. data/public/bcms/ckeditor/lang/sr.js +674 -0
  140. data/public/bcms/ckeditor/lang/sv.js +674 -0
  141. data/public/bcms/ckeditor/lang/th.js +674 -0
  142. data/public/bcms/ckeditor/lang/tr.js +674 -0
  143. data/public/bcms/ckeditor/lang/uk.js +674 -0
  144. data/public/bcms/ckeditor/lang/vi.js +674 -0
  145. data/public/bcms/ckeditor/lang/zh-cn.js +674 -0
  146. data/public/bcms/ckeditor/lang/zh.js +674 -0
  147. data/public/bcms/ckeditor/plugins/about/dialogs/about.js +73 -0
  148. data/public/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  149. data/public/bcms/ckeditor/plugins/about/plugin.js +22 -0
  150. data/public/bcms/ckeditor/plugins/basicstyles/plugin.js +50 -0
  151. data/public/bcms/ckeditor/plugins/blockquote/plugin.js +301 -0
  152. data/public/bcms/ckeditor/plugins/button/plugin.js +264 -0
  153. data/public/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +167 -0
  154. data/public/bcms/ckeditor/plugins/clipboard/plugin.js +208 -0
  155. data/public/bcms/ckeditor/plugins/colorbutton/plugin.js +202 -0
  156. data/public/bcms/ckeditor/plugins/contextmenu/plugin.js +178 -0
  157. data/public/bcms/ckeditor/plugins/dialog/dialogDefinition.js +315 -0
  158. data/public/bcms/ckeditor/plugins/dialog/plugin.js +2742 -0
  159. data/public/bcms/ckeditor/plugins/dialogui/plugin.js +1319 -0
  160. data/public/bcms/ckeditor/plugins/domiterator/plugin.js +354 -0
  161. data/public/bcms/ckeditor/plugins/editingblock/plugin.js +236 -0
  162. data/public/bcms/ckeditor/plugins/elementspath/plugin.js +182 -0
  163. data/public/bcms/ckeditor/plugins/enterkey/plugin.js +324 -0
  164. data/public/bcms/ckeditor/plugins/entities/plugin.js +200 -0
  165. data/public/bcms/ckeditor/plugins/fakeobjects/plugin.js +111 -0
  166. data/public/bcms/ckeditor/plugins/filebrowser/plugin.js +383 -0
  167. data/public/bcms/ckeditor/plugins/find/dialogs/find.js +843 -0
  168. data/public/bcms/ckeditor/plugins/find/plugin.js +46 -0
  169. data/public/bcms/ckeditor/plugins/flash/dialogs/flash.js +682 -0
  170. data/public/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
  171. data/public/bcms/ckeditor/plugins/flash/plugin.js +165 -0
  172. data/public/bcms/ckeditor/plugins/floatpanel/plugin.js +325 -0
  173. data/public/bcms/ckeditor/plugins/font/plugin.js +227 -0
  174. data/public/bcms/ckeditor/plugins/format/plugin.js +191 -0
  175. data/public/bcms/ckeditor/plugins/forms/dialogs/button.js +135 -0
  176. data/public/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +138 -0
  177. data/public/bcms/ckeditor/plugins/forms/dialogs/form.js +177 -0
  178. data/public/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +91 -0
  179. data/public/bcms/ckeditor/plugins/forms/dialogs/radio.js +135 -0
  180. data/public/bcms/ckeditor/plugins/forms/dialogs/select.js +541 -0
  181. data/public/bcms/ckeditor/plugins/forms/dialogs/textarea.js +114 -0
  182. data/public/bcms/ckeditor/plugins/forms/dialogs/textfield.js +193 -0
  183. data/public/bcms/ckeditor/plugins/forms/plugin.js +193 -0
  184. data/public/bcms/ckeditor/plugins/horizontalrule/plugin.js +35 -0
  185. data/public/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +373 -0
  186. data/public/bcms/ckeditor/plugins/htmlwriter/plugin.js +289 -0
  187. data/public/bcms/ckeditor/plugins/iframedialog/plugin.js +136 -0
  188. data/public/bcms/ckeditor/plugins/image/dialogs/image.js +1225 -0
  189. data/public/bcms/ckeditor/plugins/image/plugin.js +64 -0
  190. data/public/bcms/ckeditor/plugins/indent/plugin.js +323 -0
  191. data/public/bcms/ckeditor/plugins/justify/plugin.js +164 -0
  192. data/public/bcms/ckeditor/plugins/keystrokes/plugin.js +217 -0
  193. data/public/bcms/ckeditor/plugins/link/dialogs/anchor.js +98 -0
  194. data/public/bcms/ckeditor/plugins/link/dialogs/link.js +1217 -0
  195. data/public/bcms/ckeditor/plugins/link/images/anchor.gif +0 -0
  196. data/public/bcms/ckeditor/plugins/link/plugin.js +188 -0
  197. data/public/bcms/ckeditor/plugins/list/plugin.js +570 -0
  198. data/public/bcms/ckeditor/plugins/listblock/plugin.js +231 -0
  199. data/public/bcms/ckeditor/plugins/maximize/plugin.js +267 -0
  200. data/public/bcms/ckeditor/plugins/menu/plugin.js +377 -0
  201. data/public/bcms/ckeditor/plugins/menubutton/plugin.js +93 -0
  202. data/public/bcms/ckeditor/plugins/newpage/plugin.js +65 -0
  203. data/public/bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  204. data/public/bcms/ckeditor/plugins/pagebreak/plugin.js +96 -0
  205. data/public/bcms/ckeditor/plugins/panel/plugin.js +330 -0
  206. data/public/bcms/ckeditor/plugins/panelbutton/plugin.js +140 -0
  207. data/public/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +307 -0
  208. data/public/bcms/ckeditor/plugins/pastefromword/plugin.js +54 -0
  209. data/public/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +65 -0
  210. data/public/bcms/ckeditor/plugins/pastetext/plugin.js +142 -0
  211. data/public/bcms/ckeditor/plugins/popup/plugin.js +62 -0
  212. data/public/bcms/ckeditor/plugins/preview/plugin.js +97 -0
  213. data/public/bcms/ckeditor/plugins/print/plugin.js +41 -0
  214. data/public/bcms/ckeditor/plugins/removeformat/plugin.js +132 -0
  215. data/public/bcms/ckeditor/plugins/resize/plugin.js +115 -0
  216. data/public/bcms/ckeditor/plugins/richcombo/plugin.js +357 -0
  217. data/public/bcms/ckeditor/plugins/save/plugin.js +55 -0
  218. data/public/bcms/ckeditor/plugins/scayt/dialogs/options.js +494 -0
  219. data/public/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  220. data/public/bcms/ckeditor/plugins/scayt/plugin.js +511 -0
  221. data/public/bcms/ckeditor/plugins/selection/plugin.js +1072 -0
  222. data/public/bcms/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  223. data/public/bcms/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  224. data/public/bcms/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  225. data/public/bcms/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  226. data/public/bcms/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  227. data/public/bcms/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  228. data/public/bcms/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  229. data/public/bcms/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  230. data/public/bcms/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  231. data/public/bcms/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  232. data/public/bcms/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  233. data/public/bcms/ckeditor/plugins/showblocks/plugin.js +153 -0
  234. data/public/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +219 -0
  235. data/public/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  236. data/public/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  237. data/public/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  238. data/public/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  239. data/public/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  240. data/public/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  241. data/public/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  242. data/public/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  243. data/public/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
  244. data/public/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  245. data/public/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  246. data/public/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  247. data/public/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  248. data/public/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  249. data/public/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  250. data/public/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  251. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  252. data/public/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  253. data/public/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  254. data/public/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  255. data/public/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  256. data/public/bcms/ckeditor/plugins/smiley/plugin.js +74 -0
  257. data/public/bcms/ckeditor/plugins/sourcearea/plugin.js +185 -0
  258. data/public/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +362 -0
  259. data/public/bcms/ckeditor/plugins/specialchar/plugin.js +29 -0
  260. data/public/bcms/ckeditor/plugins/styles/plugin.js +1242 -0
  261. data/public/bcms/ckeditor/plugins/stylescombo/plugin.js +295 -0
  262. data/public/bcms/ckeditor/plugins/stylescombo/styles/default.js +85 -0
  263. data/public/bcms/ckeditor/plugins/tab/plugin.js +266 -0
  264. data/public/bcms/ckeditor/plugins/table/dialogs/table.js +550 -0
  265. data/public/bcms/ckeditor/plugins/table/plugin.js +70 -0
  266. data/public/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +328 -0
  267. data/public/bcms/ckeditor/plugins/tabletools/plugin.js +701 -0
  268. data/public/bcms/ckeditor/plugins/templates/dialogs/templates.js +170 -0
  269. data/public/bcms/ckeditor/plugins/templates/plugin.js +99 -0
  270. data/public/bcms/ckeditor/plugins/templates/templates/default.js +94 -0
  271. data/public/bcms/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  272. data/public/bcms/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  273. data/public/bcms/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  274. data/public/bcms/ckeditor/plugins/toolbar/plugin.js +412 -0
  275. data/public/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +203 -0
  276. data/public/bcms/ckeditor/plugins/uicolor/lang/en.js +15 -0
  277. data/public/bcms/ckeditor/plugins/uicolor/plugin.js +35 -0
  278. data/public/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  279. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  280. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  281. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  282. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  283. data/public/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +15 -0
  284. data/public/bcms/ckeditor/plugins/uicolor/yui/yui.js +71 -0
  285. data/public/bcms/ckeditor/plugins/undo/plugin.js +490 -0
  286. data/public/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  287. data/public/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  288. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +83 -0
  289. data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +169 -0
  290. data/public/bcms/ckeditor/plugins/wsc/plugin.js +32 -0
  291. data/public/bcms/ckeditor/plugins/wysiwygarea/plugin.js +636 -0
  292. data/public/bcms/ckeditor/skins/kama/dialog.css +742 -0
  293. data/public/bcms/ckeditor/skins/kama/editor.css +21 -0
  294. data/public/bcms/ckeditor/skins/kama/elementspath.css +68 -0
  295. data/public/bcms/ckeditor/skins/kama/icons.css +309 -0
  296. data/public/bcms/ckeditor/skins/kama/icons.png +0 -0
  297. data/public/bcms/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  298. data/public/bcms/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  299. data/public/bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  300. data/public/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
  301. data/public/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
  302. data/public/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
  303. data/public/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  304. data/public/bcms/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  305. data/public/bcms/ckeditor/skins/kama/mainui.css +139 -0
  306. data/public/bcms/ckeditor/skins/kama/menu.css +179 -0
  307. data/public/bcms/ckeditor/skins/kama/panel.css +203 -0
  308. data/public/bcms/ckeditor/skins/kama/presets.css +49 -0
  309. data/public/bcms/ckeditor/skins/kama/reset.css +78 -0
  310. data/public/bcms/ckeditor/skins/kama/richcombo.css +260 -0
  311. data/public/bcms/ckeditor/skins/kama/skin.js +291 -0
  312. data/public/bcms/ckeditor/skins/kama/templates.css +71 -0
  313. data/public/bcms/ckeditor/skins/kama/toolbar.css +384 -0
  314. data/public/bcms/ckeditor/skins/office2003/dialog.css +643 -0
  315. data/public/bcms/ckeditor/skins/office2003/editor.css +21 -0
  316. data/public/bcms/ckeditor/skins/office2003/elementspath.css +68 -0
  317. data/public/bcms/ckeditor/skins/office2003/icons.css +309 -0
  318. data/public/bcms/ckeditor/skins/office2003/icons.png +0 -0
  319. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  320. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  321. data/public/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  322. data/public/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
  323. data/public/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
  324. data/public/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
  325. data/public/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  326. data/public/bcms/ckeditor/skins/office2003/mainui.css +97 -0
  327. data/public/bcms/ckeditor/skins/office2003/menu.css +175 -0
  328. data/public/bcms/ckeditor/skins/office2003/panel.css +198 -0
  329. data/public/bcms/ckeditor/skins/office2003/presets.css +49 -0
  330. data/public/bcms/ckeditor/skins/office2003/reset.css +78 -0
  331. data/public/bcms/ckeditor/skins/office2003/richcombo.css +279 -0
  332. data/public/bcms/ckeditor/skins/office2003/skin.js +77 -0
  333. data/public/bcms/ckeditor/skins/office2003/templates.css +71 -0
  334. data/public/bcms/ckeditor/skins/office2003/toolbar.css +442 -0
  335. data/public/bcms/ckeditor/skins/v2/dialog.css +653 -0
  336. data/public/bcms/ckeditor/skins/v2/editor.css +21 -0
  337. data/public/bcms/ckeditor/skins/v2/elementspath.css +68 -0
  338. data/public/bcms/ckeditor/skins/v2/icons.css +309 -0
  339. data/public/bcms/ckeditor/skins/v2/icons.png +0 -0
  340. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  341. data/public/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  342. data/public/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  343. data/public/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
  344. data/public/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
  345. data/public/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
  346. data/public/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  347. data/public/bcms/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  348. data/public/bcms/ckeditor/skins/v2/mainui.css +112 -0
  349. data/public/bcms/ckeditor/skins/v2/menu.css +178 -0
  350. data/public/bcms/ckeditor/skins/v2/panel.css +198 -0
  351. data/public/bcms/ckeditor/skins/v2/presets.css +50 -0
  352. data/public/bcms/ckeditor/skins/v2/reset.css +78 -0
  353. data/public/bcms/ckeditor/skins/v2/richcombo.css +275 -0
  354. data/public/bcms/ckeditor/skins/v2/skin.js +73 -0
  355. data/public/bcms/ckeditor/skins/v2/templates.css +71 -0
  356. data/public/bcms/ckeditor/skins/v2/toolbar.css +399 -0
  357. data/public/bcms/ckeditor/tests/_assets/sample.css +4 -0
  358. data/public/bcms/ckeditor/tests/_assets/sample.js +1 -0
  359. data/public/bcms/ckeditor/tests/_assets/sample.txt +1 -0
  360. data/public/bcms/ckeditor/tests/_assets/sample.xml +5 -0
  361. data/public/bcms/ckeditor/tests/_assets/sample_xml.txt +5 -0
  362. data/public/bcms/ckeditor/tests/core/_editor/custom_config_1.js +10 -0
  363. data/public/bcms/ckeditor/tests/core/_editor/custom_config_2.js +9 -0
  364. data/public/bcms/ckeditor/tests/core/ajax.html +163 -0
  365. data/public/bcms/ckeditor/tests/core/bootstrap.html +66 -0
  366. data/public/bcms/ckeditor/tests/core/ckeditor.html +160 -0
  367. data/public/bcms/ckeditor/tests/core/dom/document.html +126 -0
  368. data/public/bcms/ckeditor/tests/core/dom/documentfragment.html +292 -0
  369. data/public/bcms/ckeditor/tests/core/dom/element.html +637 -0
  370. data/public/bcms/ckeditor/tests/core/dom/node.html +164 -0
  371. data/public/bcms/ckeditor/tests/core/dom/range.html +2411 -0
  372. data/public/bcms/ckeditor/tests/core/dom/text.html +128 -0
  373. data/public/bcms/ckeditor/tests/core/dom/walker.html +340 -0
  374. data/public/bcms/ckeditor/tests/core/dom/window.html +53 -0
  375. data/public/bcms/ckeditor/tests/core/editor.html +123 -0
  376. data/public/bcms/ckeditor/tests/core/env.html +52 -0
  377. data/public/bcms/ckeditor/tests/core/event.html +487 -0
  378. data/public/bcms/ckeditor/tests/core/htmlparser/fragment.html +188 -0
  379. data/public/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +91 -0
  380. data/public/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +3 -0
  381. data/public/bcms/ckeditor/tests/core/plugins.html +45 -0
  382. data/public/bcms/ckeditor/tests/core/scriptloader.html +52 -0
  383. data/public/bcms/ckeditor/tests/core/tools.html +170 -0
  384. data/public/bcms/ckeditor/tests/core/xml.html +150 -0
  385. data/public/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +236 -0
  386. data/public/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +386 -0
  387. data/public/bcms/ckeditor/tests/plugins/link/link.html +123 -0
  388. data/public/bcms/ckeditor/tests/plugins/list/list.html +217 -0
  389. data/public/bcms/ckeditor/tests/plugins/selection/selection.html +49 -0
  390. data/public/bcms/ckeditor/tests/plugins/styles/styles.html +596 -0
  391. data/public/bcms/ckeditor/tests/test.css +81 -0
  392. data/public/bcms/ckeditor/tests/test.js +93 -0
  393. data/public/bcms/ckeditor/tests/testall.html +114 -0
  394. data/public/bcms/ckeditor/tests/yuitest.js +75 -0
  395. data/public/bcms/ckeditor/themes/default/theme.js +232 -0
  396. data/public/bcms/content_syncing/README +1 -0
  397. data/public/favicon.ico +0 -0
  398. data/public/images/cms/administration/user_browser_bg.gif +0 -0
  399. data/public/images/cms/bg.png +0 -0
  400. data/public/images/cms/bl_curve.png +0 -0
  401. data/public/images/cms/bottom_cap.png +0 -0
  402. data/public/images/cms/bottom_cap_content.png +0 -0
  403. data/public/images/cms/browse.gif +0 -0
  404. data/public/images/cms/browser_media_logo.png +0 -0
  405. data/public/images/cms/browsercms_logo.png +0 -0
  406. data/public/images/cms/buttons/button.png +0 -0
  407. data/public/images/cms/buttons/button_bg.png +0 -0
  408. data/public/images/cms/buttons/button_cap.png +0 -0
  409. data/public/images/cms/buttons/button_cap_h.png +0 -0
  410. data/public/images/cms/buttons/button_cap_off.gif +0 -0
  411. data/public/images/cms/buttons/button_cap_off_middle.gif +0 -0
  412. data/public/images/cms/buttons/button_h.png +0 -0
  413. data/public/images/cms/buttons/button_left_bg.png +0 -0
  414. data/public/images/cms/buttons/button_off.png +0 -0
  415. data/public/images/cms/buttons/button_off_middle.png +0 -0
  416. data/public/images/cms/buttons/delete_x.png +0 -0
  417. data/public/images/cms/buttons/delete_x_disabled.png +0 -0
  418. data/public/images/cms/buttons/delete_x_h.png +0 -0
  419. data/public/images/cms/buttons/sm_button.gif +0 -0
  420. data/public/images/cms/buttons/sm_button_2.gif +0 -0
  421. data/public/images/cms/buttons/sm_button_2_h.gif +0 -0
  422. data/public/images/cms/buttons/sm_button_h.gif +0 -0
  423. data/public/images/cms/containers/add.gif +0 -0
  424. data/public/images/cms/containers/alpha.png +0 -0
  425. data/public/images/cms/containers/beta.png +0 -0
  426. data/public/images/cms/containers/delete.gif +0 -0
  427. data/public/images/cms/containers/down.gif +0 -0
  428. data/public/images/cms/containers/edit.gif +0 -0
  429. data/public/images/cms/containers/up.gif +0 -0
  430. data/public/images/cms/containers/view.gif +0 -0
  431. data/public/images/cms/content_bg.gif +0 -0
  432. data/public/images/cms/dashboard/bottom_cap.png +0 -0
  433. data/public/images/cms/dashboard/bottom_cap_content.png +0 -0
  434. data/public/images/cms/dashboard/header_bg.gif +0 -0
  435. data/public/images/cms/dashboard/header_left_bg.gif +0 -0
  436. data/public/images/cms/dashboard/table_header_bg.gif +0 -0
  437. data/public/images/cms/dashboard/top_cap.png +0 -0
  438. data/public/images/cms/dashed.gif +0 -0
  439. data/public/images/cms/datepicker/clear.gif +0 -0
  440. data/public/images/cms/datepicker/close.gif +0 -0
  441. data/public/images/cms/dk_button_l.gif +0 -0
  442. data/public/images/cms/dk_button_r.gif +0 -0
  443. data/public/images/cms/dot.png +0 -0
  444. data/public/images/cms/draft_status.gif +0 -0
  445. data/public/images/cms/gray_long_bg.gif +0 -0
  446. data/public/images/cms/icons/actions/add.png +0 -0
  447. data/public/images/cms/icons/actions/config.png +0 -0
  448. data/public/images/cms/icons/actions/connect.png +0 -0
  449. data/public/images/cms/icons/actions/delete.png +0 -0
  450. data/public/images/cms/icons/actions/down.png +0 -0
  451. data/public/images/cms/icons/actions/edit.png +0 -0
  452. data/public/images/cms/icons/actions/folder.png +0 -0
  453. data/public/images/cms/icons/actions/folder_add.png +0 -0
  454. data/public/images/cms/icons/actions/folder_delete.png +0 -0
  455. data/public/images/cms/icons/actions/folder_edit.png +0 -0
  456. data/public/images/cms/icons/actions/folder_move.png +0 -0
  457. data/public/images/cms/icons/actions/folder_open.png +0 -0
  458. data/public/images/cms/icons/actions/history.png +0 -0
  459. data/public/images/cms/icons/actions/home.png +0 -0
  460. data/public/images/cms/icons/actions/left.png +0 -0
  461. data/public/images/cms/icons/actions/link.png +0 -0
  462. data/public/images/cms/icons/actions/page.png +0 -0
  463. data/public/images/cms/icons/actions/page_add.png +0 -0
  464. data/public/images/cms/icons/actions/page_edit.png +0 -0
  465. data/public/images/cms/icons/actions/page_move.png +0 -0
  466. data/public/images/cms/icons/actions/redo.png +0 -0
  467. data/public/images/cms/icons/actions/refresh.png +0 -0
  468. data/public/images/cms/icons/actions/right.png +0 -0
  469. data/public/images/cms/icons/actions/root_folder.png +0 -0
  470. data/public/images/cms/icons/actions/root_link.png +0 -0
  471. data/public/images/cms/icons/actions/root_page.png +0 -0
  472. data/public/images/cms/icons/actions/undo.png +0 -0
  473. data/public/images/cms/icons/actions/up.png +0 -0
  474. data/public/images/cms/icons/actions/view.png +0 -0
  475. data/public/images/cms/icons/file_types/doc.png +0 -0
  476. data/public/images/cms/icons/file_types/file.png +0 -0
  477. data/public/images/cms/icons/file_types/gif.png +0 -0
  478. data/public/images/cms/icons/file_types/htm.png +0 -0
  479. data/public/images/cms/icons/file_types/pdf.png +0 -0
  480. data/public/images/cms/icons/file_types/ppt.png +0 -0
  481. data/public/images/cms/icons/file_types/swf.png +0 -0
  482. data/public/images/cms/icons/file_types/txt.png +0 -0
  483. data/public/images/cms/icons/file_types/xls.png +0 -0
  484. data/public/images/cms/icons/file_types/xml.png +0 -0
  485. data/public/images/cms/icons/file_types/zip.png +0 -0
  486. data/public/images/cms/icons/status/archived.gif +0 -0
  487. data/public/images/cms/icons/status/draft.gif +0 -0
  488. data/public/images/cms/icons/status/hidden.gif +0 -0
  489. data/public/images/cms/icons/status/locked.gif +0 -0
  490. data/public/images/cms/icons/status/published.gif +0 -0
  491. data/public/images/cms/icons/status/unlocked.gif +0 -0
  492. data/public/images/cms/icons/user.png +0 -0
  493. data/public/images/cms/login_bg.jpg +0 -0
  494. data/public/images/cms/login_bottom.jpg +0 -0
  495. data/public/images/cms/login_top.gif +0 -0
  496. data/public/images/cms/lt_button_bg.gif +0 -0
  497. data/public/images/cms/lt_button_l.gif +0 -0
  498. data/public/images/cms/lt_button_r.gif +0 -0
  499. data/public/images/cms/menu/block_cap_h.gif +0 -0
  500. data/public/images/cms/menu/bottom_cap.png +0 -0
  501. data/public/images/cms/menu/bottom_cap_menu.png +0 -0
  502. data/public/images/cms/menu/bottom_cap_menu_first.png +0 -0
  503. data/public/images/cms/menu/menu_header_first_bg.gif +0 -0
  504. data/public/images/cms/menu/selected_block_cap.gif +0 -0
  505. data/public/images/cms/menu/top_cap.png +0 -0
  506. data/public/images/cms/menu/top_cap_menu_header.png +0 -0
  507. data/public/images/cms/menu.png +0 -0
  508. data/public/images/cms/menu_h.gif +0 -0
  509. data/public/images/cms/menu_header.png +0 -0
  510. data/public/images/cms/menu_open.png +0 -0
  511. data/public/images/cms/menu_open_bg.gif +0 -0
  512. data/public/images/cms/nav/on_bg.gif +0 -0
  513. data/public/images/cms/nav.png +0 -0
  514. data/public/images/cms/nav_admin.gif +0 -0
  515. data/public/images/cms/nav_admin_h.gif +0 -0
  516. data/public/images/cms/nav_admin_on.gif +0 -0
  517. data/public/images/cms/nav_cap.png +0 -0
  518. data/public/images/cms/nav_cap_h.gif +0 -0
  519. data/public/images/cms/nav_content_library.gif +0 -0
  520. data/public/images/cms/nav_content_library_h.gif +0 -0
  521. data/public/images/cms/nav_content_library_on.gif +0 -0
  522. data/public/images/cms/nav_dash.gif +0 -0
  523. data/public/images/cms/nav_dash_h.gif +0 -0
  524. data/public/images/cms/nav_dash_on.gif +0 -0
  525. data/public/images/cms/nav_h.gif +0 -0
  526. data/public/images/cms/nav_sitemap.gif +0 -0
  527. data/public/images/cms/nav_sitemap_h.gif +0 -0
  528. data/public/images/cms/nav_sitemap_on.gif +0 -0
  529. data/public/images/cms/page_toolbar/page_toolbar_bg.gif +0 -0
  530. data/public/images/cms/page_toolbar/page_toolbar_inset_bg.gif +0 -0
  531. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_bg.gif +0 -0
  532. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_l.gif +0 -0
  533. data/public/images/cms/page_toolbar/page_toolbar_inset_draft_r.gif +0 -0
  534. data/public/images/cms/page_toolbar/page_toolbar_inset_l.gif +0 -0
  535. data/public/images/cms/page_toolbar/page_toolbar_inset_published_bg.gif +0 -0
  536. data/public/images/cms/page_toolbar/page_toolbar_inset_published_l.gif +0 -0
  537. data/public/images/cms/page_toolbar/page_toolbar_inset_published_r.gif +0 -0
  538. data/public/images/cms/page_toolbar/page_toolbar_inset_r.gif +0 -0
  539. data/public/images/cms/page_toolbar/page_toolbar_l.gif +0 -0
  540. data/public/images/cms/page_toolbar/page_toolbar_r.gif +0 -0
  541. data/public/images/cms/page_toolbar/status_draft_bg.gif +0 -0
  542. data/public/images/cms/page_toolbar/status_draft_l.gif +0 -0
  543. data/public/images/cms/page_toolbar/status_l.gif +0 -0
  544. data/public/images/cms/page_toolbar/status_published_bg.gif +0 -0
  545. data/public/images/cms/page_toolbar/status_published_l.gif +0 -0
  546. data/public/images/cms/page_toolbar/visual_editor_bg.gif +0 -0
  547. data/public/images/cms/page_toolbar/visual_editor_end.gif +0 -0
  548. data/public/images/cms/page_toolbar/visual_editor_r.gif +0 -0
  549. data/public/images/cms/page_toolbar/visual_editor_state_bg.gif +0 -0
  550. data/public/images/cms/pages/add_connectable.gif +0 -0
  551. data/public/images/cms/pages/connect_connectable.gif +0 -0
  552. data/public/images/cms/pages/container_border.gif +0 -0
  553. data/public/images/cms/pages/container_border_l.gif +0 -0
  554. data/public/images/cms/pages/container_border_r.gif +0 -0
  555. data/public/images/cms/pages/delete_connectable.gif +0 -0
  556. data/public/images/cms/pages/down_connectable.gif +0 -0
  557. data/public/images/cms/pages/down_connectable_disabled.gif +0 -0
  558. data/public/images/cms/pages/edit_connectable.gif +0 -0
  559. data/public/images/cms/pages/edit_connectable_2.gif +0 -0
  560. data/public/images/cms/pages/show_connectable.gif +0 -0
  561. data/public/images/cms/pages/up_connectable.gif +0 -0
  562. data/public/images/cms/pages/up_connectable_disabled.gif +0 -0
  563. data/public/images/cms/pagination/first.gif +0 -0
  564. data/public/images/cms/pagination/first_h.gif +0 -0
  565. data/public/images/cms/pagination/input.gif +0 -0
  566. data/public/images/cms/pagination/last.gif +0 -0
  567. data/public/images/cms/pagination/last_h.gif +0 -0
  568. data/public/images/cms/pagination/next.gif +0 -0
  569. data/public/images/cms/pagination/next_h.gif +0 -0
  570. data/public/images/cms/pagination/previous.gif +0 -0
  571. data/public/images/cms/pagination/previous_h.gif +0 -0
  572. data/public/images/cms/published_status.gif +0 -0
  573. data/public/images/cms/search.png +0 -0
  574. data/public/images/cms/search_submit.gif +0 -0
  575. data/public/images/cms/search_submit_h.gif +0 -0
  576. data/public/images/cms/searchbox_gradient.gif +0 -0
  577. data/public/images/cms/select_bg.gif +0 -0
  578. data/public/images/cms/select_bg_2.gif +0 -0
  579. data/public/images/cms/sitemap/bottom_cap.png +0 -0
  580. data/public/images/cms/sitemap/buffer_caps.png +0 -0
  581. data/public/images/cms/sitemap/contract.png +0 -0
  582. data/public/images/cms/sitemap/corners.gif +0 -0
  583. data/public/images/cms/sitemap/corners_hover.gif +0 -0
  584. data/public/images/cms/sitemap/divider.gif +0 -0
  585. data/public/images/cms/sitemap/expand.png +0 -0
  586. data/public/images/cms/sitemap/gradient.gif +0 -0
  587. data/public/images/cms/sitemap/gray_contract.png +0 -0
  588. data/public/images/cms/sitemap/gray_expand.png +0 -0
  589. data/public/images/cms/sitemap/no_contents.png +0 -0
  590. data/public/images/cms/sitemap/site_root_cap.png +0 -0
  591. data/public/images/cms/sitemap/tooltip.gif +0 -0
  592. data/public/images/cms/sitemap/top_cap_content.png +0 -0
  593. data/public/images/cms/solid.gif +0 -0
  594. data/public/images/cms/table/bl.gif +0 -0
  595. data/public/images/cms/table/br.gif +0 -0
  596. data/public/images/cms/table/divider.gif +0 -0
  597. data/public/images/cms/table/td_cap_first_h.gif +0 -0
  598. data/public/images/cms/table/td_cap_first_s.gif +0 -0
  599. data/public/images/cms/table/td_cap_last_h.gif +0 -0
  600. data/public/images/cms/table/td_cap_last_s.gif +0 -0
  601. data/public/images/cms/table/td_last_bg.gif +0 -0
  602. data/public/images/cms/table/th_bg.gif +0 -0
  603. data/public/images/cms/table/th_divider.gif +0 -0
  604. data/public/images/cms/table/th_last_bg.gif +0 -0
  605. data/public/images/cms/table/tl.gif +0 -0
  606. data/public/images/cms/table/tr.gif +0 -0
  607. data/public/images/cms/table/tr_bg.gif +0 -0
  608. data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
  609. data/public/images/cms/thickbox/macFFBgHack.png +0 -0
  610. data/public/images/cms/toolbar_bg.png +0 -0
  611. data/public/images/cms/top_cap.png +0 -0
  612. data/public/images/cms/top_cap_content.png +0 -0
  613. data/public/images/cms/top_cap_menu_header.png +0 -0
  614. data/public/images/cms/user_search_submit.gif +0 -0
  615. data/public/images/cms/usercontrols_bg.png +0 -0
  616. data/public/images/cms/usercontrols_bg_cap.png +0 -0
  617. data/public/images/rails.png +0 -0
  618. data/public/javascripts/application.js +2 -0
  619. data/public/javascripts/cms/application.js +148 -0
  620. data/public/javascripts/cms/content_library.js +36 -0
  621. data/public/javascripts/cms/sitemap.js +438 -0
  622. data/public/javascripts/controls.js +963 -0
  623. data/public/javascripts/dragdrop.js +973 -0
  624. data/public/javascripts/effects.js +1128 -0
  625. data/public/javascripts/jquery-ui.js +591 -0
  626. data/public/javascripts/jquery.contextMenu.js +211 -0
  627. data/public/javascripts/jquery.cookie.js +96 -0
  628. data/public/javascripts/jquery.dimensions.js +119 -0
  629. data/public/javascripts/jquery.js +11 -0
  630. data/public/javascripts/jquery.selectbox-0.5.js +209 -0
  631. data/public/javascripts/jquery.taglist.js +136 -0
  632. data/public/javascripts/jquery.thickbox.js +10 -0
  633. data/public/javascripts/prototype.js +4320 -0
  634. data/public/robots.txt +5 -0
  635. data/public/site/customconfig.js +1 -0
  636. data/public/stylesheets/cms/administration.css +91 -0
  637. data/public/stylesheets/cms/application.css +166 -0
  638. data/public/stylesheets/cms/block.css +26 -0
  639. data/public/stylesheets/cms/buttons.css +120 -0
  640. data/public/stylesheets/cms/content_library.css +139 -0
  641. data/public/stylesheets/cms/content_types.css +4 -0
  642. data/public/stylesheets/cms/dashboard.css +118 -0
  643. data/public/stylesheets/cms/data_table.css +156 -0
  644. data/public/stylesheets/cms/date_picker.css +73 -0
  645. data/public/stylesheets/cms/form_layout.css +279 -0
  646. data/public/stylesheets/cms/jquery.contextMenu.css +61 -0
  647. data/public/stylesheets/cms/login.css +78 -0
  648. data/public/stylesheets/cms/menu.css +116 -0
  649. data/public/stylesheets/cms/nav.css +99 -0
  650. data/public/stylesheets/cms/page_toolbar.css +135 -0
  651. data/public/stylesheets/cms/reset.css +46 -0
  652. data/public/stylesheets/cms/selectbox.css +56 -0
  653. data/public/stylesheets/cms/sitemap.css +390 -0
  654. data/public/stylesheets/cms/taglist.css +18 -0
  655. data/public/stylesheets/cms/thickbox.css +163 -0
  656. data/rails/init.rb +5 -0
  657. data/script/about +4 -0
  658. data/script/console +3 -0
  659. data/script/dbconsole +3 -0
  660. data/script/destroy +3 -0
  661. data/script/generate +3 -0
  662. data/script/performance/benchmarker +3 -0
  663. data/script/performance/profiler +3 -0
  664. data/script/plugin +3 -0
  665. data/script/runner +3 -0
  666. data/script/server +3 -0
  667. data/test/performance/browsing_test.rb +9 -0
  668. data/test/test_helper.rb +38 -0
  669. metadata +736 -0
@@ -0,0 +1,335 @@
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.event} class, which serves as the
8
+ * base for classes and objects that require event handling features.
9
+ */
10
+
11
+ if ( !CKEDITOR.event )
12
+ {
13
+ /**
14
+ * This is a base class for classes and objects that require event handling
15
+ * features.
16
+ * @constructor
17
+ * @example
18
+ */
19
+ CKEDITOR.event = function()
20
+ {};
21
+
22
+ /**
23
+ * Implements the {@link CKEDITOR.event} features in an object.
24
+ * @param {Object} targetObject The object in which implement the features.
25
+ * @example
26
+ * var myObject = { message : 'Example' };
27
+ * <b>CKEDITOR.event.implementOn( myObject }</b>;
28
+ * myObject.on( 'testEvent', function()
29
+ * {
30
+ * alert( this.message ); // "Example"
31
+ * });
32
+ * myObject.fire( 'testEvent' );
33
+ */
34
+ CKEDITOR.event.implementOn = function( targetObject, isTargetPrototype )
35
+ {
36
+ var eventProto = CKEDITOR.event.prototype;
37
+
38
+ for ( var prop in eventProto )
39
+ {
40
+ if ( targetObject[ prop ] == undefined )
41
+ targetObject[ prop ] = eventProto[ prop ];
42
+ }
43
+ };
44
+
45
+ CKEDITOR.event.prototype = (function()
46
+ {
47
+ // Returns the private events object for a given object.
48
+ var getPrivate = function( obj )
49
+ {
50
+ var _ = ( obj.getPrivate && obj.getPrivate() ) || obj._ || ( obj._ = {} );
51
+ return _.events || ( _.events = {} );
52
+ };
53
+
54
+ var eventEntry = function( eventName )
55
+ {
56
+ this.name = eventName;
57
+ this.listeners = [];
58
+ };
59
+
60
+ eventEntry.prototype =
61
+ {
62
+ // Get the listener index for a specified function.
63
+ // Returns -1 if not found.
64
+ getListenerIndex : function( listenerFunction )
65
+ {
66
+ for ( var i = 0, listeners = this.listeners ; i < listeners.length ; i++ )
67
+ {
68
+ if ( listeners[i].fn == listenerFunction )
69
+ return i;
70
+ }
71
+ return -1;
72
+ }
73
+ };
74
+
75
+ return /** @lends CKEDITOR.event.prototype */ {
76
+ /**
77
+ * Registers a listener to a specific event in the current object.
78
+ * @param {String} eventName The event name to which listen.
79
+ * @param {Function} listenerFunction The function listening to the
80
+ * event.
81
+ * @param {Object} [scopeObj] The object used to scope the listener
82
+ * call (the this object. If omitted, the current object is used.
83
+ * @param {Object} [listenerData] Data to be sent as the
84
+ * {@link CKEDITOR.eventInfo#listenerData} when calling the
85
+ * listener.
86
+ * @param {Number} [priority] The listener priority. Lower priority
87
+ * listeners are called first. Listeners with the same priority
88
+ * value are called in registration order. Defaults to 10.
89
+ * @example
90
+ * someObject.on( 'someEvent', function()
91
+ * {
92
+ * alert( this == someObject ); // "true"
93
+ * });
94
+ * @example
95
+ * someObject.on( 'someEvent', function()
96
+ * {
97
+ * alert( this == anotherObject ); // "true"
98
+ * }
99
+ * , anotherObject );
100
+ * @example
101
+ * someObject.on( 'someEvent', function( event )
102
+ * {
103
+ * alert( event.listenerData ); // "Example"
104
+ * }
105
+ * , null, 'Example' );
106
+ * @example
107
+ * someObject.on( 'someEvent', function() { ... } ); // 2nd called
108
+ * someObject.on( 'someEvent', function() { ... }, null, null, 100 ); // 3rd called
109
+ * someObject.on( 'someEvent', function() { ... }, null, null, 1 ); // 1st called
110
+ */
111
+ on : function( eventName, listenerFunction, scopeObj, listenerData, priority )
112
+ {
113
+ // Get the event entry (create it if needed).
114
+ var events = getPrivate( this ),
115
+ event = events[ eventName ] || ( events[ eventName ] = new eventEntry( eventName ) );
116
+
117
+ if ( event.getListenerIndex( listenerFunction ) < 0 )
118
+ {
119
+ // Get the listeners.
120
+ var listeners = event.listeners;
121
+
122
+ // Fill the scope.
123
+ if ( !scopeObj )
124
+ scopeObj = this;
125
+
126
+ // Default the priority, if needed.
127
+ if ( isNaN( priority ) )
128
+ priority = 10;
129
+
130
+ var me = this;
131
+
132
+ // Create the function to be fired for this listener.
133
+ var listenerFirer = function( editor, publisherData, stopFn, cancelFn )
134
+ {
135
+ var ev =
136
+ {
137
+ name : eventName,
138
+ sender : this,
139
+ editor : editor,
140
+ data : publisherData,
141
+ listenerData : listenerData,
142
+ stop : stopFn,
143
+ cancel : cancelFn,
144
+ removeListener : function()
145
+ {
146
+ me.removeListener( eventName, listenerFunction );
147
+ }
148
+ };
149
+
150
+ listenerFunction.call( scopeObj, ev );
151
+
152
+ return ev.data;
153
+ };
154
+ listenerFirer.fn = listenerFunction;
155
+ listenerFirer.priority = priority;
156
+
157
+ // Search for the right position for this new listener, based on its
158
+ // priority.
159
+ for ( var i = listeners.length - 1 ; i >= 0 ; i-- )
160
+ {
161
+ // Find the item which should be before the new one.
162
+ if ( listeners[ i ].priority <= priority )
163
+ {
164
+ // Insert the listener in the array.
165
+ listeners.splice( i + 1, 0, listenerFirer );
166
+ return;
167
+ }
168
+ }
169
+
170
+ // If no position has been found (or zero length), put it in
171
+ // the front of list.
172
+ listeners.unshift( listenerFirer );
173
+ }
174
+ },
175
+
176
+ /**
177
+ * Fires an specific event in the object. All registered listeners are
178
+ * called at this point.
179
+ * @function
180
+ * @param {String} eventName The event name to fire.
181
+ * @param {Object} [data] Data to be sent as the
182
+ * {@link CKEDITOR.eventInfo#data} when calling the
183
+ * listeners.
184
+ * @param {CKEDITOR.editor} [editor] The editor instance to send as the
185
+ * {@link CKEDITOR.eventInfo#editor} when calling the
186
+ * listener.
187
+ * @returns {Boolean|Object} A booloan indicating that the event is to be
188
+ * canceled, or data returned by one of the listeners.
189
+ * @example
190
+ * someObject.on( 'someEvent', function() { ... } );
191
+ * someObject.on( 'someEvent', function() { ... } );
192
+ * <b>someObject.fire( 'someEvent' )</b>; // both listeners are called
193
+ * @example
194
+ * someObject.on( 'someEvent', function( event )
195
+ * {
196
+ * alert( event.data ); // "Example"
197
+ * });
198
+ * <b>someObject.fire( 'someEvent', 'Example' )</b>;
199
+ */
200
+ fire : (function()
201
+ {
202
+ // Create the function that marks the event as stopped.
203
+ var stopped = false;
204
+ var stopEvent = function()
205
+ {
206
+ stopped = true;
207
+ };
208
+
209
+ // Create the function that marks the event as canceled.
210
+ var canceled = false;
211
+ var cancelEvent = function()
212
+ {
213
+ canceled = true;
214
+ };
215
+
216
+ return function( eventName, data, editor )
217
+ {
218
+ // Get the event entry.
219
+ var event = getPrivate( this )[ eventName ];
220
+
221
+ // Save the previous stopped and cancelled states. We may
222
+ // be nesting fire() calls.
223
+ var previousStopped = stopped,
224
+ previousCancelled = canceled;
225
+
226
+ // Reset the stopped and canceled flags.
227
+ stopped = canceled = false;
228
+
229
+ if ( event )
230
+ {
231
+ var listeners = event.listeners;
232
+
233
+ if ( listeners.length )
234
+ {
235
+ // As some listeners may remove themselves from the
236
+ // event, the original array length is dinamic. So,
237
+ // let's make a copy of all listeners, so we are
238
+ // sure we'll call all of them.
239
+ listeners = listeners.slice( 0 );
240
+
241
+ // Loop through all listeners.
242
+ for ( var i = 0 ; i < listeners.length ; i++ )
243
+ {
244
+ // Call the listener, passing the event data.
245
+ var retData = listeners[i].call( this, editor, data, stopEvent, cancelEvent );
246
+
247
+ if ( typeof retData != 'undefined' )
248
+ data = retData;
249
+
250
+ // No further calls is stopped or canceled.
251
+ if ( stopped || canceled )
252
+ break;
253
+ }
254
+ }
255
+ }
256
+
257
+ var ret = canceled || ( typeof data == 'undefined' ? false : data );
258
+
259
+ // Restore the previous stopped and canceled states.
260
+ stopped = previousStopped;
261
+ canceled = previousCancelled;
262
+
263
+ return ret;
264
+ };
265
+ })(),
266
+
267
+ /**
268
+ * Fires an specific event in the object, releasing all listeners
269
+ * registered to that event. The same listeners are not called again on
270
+ * successive calls of it or of {@link #fire}.
271
+ * @param {String} eventName The event name to fire.
272
+ * @param {Object} [data] Data to be sent as the
273
+ * {@link CKEDITOR.eventInfo#data} when calling the
274
+ * listeners.
275
+ * @param {CKEDITOR.editor} [editor] The editor instance to send as the
276
+ * {@link CKEDITOR.eventInfo#editor} when calling the
277
+ * listener.
278
+ * @returns {Boolean|Object} A booloan indicating that the event is to be
279
+ * canceled, or data returned by one of the listeners.
280
+ * @example
281
+ * someObject.on( 'someEvent', function() { ... } );
282
+ * someObject.fire( 'someEvent' ); // above listener called
283
+ * <b>someObject.fireOnce( 'someEvent' )</b>; // above listener called
284
+ * someObject.fire( 'someEvent' ); // no listeners called
285
+ */
286
+ fireOnce : function( eventName, data, editor )
287
+ {
288
+ var ret = this.fire( eventName, data, editor );
289
+ delete getPrivate( this )[ eventName ];
290
+ return ret;
291
+ },
292
+
293
+ /**
294
+ * Unregisters a listener function from being called at the specified
295
+ * event. No errors are thrown if the listener has not been
296
+ * registered previously.
297
+ * @param {String} eventName The event name.
298
+ * @param {Function} listenerFunction The listener function to unregister.
299
+ * @example
300
+ * var myListener = function() { ... };
301
+ * someObject.on( 'someEvent', myListener );
302
+ * someObject.fire( 'someEvent' ); // myListener called
303
+ * <b>someObject.removeListener( 'someEvent', myListener )</b>;
304
+ * someObject.fire( 'someEvent' ); // myListener not called
305
+ */
306
+ removeListener : function( eventName, listenerFunction )
307
+ {
308
+ // Get the event entry.
309
+ var event = getPrivate( this )[ eventName ];
310
+
311
+ if ( event )
312
+ {
313
+ var index = event.getListenerIndex( listenerFunction );
314
+ if ( index >= 0 )
315
+ event.listeners.splice( index, 1 );
316
+ }
317
+ },
318
+
319
+ /**
320
+ * Checks if there is any listener registered to a given event.
321
+ * @param {String} eventName The event name.
322
+ * @example
323
+ * var myListener = function() { ... };
324
+ * someObject.on( 'someEvent', myListener );
325
+ * alert( someObject.<b>hasListeners( 'someEvent' )</b> ); // "true"
326
+ * alert( someObject.<b>hasListeners( 'noEvent' )</b> ); // "false"
327
+ */
328
+ hasListeners : function( eventName )
329
+ {
330
+ var event = getPrivate( this )[ eventName ];
331
+ return ( event && event.listeners.length > 0 ) ;
332
+ }
333
+ };
334
+ })();
335
+ }
@@ -0,0 +1,120 @@
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 "virtual" {@link CKEDITOR.eventInfo} class, which
8
+ * contains the defintions of the event object passed to event listeners.
9
+ * This file is for documentation purposes only.
10
+ */
11
+
12
+ /**
13
+ * This class is not really part of the API. It just illustrates the features
14
+ * of the event object passed to event listeners by a {@link CKEDITOR.event}
15
+ * based object.
16
+ * @name CKEDITOR.eventInfo
17
+ * @constructor
18
+ * @example
19
+ * // Do not do this.
20
+ * var myEvent = new CKEDITOR.eventInfo(); // Error: CKEDITOR.eventInfo is undefined
21
+ */
22
+
23
+ /**
24
+ * The event name.
25
+ * @name CKEDITOR.eventInfo.prototype.name
26
+ * @field
27
+ * @type String
28
+ * @example
29
+ * someObject.on( 'someEvent', function( event )
30
+ * {
31
+ * alert( <b>event.name</b> ); // "someEvent"
32
+ * });
33
+ * someObject.fire( 'someEvent' );
34
+ */
35
+
36
+ /**
37
+ * The object that publishes (sends) the event.
38
+ * @name CKEDITOR.eventInfo.prototype.sender
39
+ * @field
40
+ * @type Object
41
+ * @example
42
+ * someObject.on( 'someEvent', function( event )
43
+ * {
44
+ * alert( <b>event.sender</b> == someObject ); // "true"
45
+ * });
46
+ * someObject.fire( 'someEvent' );
47
+ */
48
+
49
+ /**
50
+ * The editor instance that holds the sender. May be the same as sender. May be
51
+ * null if the sender is not part of an editor instance, like a component
52
+ * running in standalone mode.
53
+ * @name CKEDITOR.eventInfo.prototype.editor
54
+ * @field
55
+ * @type CKEDITOR.editor
56
+ * @example
57
+ * myButton.on( 'someEvent', function( event )
58
+ * {
59
+ * alert( <b>event.editor</b> == myEditor ); // "true"
60
+ * });
61
+ * myButton.fire( 'someEvent', null, <b>myEditor</b> );
62
+ */
63
+
64
+ /**
65
+ * Any kind of additional data. Its format and usage is event dependent.
66
+ * @name CKEDITOR.eventInfo.prototype.data
67
+ * @field
68
+ * @type Object
69
+ * @example
70
+ * someObject.on( 'someEvent', function( event )
71
+ * {
72
+ * alert( <b>event.data</b> ); // "Example"
73
+ * });
74
+ * someObject.fire( 'someEvent', <b>'Example'</b> );
75
+ */
76
+
77
+ /**
78
+ * Any extra data appended during the listener registration.
79
+ * @name CKEDITOR.eventInfo.prototype.listenerData
80
+ * @field
81
+ * @type Object
82
+ * @example
83
+ * someObject.on( 'someEvent', function( event )
84
+ * {
85
+ * alert( <b>event.listenerData</b> ); // "Example"
86
+ * }
87
+ * , null, <b>'Example'</b> );
88
+ */
89
+
90
+ /**
91
+ * Indicates that no further listeners are to be called.
92
+ * @name CKEDITOR.eventInfo.prototype.stop
93
+ * @function
94
+ * @example
95
+ * someObject.on( 'someEvent', function( event )
96
+ * {
97
+ * <b>event.stop()</b>;
98
+ * });
99
+ * someObject.on( 'someEvent', function( event )
100
+ * {
101
+ * // This one will not be called.
102
+ * });
103
+ * alert( someObject.fire( 'someEvent' ) ); // "false"
104
+ */
105
+
106
+ /**
107
+ * Indicates that the event is to be cancelled (if cancelable).
108
+ * @name CKEDITOR.eventInfo.prototype.cancel
109
+ * @function
110
+ * @example
111
+ * someObject.on( 'someEvent', function( event )
112
+ * {
113
+ * <b>event.cancel()</b>;
114
+ * });
115
+ * someObject.on( 'someEvent', function( event )
116
+ * {
117
+ * // This one will not be called.
118
+ * });
119
+ * alert( someObject.fire( 'someEvent' ) ); // "true"
120
+ */
@@ -0,0 +1,123 @@
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.focusManager} class, which is used
8
+ * to handle the focus on editor instances..
9
+ */
10
+
11
+ /**
12
+ * Manages the focus activity in an editor instance. This class is to be used
13
+ * mainly by UI elements coders when adding interface elements to CKEditor.
14
+ * @constructor
15
+ * @param {CKEDITOR.editor} editor The editor instance.
16
+ * @example
17
+ */
18
+ CKEDITOR.focusManager = function( editor )
19
+ {
20
+ if ( editor.focusManager )
21
+ return editor.focusManager;
22
+
23
+ /**
24
+ * Indicates that the editor instance has focus.
25
+ * @type Boolean
26
+ * @example
27
+ * alert( CKEDITOR.instances.editor1.focusManager.hasFocus ); // e.g "true"
28
+ */
29
+ this.hasFocus = false;
30
+
31
+ /**
32
+ * Object used to hold private stuff.
33
+ * @private
34
+ */
35
+ this._ =
36
+ {
37
+ editor : editor
38
+ };
39
+
40
+ return this;
41
+ };
42
+
43
+ CKEDITOR.focusManager.prototype =
44
+ {
45
+ /**
46
+ * Indicates that the editor instance has the focus.
47
+ *
48
+ * This function is not used to set the focus in the editor. Use
49
+ * {@link CKEDITOR.editor#focus} for it instead.
50
+ * @example
51
+ * var editor = CKEDITOR.instances.editor1;
52
+ * <b>editor.focusManager.focus()</b>;
53
+ */
54
+ focus : function()
55
+ {
56
+ if ( this._.timer )
57
+ clearTimeout( this._.timer );
58
+
59
+ if ( !this.hasFocus )
60
+ {
61
+ // If another editor has the current focus, we first "blur" it. In
62
+ // this way the events happen in a more logical sequence, like:
63
+ // "focus 1" > "blur 1" > "focus 2"
64
+ // ... instead of:
65
+ // "focus 1" > "focus 2" > "blur 1"
66
+ if ( CKEDITOR.currentInstance )
67
+ CKEDITOR.currentInstance.focusManager.forceBlur();
68
+
69
+ var editor = this._.editor;
70
+
71
+ editor.container.getFirst().addClass( 'cke_focus' );
72
+
73
+ this.hasFocus = true;
74
+ editor.fire( 'focus' );
75
+ }
76
+ },
77
+
78
+ /**
79
+ * Indicates that the editor instance has lost the focus. Note that this
80
+ * functions acts asynchronously with a delay of 100ms to avoid subsequent
81
+ * blur/focus effects. If you want the "blur" to happen immediately, use
82
+ * the {@link #forceBlur} function instead.
83
+ * @example
84
+ * var editor = CKEDITOR.instances.editor1;
85
+ * <b>editor.focusManager.blur()</b>;
86
+ */
87
+ blur : function()
88
+ {
89
+ var focusManager = this;
90
+
91
+ if ( focusManager._.timer )
92
+ clearTimeout( focusManager._.timer );
93
+
94
+ focusManager._.timer = setTimeout(
95
+ function()
96
+ {
97
+ delete focusManager._.timer;
98
+ focusManager.forceBlur();
99
+ }
100
+ , 100 );
101
+ },
102
+
103
+ /**
104
+ * Indicates that the editor instance has lost the focus. Unlike
105
+ * {@link #blur}, this function is synchronous, marking the instance as
106
+ * "blured" immediately.
107
+ * @example
108
+ * var editor = CKEDITOR.instances.editor1;
109
+ * <b>editor.focusManager.forceBlur()</b>;
110
+ */
111
+ forceBlur : function()
112
+ {
113
+ if ( this.hasFocus )
114
+ {
115
+ var editor = this._.editor;
116
+
117
+ editor.container.getFirst().removeClass( 'cke_focus' );
118
+
119
+ this.hasFocus = false;
120
+ editor.fire( 'blur' );
121
+ }
122
+ }
123
+ };
@@ -0,0 +1,140 @@
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.htmlParser.basicWriter = CKEDITOR.tools.createClass(
7
+ {
8
+ $ : function()
9
+ {
10
+ this._ =
11
+ {
12
+ output : []
13
+ };
14
+ },
15
+
16
+ proto :
17
+ {
18
+ /**
19
+ * Writes the tag opening part for a opener tag.
20
+ * @param {String} tagName The element name for this tag.
21
+ * @param {Object} attributes The attributes defined for this tag. The
22
+ * attributes could be used to inspect the tag.
23
+ * @example
24
+ * // Writes "&lt;p".
25
+ * writer.openTag( 'p', { class : 'MyClass', id : 'MyId' } );
26
+ */
27
+ openTag : function( tagName, attributes )
28
+ {
29
+ this._.output.push( '<', tagName );
30
+ },
31
+
32
+ /**
33
+ * Writes the tag closing part for a opener tag.
34
+ * @param {String} tagName The element name for this tag.
35
+ * @param {Boolean} isSelfClose Indicates that this is a self-closing tag,
36
+ * like "br" or "img".
37
+ * @example
38
+ * // Writes "&gt;".
39
+ * writer.openTagClose( 'p', false );
40
+ * @example
41
+ * // Writes " /&gt;".
42
+ * writer.openTagClose( 'br', true );
43
+ */
44
+ openTagClose : function( tagName, isSelfClose )
45
+ {
46
+ if ( isSelfClose )
47
+ this._.output.push( ' />' );
48
+ else
49
+ this._.output.push( '>' );
50
+ },
51
+
52
+ /**
53
+ * Writes an attribute. This function should be called after opening the
54
+ * tag with {@link #openTagClose}.
55
+ * @param {String} attName The attribute name.
56
+ * @param {String} attValue The attribute value.
57
+ * @example
58
+ * // Writes ' class="MyClass"'.
59
+ * writer.attribute( 'class', 'MyClass' );
60
+ */
61
+ attribute : function( attName, attValue )
62
+ {
63
+ this._.output.push( ' ', attName, '="', attValue, '"' );
64
+ },
65
+
66
+ /**
67
+ * Writes a closer tag.
68
+ * @param {String} tagName The element name for this tag.
69
+ * @example
70
+ * // Writes "&lt;/p&gt;".
71
+ * writer.closeTag( 'p' );
72
+ */
73
+ closeTag : function( tagName )
74
+ {
75
+ this._.output.push( '</', tagName, '>' );
76
+ },
77
+
78
+ /**
79
+ * Writes text.
80
+ * @param {String} text The text value
81
+ * @example
82
+ * // Writes "Hello Word".
83
+ * writer.text( 'Hello Word' );
84
+ */
85
+ text : function( text )
86
+ {
87
+ this._.output.push( text );
88
+ },
89
+
90
+ /**
91
+ * Writes a comment.
92
+ * @param {String} comment The comment text.
93
+ * @example
94
+ * // Writes "&lt;!-- My comment --&gt;".
95
+ * writer.comment( ' My comment ' );
96
+ */
97
+ comment : function( comment )
98
+ {
99
+ this._.output.push( '<!--', comment, '-->' );
100
+ },
101
+
102
+ /**
103
+ * Writes any kind of data to the ouput.
104
+ * @example
105
+ * writer.write( 'This is an &lt;b&gt;example&lt;/b&gt;.' );
106
+ */
107
+ write : function( data )
108
+ {
109
+ this._.output.push( data );
110
+ },
111
+
112
+ /**
113
+ * Empties the current output buffer.
114
+ * @example
115
+ * writer.reset();
116
+ */
117
+ reset : function()
118
+ {
119
+ this._.output = [];
120
+ },
121
+
122
+ /**
123
+ * Empties the current output buffer.
124
+ * @param {Boolean} reset Indicates that the {@link reset} function is to
125
+ * be automatically called after retrieving the HTML.
126
+ * @returns {String} The HTML written to the writer so far.
127
+ * @example
128
+ * var html = writer.getHtml();
129
+ */
130
+ getHtml : function( reset )
131
+ {
132
+ var html = this._.output.join( '' );
133
+
134
+ if ( reset )
135
+ this.reset();
136
+
137
+ return html;
138
+ }
139
+ }
140
+ });