editorial_logic 1.1.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 (797) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Capfile +4 -0
  4. data/Gemfile +32 -0
  5. data/Rakefile +33 -0
  6. data/VERSION +1 -0
  7. data/app/controllers/admin/managed_contents_controller.rb +90 -0
  8. data/app/controllers/admin/publications_controller.rb +48 -0
  9. data/app/controllers/admin/sections_controller.rb +75 -0
  10. data/app/controllers/application_controller.rb +5 -0
  11. data/app/controllers/managed_contents_controller.rb +13 -0
  12. data/app/controllers/publications_controller.rb +20 -0
  13. data/app/controllers/sections_controller.rb +9 -0
  14. data/app/helpers/layout_helper.rb +23 -0
  15. data/app/models/faq_import.rb +34 -0
  16. data/app/models/managed_content.rb +145 -0
  17. data/app/models/publication.rb +95 -0
  18. data/app/models/section.rb +69 -0
  19. data/app/uploaders/document_uploader.rb +43 -0
  20. data/app/views/admin/managed_contents/_article_fields.html.erb +63 -0
  21. data/app/views/admin/managed_contents/_document_fields.html.erb +17 -0
  22. data/app/views/admin/managed_contents/_faq_fields.html.erb +21 -0
  23. data/app/views/admin/managed_contents/_faq_index.html.erb +39 -0
  24. data/app/views/admin/managed_contents/_form.html.erb +26 -0
  25. data/app/views/admin/managed_contents/_index.html.erb +29 -0
  26. data/app/views/admin/managed_contents/_term_fields.html.erb +36 -0
  27. data/app/views/admin/managed_contents/edit.html.erb +8 -0
  28. data/app/views/admin/managed_contents/import.html.erb +13 -0
  29. data/app/views/admin/managed_contents/new.html.erb +6 -0
  30. data/app/views/admin/managed_contents/show.html.erb +121 -0
  31. data/app/views/admin/publications/_form.html.erb +34 -0
  32. data/app/views/admin/publications/edit.html.erb +5 -0
  33. data/app/views/admin/publications/index.html.erb +33 -0
  34. data/app/views/admin/publications/new.html.erb +5 -0
  35. data/app/views/admin/publications/show.html.erb +34 -0
  36. data/app/views/admin/sections/_form.html.erb +35 -0
  37. data/app/views/admin/sections/_index.html.erb +37 -0
  38. data/app/views/admin/sections/edit.html.erb +5 -0
  39. data/app/views/admin/sections/new.html.erb +5 -0
  40. data/app/views/admin/sections/show.html.erb +26 -0
  41. data/app/views/layouts/application.html.erb +47 -0
  42. data/app/views/managed_contents/show.html.erb +34 -0
  43. data/app/views/publications/_articles.html.erb +7 -0
  44. data/app/views/publications/_documents.html.erb +7 -0
  45. data/app/views/publications/_faqs.html.erb +7 -0
  46. data/app/views/publications/_terms.html.erb +9 -0
  47. data/app/views/publications/feed.rss.builder +19 -0
  48. data/app/views/publications/show.html.erb +13 -0
  49. data/app/views/sections/_contents.html.erb +16 -0
  50. data/app/views/sections/show.html.erb +12 -0
  51. data/app/views/shared/_nav_tabs.html.erb +3 -0
  52. data/autotest/discover.rb +2 -0
  53. data/config.ru +4 -0
  54. data/config/application.rb +44 -0
  55. data/config/boot.rb +13 -0
  56. data/config/cucumber.yml +10 -0
  57. data/config/deploy.rb +40 -0
  58. data/config/environment.rb +9 -0
  59. data/config/environments/development.rb +28 -0
  60. data/config/environments/production.rb +49 -0
  61. data/config/environments/test.rb +35 -0
  62. data/config/initializers/ckeditor.rb +54 -0
  63. data/config/initializers/metric_fu.rb +9 -0
  64. data/config/initializers/secret_token.rb +7 -0
  65. data/config/initializers/session_store.rb +8 -0
  66. data/config/locales/en.yml +5 -0
  67. data/config/mongoid.yml +24 -0
  68. data/config/routes.rb +47 -0
  69. data/editorial_logic.gemspec +857 -0
  70. data/features/access_publications.feature +91 -0
  71. data/features/fixtures/test.pdf +0 -0
  72. data/features/manage_articles_content.feature +129 -0
  73. data/features/manage_documents_content.feature +58 -0
  74. data/features/manage_faq_content.feature +61 -0
  75. data/features/manage_glossary_content.feature +59 -0
  76. data/features/manage_publications.feature +55 -0
  77. data/features/step_definitions/content_steps.rb +20 -0
  78. data/features/step_definitions/general_steps.rb +17 -0
  79. data/features/step_definitions/publication_steps.rb +27 -0
  80. data/features/step_definitions/web_steps.rb +219 -0
  81. data/features/support/env.rb +42 -0
  82. data/features/support/hooks.rb +1 -0
  83. data/features/support/paths.rb +33 -0
  84. data/init.rb +1 -0
  85. data/lib/editorial_logic.rb +55 -0
  86. data/lib/editorial_logic/engine.rb +7 -0
  87. data/lib/editorial_logic/railtie.rb +10 -0
  88. data/lib/tasks/cucumber.rake +60 -0
  89. data/lib/tasks/rcov.rake +44 -0
  90. data/misc/images/src/black_bar.psd +0 -0
  91. data/misc/images/src/branding.psd +0 -0
  92. data/misc/images/src/legend_bg.psd +0 -0
  93. data/misc/images/src/menu_icons.psd +0 -0
  94. data/public/404.html +26 -0
  95. data/public/422.html +26 -0
  96. data/public/500.html +26 -0
  97. data/public/favicon.ico +0 -0
  98. data/public/images/icons/collapsed.gif +0 -0
  99. data/public/images/icons/delete.png +0 -0
  100. data/public/images/icons/drag.png +0 -0
  101. data/public/images/icons/edit.png +0 -0
  102. data/public/images/icons/expanded.gif +0 -0
  103. data/public/images/icons/help_icon.png +0 -0
  104. data/public/images/icons/link_icon.png +0 -0
  105. data/public/images/icons/move.png +0 -0
  106. data/public/images/icons/move_white.png +0 -0
  107. data/public/images/icons/note.png +0 -0
  108. data/public/images/icons/note_white.png +0 -0
  109. data/public/images/icons/notification_icon_sprite.png +0 -0
  110. data/public/images/icons/spinner.gif +0 -0
  111. data/public/images/icons/view.png +0 -0
  112. data/public/images/icons/warning.png +0 -0
  113. data/public/images/icons/warning_2.png +0 -0
  114. data/public/images/icons/warning_box.png +0 -0
  115. data/public/images/icons/warning_icon.png +0 -0
  116. data/public/images/icons/warning_white.png +0 -0
  117. data/public/images/layout/arrow_asc.png +0 -0
  118. data/public/images/layout/arrow_desc.png +0 -0
  119. data/public/images/layout/black_bar.png +0 -0
  120. data/public/images/layout/button_bg.png +0 -0
  121. data/public/images/layout/content_left_bg.png +0 -0
  122. data/public/images/layout/content_right_bg.png +0 -0
  123. data/public/images/layout/footer_bg.png +0 -0
  124. data/public/images/layout/h2_bg.png +0 -0
  125. data/public/images/layout/h2_bg_for_table.png +0 -0
  126. data/public/images/layout/header_bg_grey.png +0 -0
  127. data/public/images/layout/header_bg_purple.png +0 -0
  128. data/public/images/layout/legend_bg.png +0 -0
  129. data/public/images/layout/text_field_bg.jpg +0 -0
  130. data/public/images/layout/text_field_error_bg.png +0 -0
  131. data/public/images/layout/th_bg.png +0 -0
  132. data/public/images/layout/th_bg_selected.png +0 -0
  133. data/public/index.html +9 -0
  134. data/public/javascripts/application.js +2 -0
  135. data/public/javascripts/ckeditor/.htaccess +24 -0
  136. data/public/javascripts/ckeditor/CHANGES.html +993 -0
  137. data/public/javascripts/ckeditor/INSTALL.html +92 -0
  138. data/public/javascripts/ckeditor/LICENSE.html +1334 -0
  139. data/public/javascripts/ckeditor/_samples/ajax.html +87 -0
  140. data/public/javascripts/ckeditor/_samples/api.html +152 -0
  141. data/public/javascripts/ckeditor/_samples/api_dialog.html +188 -0
  142. data/public/javascripts/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
  143. data/public/javascripts/ckeditor/_samples/asp/advanced.asp +105 -0
  144. data/public/javascripts/ckeditor/_samples/asp/events.asp +136 -0
  145. data/public/javascripts/ckeditor/_samples/asp/index.html +103 -0
  146. data/public/javascripts/ckeditor/_samples/asp/replace.asp +72 -0
  147. data/public/javascripts/ckeditor/_samples/asp/replaceall.asp +77 -0
  148. data/public/javascripts/ckeditor/_samples/asp/sample_posteddata.asp +46 -0
  149. data/public/javascripts/ckeditor/_samples/asp/standalone.asp +72 -0
  150. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  151. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  152. data/public/javascripts/ckeditor/_samples/assets/output_xhtml.css +204 -0
  153. data/public/javascripts/ckeditor/_samples/assets/swfobject.js +18 -0
  154. data/public/javascripts/ckeditor/_samples/autogrow.html +75 -0
  155. data/public/javascripts/ckeditor/_samples/divreplace.html +137 -0
  156. data/public/javascripts/ckeditor/_samples/enterkey.html +88 -0
  157. data/public/javascripts/ckeditor/_samples/fullpage.html +62 -0
  158. data/public/javascripts/ckeditor/_samples/index.html +57 -0
  159. data/public/javascripts/ckeditor/_samples/jqueryadapter.html +73 -0
  160. data/public/javascripts/ckeditor/_samples/output_for_flash.html +257 -0
  161. data/public/javascripts/ckeditor/_samples/output_html.html +259 -0
  162. data/public/javascripts/ckeditor/_samples/output_xhtml.html +159 -0
  163. data/public/javascripts/ckeditor/_samples/php/advanced.php +93 -0
  164. data/public/javascripts/ckeditor/_samples/php/events.php +130 -0
  165. data/public/javascripts/ckeditor/_samples/php/replace.php +63 -0
  166. data/public/javascripts/ckeditor/_samples/php/replaceall.php +68 -0
  167. data/public/javascripts/ckeditor/_samples/php/standalone.php +64 -0
  168. data/public/javascripts/ckeditor/_samples/replacebyclass.html +49 -0
  169. data/public/javascripts/ckeditor/_samples/replacebycode.html +80 -0
  170. data/public/javascripts/ckeditor/_samples/sample.css +81 -0
  171. data/public/javascripts/ckeditor/_samples/sample.js +65 -0
  172. data/public/javascripts/ckeditor/_samples/sample_posteddata.php +59 -0
  173. data/public/javascripts/ckeditor/_samples/sharedspaces.html +131 -0
  174. data/public/javascripts/ckeditor/_samples/skins.html +83 -0
  175. data/public/javascripts/ckeditor/_samples/ui_color.html +87 -0
  176. data/public/javascripts/ckeditor/_samples/ui_languages.html +103 -0
  177. data/public/javascripts/ckeditor/_source/adapters/jquery.js +297 -0
  178. data/public/javascripts/ckeditor/_source/core/_bootstrap.js +96 -0
  179. data/public/javascripts/ckeditor/_source/core/ajax.js +142 -0
  180. data/public/javascripts/ckeditor/_source/core/ckeditor.js +133 -0
  181. data/public/javascripts/ckeditor/_source/core/ckeditor_base.js +196 -0
  182. data/public/javascripts/ckeditor/_source/core/ckeditor_basic.js +239 -0
  183. data/public/javascripts/ckeditor/_source/core/command.js +209 -0
  184. data/public/javascripts/ckeditor/_source/core/commanddefinition.js +129 -0
  185. data/public/javascripts/ckeditor/_source/core/config.js +430 -0
  186. data/public/javascripts/ckeditor/_source/core/dataprocessor.js +65 -0
  187. data/public/javascripts/ckeditor/_source/core/dom.js +20 -0
  188. data/public/javascripts/ckeditor/_source/core/dom/comment.js +32 -0
  189. data/public/javascripts/ckeditor/_source/core/dom/document.js +224 -0
  190. data/public/javascripts/ckeditor/_source/core/dom/documentfragment.js +49 -0
  191. data/public/javascripts/ckeditor/_source/core/dom/domobject.js +255 -0
  192. data/public/javascripts/ckeditor/_source/core/dom/element.js +1564 -0
  193. data/public/javascripts/ckeditor/_source/core/dom/elementpath.js +119 -0
  194. data/public/javascripts/ckeditor/_source/core/dom/event.js +142 -0
  195. data/public/javascripts/ckeditor/_source/core/dom/node.js +683 -0
  196. data/public/javascripts/ckeditor/_source/core/dom/nodelist.js +26 -0
  197. data/public/javascripts/ckeditor/_source/core/dom/range.js +1883 -0
  198. data/public/javascripts/ckeditor/_source/core/dom/rangelist.js +214 -0
  199. data/public/javascripts/ckeditor/_source/core/dom/text.js +123 -0
  200. data/public/javascripts/ckeditor/_source/core/dom/walker.js +445 -0
  201. data/public/javascripts/ckeditor/_source/core/dom/window.js +96 -0
  202. data/public/javascripts/ckeditor/_source/core/dtd.js +238 -0
  203. data/public/javascripts/ckeditor/_source/core/editor.js +924 -0
  204. data/public/javascripts/ckeditor/_source/core/editor_basic.js +182 -0
  205. data/public/javascripts/ckeditor/_source/core/env.js +270 -0
  206. data/public/javascripts/ckeditor/_source/core/event.js +342 -0
  207. data/public/javascripts/ckeditor/_source/core/eventInfo.js +120 -0
  208. data/public/javascripts/ckeditor/_source/core/focusmanager.js +152 -0
  209. data/public/javascripts/ckeditor/_source/core/htmlparser.js +224 -0
  210. data/public/javascripts/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  211. data/public/javascripts/ckeditor/_source/core/htmlparser/cdata.js +43 -0
  212. data/public/javascripts/ckeditor/_source/core/htmlparser/comment.js +60 -0
  213. data/public/javascripts/ckeditor/_source/core/htmlparser/element.js +240 -0
  214. data/public/javascripts/ckeditor/_source/core/htmlparser/filter.js +288 -0
  215. data/public/javascripts/ckeditor/_source/core/htmlparser/fragment.js +504 -0
  216. data/public/javascripts/ckeditor/_source/core/htmlparser/text.js +55 -0
  217. data/public/javascripts/ckeditor/_source/core/imagecacher.js +80 -0
  218. data/public/javascripts/ckeditor/_source/core/lang.js +156 -0
  219. data/public/javascripts/ckeditor/_source/core/loader.js +243 -0
  220. data/public/javascripts/ckeditor/_source/core/plugindefinition.js +66 -0
  221. data/public/javascripts/ckeditor/_source/core/plugins.js +85 -0
  222. data/public/javascripts/ckeditor/_source/core/resourcemanager.js +238 -0
  223. data/public/javascripts/ckeditor/_source/core/scriptloader.js +200 -0
  224. data/public/javascripts/ckeditor/_source/core/skins.js +212 -0
  225. data/public/javascripts/ckeditor/_source/core/themes.js +19 -0
  226. data/public/javascripts/ckeditor/_source/core/tools.js +734 -0
  227. data/public/javascripts/ckeditor/_source/core/ui.js +116 -0
  228. data/public/javascripts/ckeditor/_source/core/xml.js +165 -0
  229. data/public/javascripts/ckeditor/_source/lang/_languages.js +83 -0
  230. data/public/javascripts/ckeditor/_source/lang/_translationstatus.txt +60 -0
  231. data/public/javascripts/ckeditor/_source/lang/af.js +758 -0
  232. data/public/javascripts/ckeditor/_source/lang/ar.js +758 -0
  233. data/public/javascripts/ckeditor/_source/lang/bg.js +758 -0
  234. data/public/javascripts/ckeditor/_source/lang/bn.js +758 -0
  235. data/public/javascripts/ckeditor/_source/lang/bs.js +758 -0
  236. data/public/javascripts/ckeditor/_source/lang/ca.js +758 -0
  237. data/public/javascripts/ckeditor/_source/lang/cs.js +758 -0
  238. data/public/javascripts/ckeditor/_source/lang/cy.js +758 -0
  239. data/public/javascripts/ckeditor/_source/lang/da.js +758 -0
  240. data/public/javascripts/ckeditor/_source/lang/de.js +758 -0
  241. data/public/javascripts/ckeditor/_source/lang/el.js +758 -0
  242. data/public/javascripts/ckeditor/_source/lang/en-au.js +758 -0
  243. data/public/javascripts/ckeditor/_source/lang/en-ca.js +758 -0
  244. data/public/javascripts/ckeditor/_source/lang/en-gb.js +758 -0
  245. data/public/javascripts/ckeditor/_source/lang/en.js +758 -0
  246. data/public/javascripts/ckeditor/_source/lang/eo.js +758 -0
  247. data/public/javascripts/ckeditor/_source/lang/es.js +758 -0
  248. data/public/javascripts/ckeditor/_source/lang/et.js +758 -0
  249. data/public/javascripts/ckeditor/_source/lang/eu.js +758 -0
  250. data/public/javascripts/ckeditor/_source/lang/fa.js +758 -0
  251. data/public/javascripts/ckeditor/_source/lang/fi.js +758 -0
  252. data/public/javascripts/ckeditor/_source/lang/fo.js +758 -0
  253. data/public/javascripts/ckeditor/_source/lang/fr-ca.js +758 -0
  254. data/public/javascripts/ckeditor/_source/lang/fr.js +758 -0
  255. data/public/javascripts/ckeditor/_source/lang/gl.js +758 -0
  256. data/public/javascripts/ckeditor/_source/lang/gu.js +758 -0
  257. data/public/javascripts/ckeditor/_source/lang/he.js +758 -0
  258. data/public/javascripts/ckeditor/_source/lang/hi.js +758 -0
  259. data/public/javascripts/ckeditor/_source/lang/hr.js +758 -0
  260. data/public/javascripts/ckeditor/_source/lang/hu.js +758 -0
  261. data/public/javascripts/ckeditor/_source/lang/is.js +758 -0
  262. data/public/javascripts/ckeditor/_source/lang/it.js +758 -0
  263. data/public/javascripts/ckeditor/_source/lang/ja.js +758 -0
  264. data/public/javascripts/ckeditor/_source/lang/km.js +758 -0
  265. data/public/javascripts/ckeditor/_source/lang/ko.js +758 -0
  266. data/public/javascripts/ckeditor/_source/lang/lt.js +758 -0
  267. data/public/javascripts/ckeditor/_source/lang/lv.js +758 -0
  268. data/public/javascripts/ckeditor/_source/lang/mn.js +758 -0
  269. data/public/javascripts/ckeditor/_source/lang/ms.js +758 -0
  270. data/public/javascripts/ckeditor/_source/lang/nb.js +758 -0
  271. data/public/javascripts/ckeditor/_source/lang/nl.js +758 -0
  272. data/public/javascripts/ckeditor/_source/lang/no.js +758 -0
  273. data/public/javascripts/ckeditor/_source/lang/pl.js +758 -0
  274. data/public/javascripts/ckeditor/_source/lang/pt-br.js +757 -0
  275. data/public/javascripts/ckeditor/_source/lang/pt.js +758 -0
  276. data/public/javascripts/ckeditor/_source/lang/ro.js +758 -0
  277. data/public/javascripts/ckeditor/_source/lang/ru.js +758 -0
  278. data/public/javascripts/ckeditor/_source/lang/sk.js +758 -0
  279. data/public/javascripts/ckeditor/_source/lang/sl.js +758 -0
  280. data/public/javascripts/ckeditor/_source/lang/sr-latn.js +758 -0
  281. data/public/javascripts/ckeditor/_source/lang/sr.js +758 -0
  282. data/public/javascripts/ckeditor/_source/lang/sv.js +758 -0
  283. data/public/javascripts/ckeditor/_source/lang/th.js +758 -0
  284. data/public/javascripts/ckeditor/_source/lang/tr.js +757 -0
  285. data/public/javascripts/ckeditor/_source/lang/uk.js +758 -0
  286. data/public/javascripts/ckeditor/_source/lang/vi.js +758 -0
  287. data/public/javascripts/ckeditor/_source/lang/zh-cn.js +758 -0
  288. data/public/javascripts/ckeditor/_source/lang/zh.js +758 -0
  289. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +211 -0
  290. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  291. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  292. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/plugin.js +46 -0
  293. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/about.js +73 -0
  294. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  295. data/public/javascripts/ckeditor/_source/plugins/about/plugin.js +23 -0
  296. data/public/javascripts/ckeditor/_source/plugins/ajax_save/plugin.js +44 -0
  297. data/public/javascripts/ckeditor/_source/plugins/attachment/dialogs/attachment.js +384 -0
  298. data/public/javascripts/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
  299. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/en.js +10 -0
  300. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/ru.js +10 -0
  301. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/uk.js +10 -0
  302. data/public/javascripts/ckeditor/_source/plugins/attachment/plugin.js +44 -0
  303. data/public/javascripts/ckeditor/_source/plugins/autogrow/plugin.js +86 -0
  304. data/public/javascripts/ckeditor/_source/plugins/basicstyles/plugin.js +101 -0
  305. data/public/javascripts/ckeditor/_source/plugins/bidi/plugin.js +259 -0
  306. data/public/javascripts/ckeditor/_source/plugins/blockquote/plugin.js +301 -0
  307. data/public/javascripts/ckeditor/_source/plugins/button/plugin.js +277 -0
  308. data/public/javascripts/ckeditor/_source/plugins/clipboard/dialogs/paste.js +205 -0
  309. data/public/javascripts/ckeditor/_source/plugins/clipboard/plugin.js +412 -0
  310. data/public/javascripts/ckeditor/_source/plugins/colorbutton/plugin.js +250 -0
  311. data/public/javascripts/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +336 -0
  312. data/public/javascripts/ckeditor/_source/plugins/colordialog/plugin.js +13 -0
  313. data/public/javascripts/ckeditor/_source/plugins/contextmenu/plugin.js +290 -0
  314. data/public/javascripts/ckeditor/_source/plugins/dialog/dialogDefinition.js +315 -0
  315. data/public/javascripts/ckeditor/_source/plugins/dialog/plugin.js +3015 -0
  316. data/public/javascripts/ckeditor/_source/plugins/dialogadvtab/plugin.js +213 -0
  317. data/public/javascripts/ckeditor/_source/plugins/dialogui/plugin.js +1523 -0
  318. data/public/javascripts/ckeditor/_source/plugins/div/dialogs/div.js +535 -0
  319. data/public/javascripts/ckeditor/_source/plugins/div/plugin.js +121 -0
  320. data/public/javascripts/ckeditor/_source/plugins/domiterator/plugin.js +356 -0
  321. data/public/javascripts/ckeditor/_source/plugins/editingblock/plugin.js +229 -0
  322. data/public/javascripts/ckeditor/_source/plugins/elementspath/plugin.js +206 -0
  323. data/public/javascripts/ckeditor/_source/plugins/embed/dialogs/embed.js +65 -0
  324. data/public/javascripts/ckeditor/_source/plugins/embed/images/embed.png +0 -0
  325. data/public/javascripts/ckeditor/_source/plugins/embed/lang/en.js +9 -0
  326. data/public/javascripts/ckeditor/_source/plugins/embed/lang/ru.js +9 -0
  327. data/public/javascripts/ckeditor/_source/plugins/embed/lang/uk.js +9 -0
  328. data/public/javascripts/ckeditor/_source/plugins/embed/plugin.js +44 -0
  329. data/public/javascripts/ckeditor/_source/plugins/enterkey/plugin.js +363 -0
  330. data/public/javascripts/ckeditor/_source/plugins/entities/plugin.js +226 -0
  331. data/public/javascripts/ckeditor/_source/plugins/fakeobjects/plugin.js +122 -0
  332. data/public/javascripts/ckeditor/_source/plugins/filebrowser/plugin.js +501 -0
  333. data/public/javascripts/ckeditor/_source/plugins/find/dialogs/find.js +890 -0
  334. data/public/javascripts/ckeditor/_source/plugins/find/plugin.js +46 -0
  335. data/public/javascripts/ckeditor/_source/plugins/flash/dialogs/flash.js +698 -0
  336. data/public/javascripts/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  337. data/public/javascripts/ckeditor/_source/plugins/flash/plugin.js +168 -0
  338. data/public/javascripts/ckeditor/_source/plugins/floatpanel/plugin.js +402 -0
  339. data/public/javascripts/ckeditor/_source/plugins/font/plugin.js +234 -0
  340. data/public/javascripts/ckeditor/_source/plugins/format/plugin.js +194 -0
  341. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/button.js +135 -0
  342. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  343. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  344. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +98 -0
  345. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  346. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/select.js +556 -0
  347. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -0
  348. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  349. data/public/javascripts/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  350. data/public/javascripts/ckeditor/_source/plugins/forms/plugin.js +284 -0
  351. data/public/javascripts/ckeditor/_source/plugins/horizontalrule/plugin.js +36 -0
  352. data/public/javascripts/ckeditor/_source/plugins/htmldataprocessor/plugin.js +502 -0
  353. data/public/javascripts/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  354. data/public/javascripts/ckeditor/_source/plugins/iframedialog/plugin.js +136 -0
  355. data/public/javascripts/ckeditor/_source/plugins/image/dialogs/image.js +1396 -0
  356. data/public/javascripts/ckeditor/_source/plugins/image/plugin.js +81 -0
  357. data/public/javascripts/ckeditor/_source/plugins/indent/plugin.js +455 -0
  358. data/public/javascripts/ckeditor/_source/plugins/justify/plugin.js +221 -0
  359. data/public/javascripts/ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  360. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/anchor.js +99 -0
  361. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/link.js +1424 -0
  362. data/public/javascripts/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  363. data/public/javascripts/ckeditor/_source/plugins/link/plugin.js +238 -0
  364. data/public/javascripts/ckeditor/_source/plugins/list/plugin.js +710 -0
  365. data/public/javascripts/ckeditor/_source/plugins/listblock/plugin.js +257 -0
  366. data/public/javascripts/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +204 -0
  367. data/public/javascripts/ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  368. data/public/javascripts/ckeditor/_source/plugins/maximize/plugin.js +350 -0
  369. data/public/javascripts/ckeditor/_source/plugins/menu/plugin.js +408 -0
  370. data/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js +94 -0
  371. data/public/javascripts/ckeditor/_source/plugins/newpage/plugin.js +53 -0
  372. data/public/javascripts/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  373. data/public/javascripts/ckeditor/_source/plugins/pagebreak/plugin.js +121 -0
  374. data/public/javascripts/ckeditor/_source/plugins/panel/plugin.js +399 -0
  375. data/public/javascripts/ckeditor/_source/plugins/panelbutton/plugin.js +147 -0
  376. data/public/javascripts/ckeditor/_source/plugins/pastefromword/filter/default.js +1170 -0
  377. data/public/javascripts/ckeditor/_source/plugins/pastefromword/plugin.js +122 -0
  378. data/public/javascripts/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +70 -0
  379. data/public/javascripts/ckeditor/_source/plugins/pastetext/plugin.js +145 -0
  380. data/public/javascripts/ckeditor/_source/plugins/popup/plugin.js +64 -0
  381. data/public/javascripts/ckeditor/_source/plugins/preview/plugin.js +108 -0
  382. data/public/javascripts/ckeditor/_source/plugins/print/plugin.js +41 -0
  383. data/public/javascripts/ckeditor/_source/plugins/removeformat/plugin.js +184 -0
  384. data/public/javascripts/ckeditor/_source/plugins/resize/plugin.js +157 -0
  385. data/public/javascripts/ckeditor/_source/plugins/richcombo/plugin.js +370 -0
  386. data/public/javascripts/ckeditor/_source/plugins/save/plugin.js +55 -0
  387. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/options.js +534 -0
  388. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
  389. data/public/javascripts/ckeditor/_source/plugins/scayt/plugin.js +945 -0
  390. data/public/javascripts/ckeditor/_source/plugins/selection/plugin.js +1375 -0
  391. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  392. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  393. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  394. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  395. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  396. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  397. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  398. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  399. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  400. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  401. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  402. data/public/javascripts/ckeditor/_source/plugins/showblocks/plugin.js +155 -0
  403. data/public/javascripts/ckeditor/_source/plugins/showborders/plugin.js +201 -0
  404. data/public/javascripts/ckeditor/_source/plugins/smiley/dialogs/smiley.js +218 -0
  405. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  406. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  407. data/public/javascripts/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  408. data/public/javascripts/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  409. data/public/javascripts/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  410. data/public/javascripts/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  411. data/public/javascripts/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  412. data/public/javascripts/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  413. data/public/javascripts/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  414. data/public/javascripts/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  415. data/public/javascripts/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  416. data/public/javascripts/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  417. data/public/javascripts/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  418. data/public/javascripts/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  419. data/public/javascripts/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  420. data/public/javascripts/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  421. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  422. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  423. data/public/javascripts/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  424. data/public/javascripts/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  425. data/public/javascripts/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  426. data/public/javascripts/ckeditor/_source/plugins/smiley/plugin.js +94 -0
  427. data/public/javascripts/ckeditor/_source/plugins/sourcearea/plugin.js +207 -0
  428. data/public/javascripts/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +409 -0
  429. data/public/javascripts/ckeditor/_source/plugins/specialchar/plugin.js +29 -0
  430. data/public/javascripts/ckeditor/_source/plugins/styles/plugin.js +1479 -0
  431. data/public/javascripts/ckeditor/_source/plugins/styles/styles/default.js +88 -0
  432. data/public/javascripts/ckeditor/_source/plugins/stylescombo/plugin.js +206 -0
  433. data/public/javascripts/ckeditor/_source/plugins/tab/plugin.js +367 -0
  434. data/public/javascripts/ckeditor/_source/plugins/table/dialogs/table.js +672 -0
  435. data/public/javascripts/ckeditor/_source/plugins/table/plugin.js +78 -0
  436. data/public/javascripts/ckeditor/_source/plugins/tableresize/plugin.js +450 -0
  437. data/public/javascripts/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +533 -0
  438. data/public/javascripts/ckeditor/_source/plugins/tabletools/plugin.js +1120 -0
  439. data/public/javascripts/ckeditor/_source/plugins/templates/dialogs/templates.js +233 -0
  440. data/public/javascripts/ckeditor/_source/plugins/templates/plugin.js +99 -0
  441. data/public/javascripts/ckeditor/_source/plugins/templates/templates/default.js +94 -0
  442. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  443. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  444. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  445. data/public/javascripts/ckeditor/_source/plugins/toolbar/plugin.js +481 -0
  446. data/public/javascripts/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -0
  447. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
  448. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/he.js +15 -0
  449. data/public/javascripts/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
  450. data/public/javascripts/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  451. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  452. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  453. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  454. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  455. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
  456. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
  457. data/public/javascripts/ckeditor/_source/plugins/undo/plugin.js +554 -0
  458. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
  459. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  460. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -0
  461. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.js +176 -0
  462. data/public/javascripts/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  463. data/public/javascripts/ckeditor/_source/plugins/wysiwygarea/plugin.js +1146 -0
  464. data/public/javascripts/ckeditor/_source/skins/kama/dialog.css +882 -0
  465. data/public/javascripts/ckeditor/_source/skins/kama/editor.css +25 -0
  466. data/public/javascripts/ckeditor/_source/skins/kama/elementspath.css +73 -0
  467. data/public/javascripts/ckeditor/_source/skins/kama/icons.css +357 -0
  468. data/public/javascripts/ckeditor/_source/skins/kama/icons.png +0 -0
  469. data/public/javascripts/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  470. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  471. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  472. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  473. data/public/javascripts/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  474. data/public/javascripts/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  475. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  476. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  477. data/public/javascripts/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  478. data/public/javascripts/ckeditor/_source/skins/kama/mainui.css +195 -0
  479. data/public/javascripts/ckeditor/_source/skins/kama/menu.css +216 -0
  480. data/public/javascripts/ckeditor/_source/skins/kama/panel.css +217 -0
  481. data/public/javascripts/ckeditor/_source/skins/kama/presets.css +49 -0
  482. data/public/javascripts/ckeditor/_source/skins/kama/reset.css +84 -0
  483. data/public/javascripts/ckeditor/_source/skins/kama/richcombo.css +277 -0
  484. data/public/javascripts/ckeditor/_source/skins/kama/skin.js +268 -0
  485. data/public/javascripts/ckeditor/_source/skins/kama/templates.css +88 -0
  486. data/public/javascripts/ckeditor/_source/skins/kama/toolbar.css +409 -0
  487. data/public/javascripts/ckeditor/_source/skins/office2003/dialog.css +785 -0
  488. data/public/javascripts/ckeditor/_source/skins/office2003/editor.css +25 -0
  489. data/public/javascripts/ckeditor/_source/skins/office2003/elementspath.css +74 -0
  490. data/public/javascripts/ckeditor/_source/skins/office2003/icons.css +354 -0
  491. data/public/javascripts/ckeditor/_source/skins/office2003/icons.png +0 -0
  492. data/public/javascripts/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  493. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  494. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  495. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  496. data/public/javascripts/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  497. data/public/javascripts/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  498. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  499. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  500. data/public/javascripts/ckeditor/_source/skins/office2003/mainui.css +145 -0
  501. data/public/javascripts/ckeditor/_source/skins/office2003/menu.css +213 -0
  502. data/public/javascripts/ckeditor/_source/skins/office2003/panel.css +212 -0
  503. data/public/javascripts/ckeditor/_source/skins/office2003/presets.css +49 -0
  504. data/public/javascripts/ckeditor/_source/skins/office2003/reset.css +84 -0
  505. data/public/javascripts/ckeditor/_source/skins/office2003/richcombo.css +297 -0
  506. data/public/javascripts/ckeditor/_source/skins/office2003/skin.js +81 -0
  507. data/public/javascripts/ckeditor/_source/skins/office2003/templates.css +87 -0
  508. data/public/javascripts/ckeditor/_source/skins/office2003/toolbar.css +470 -0
  509. data/public/javascripts/ckeditor/_source/skins/v2/dialog.css +800 -0
  510. data/public/javascripts/ckeditor/_source/skins/v2/editor.css +25 -0
  511. data/public/javascripts/ckeditor/_source/skins/v2/elementspath.css +74 -0
  512. data/public/javascripts/ckeditor/_source/skins/v2/icons.css +354 -0
  513. data/public/javascripts/ckeditor/_source/skins/v2/icons.png +0 -0
  514. data/public/javascripts/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  515. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  516. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  517. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  518. data/public/javascripts/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  519. data/public/javascripts/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  520. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  521. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  522. data/public/javascripts/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  523. data/public/javascripts/ckeditor/_source/skins/v2/mainui.css +154 -0
  524. data/public/javascripts/ckeditor/_source/skins/v2/menu.css +215 -0
  525. data/public/javascripts/ckeditor/_source/skins/v2/panel.css +212 -0
  526. data/public/javascripts/ckeditor/_source/skins/v2/presets.css +50 -0
  527. data/public/javascripts/ckeditor/_source/skins/v2/reset.css +84 -0
  528. data/public/javascripts/ckeditor/_source/skins/v2/richcombo.css +297 -0
  529. data/public/javascripts/ckeditor/_source/skins/v2/skin.js +77 -0
  530. data/public/javascripts/ckeditor/_source/skins/v2/templates.css +87 -0
  531. data/public/javascripts/ckeditor/_source/skins/v2/toolbar.css +423 -0
  532. data/public/javascripts/ckeditor/_source/themes/default/theme.js +361 -0
  533. data/public/javascripts/ckeditor/adapters/jquery.js +6 -0
  534. data/public/javascripts/ckeditor/ckeditor.js +137 -0
  535. data/public/javascripts/ckeditor/ckeditor.pack +211 -0
  536. data/public/javascripts/ckeditor/ckeditor_basic.js +8 -0
  537. data/public/javascripts/ckeditor/ckeditor_basic_source.js +20 -0
  538. data/public/javascripts/ckeditor/ckeditor_source.js +25 -0
  539. data/public/javascripts/ckeditor/config.js +43 -0
  540. data/public/javascripts/ckeditor/contents.css +39 -0
  541. data/public/javascripts/ckeditor/css/ckfinder.css +299 -0
  542. data/public/javascripts/ckeditor/css/fck_dialog.css +119 -0
  543. data/public/javascripts/ckeditor/css/fck_editor.css +448 -0
  544. data/public/javascripts/ckeditor/css/swfupload.css +94 -0
  545. data/public/javascripts/ckeditor/images/add.gif +0 -0
  546. data/public/javascripts/ckeditor/images/cancelbutton.gif +0 -0
  547. data/public/javascripts/ckeditor/images/ckfnothumb.gif +0 -0
  548. data/public/javascripts/ckeditor/images/doc.gif +0 -0
  549. data/public/javascripts/ckeditor/images/mp3.gif +0 -0
  550. data/public/javascripts/ckeditor/images/pdf.gif +0 -0
  551. data/public/javascripts/ckeditor/images/rar.gif +0 -0
  552. data/public/javascripts/ckeditor/images/refresh.gif +0 -0
  553. data/public/javascripts/ckeditor/images/select_files.png +0 -0
  554. data/public/javascripts/ckeditor/images/spacer.gif +0 -0
  555. data/public/javascripts/ckeditor/images/swf.gif +0 -0
  556. data/public/javascripts/ckeditor/images/toolbar.start.gif +0 -0
  557. data/public/javascripts/ckeditor/images/xls.gif +0 -0
  558. data/public/javascripts/ckeditor/lang/_languages.js +6 -0
  559. data/public/javascripts/ckeditor/lang/_translationstatus.txt +60 -0
  560. data/public/javascripts/ckeditor/lang/af.js +6 -0
  561. data/public/javascripts/ckeditor/lang/ar.js +6 -0
  562. data/public/javascripts/ckeditor/lang/bg.js +6 -0
  563. data/public/javascripts/ckeditor/lang/bn.js +6 -0
  564. data/public/javascripts/ckeditor/lang/bs.js +6 -0
  565. data/public/javascripts/ckeditor/lang/ca.js +6 -0
  566. data/public/javascripts/ckeditor/lang/cs.js +6 -0
  567. data/public/javascripts/ckeditor/lang/cy.js +6 -0
  568. data/public/javascripts/ckeditor/lang/da.js +6 -0
  569. data/public/javascripts/ckeditor/lang/de.js +6 -0
  570. data/public/javascripts/ckeditor/lang/el.js +6 -0
  571. data/public/javascripts/ckeditor/lang/en-au.js +6 -0
  572. data/public/javascripts/ckeditor/lang/en-ca.js +6 -0
  573. data/public/javascripts/ckeditor/lang/en-gb.js +6 -0
  574. data/public/javascripts/ckeditor/lang/en.js +6 -0
  575. data/public/javascripts/ckeditor/lang/eo.js +6 -0
  576. data/public/javascripts/ckeditor/lang/es.js +6 -0
  577. data/public/javascripts/ckeditor/lang/et.js +6 -0
  578. data/public/javascripts/ckeditor/lang/eu.js +6 -0
  579. data/public/javascripts/ckeditor/lang/fa.js +6 -0
  580. data/public/javascripts/ckeditor/lang/fi.js +6 -0
  581. data/public/javascripts/ckeditor/lang/fo.js +6 -0
  582. data/public/javascripts/ckeditor/lang/fr-ca.js +6 -0
  583. data/public/javascripts/ckeditor/lang/fr.js +6 -0
  584. data/public/javascripts/ckeditor/lang/gl.js +6 -0
  585. data/public/javascripts/ckeditor/lang/gu.js +6 -0
  586. data/public/javascripts/ckeditor/lang/he.js +6 -0
  587. data/public/javascripts/ckeditor/lang/hi.js +6 -0
  588. data/public/javascripts/ckeditor/lang/hr.js +6 -0
  589. data/public/javascripts/ckeditor/lang/hu.js +6 -0
  590. data/public/javascripts/ckeditor/lang/is.js +6 -0
  591. data/public/javascripts/ckeditor/lang/it.js +6 -0
  592. data/public/javascripts/ckeditor/lang/ja.js +6 -0
  593. data/public/javascripts/ckeditor/lang/km.js +6 -0
  594. data/public/javascripts/ckeditor/lang/ko.js +6 -0
  595. data/public/javascripts/ckeditor/lang/lt.js +6 -0
  596. data/public/javascripts/ckeditor/lang/lv.js +6 -0
  597. data/public/javascripts/ckeditor/lang/mn.js +6 -0
  598. data/public/javascripts/ckeditor/lang/ms.js +6 -0
  599. data/public/javascripts/ckeditor/lang/nb.js +6 -0
  600. data/public/javascripts/ckeditor/lang/nl.js +6 -0
  601. data/public/javascripts/ckeditor/lang/no.js +6 -0
  602. data/public/javascripts/ckeditor/lang/pl.js +6 -0
  603. data/public/javascripts/ckeditor/lang/pt-br.js +6 -0
  604. data/public/javascripts/ckeditor/lang/pt.js +6 -0
  605. data/public/javascripts/ckeditor/lang/ro.js +6 -0
  606. data/public/javascripts/ckeditor/lang/ru.js +6 -0
  607. data/public/javascripts/ckeditor/lang/sk.js +6 -0
  608. data/public/javascripts/ckeditor/lang/sl.js +6 -0
  609. data/public/javascripts/ckeditor/lang/sr-latn.js +6 -0
  610. data/public/javascripts/ckeditor/lang/sr.js +6 -0
  611. data/public/javascripts/ckeditor/lang/sv.js +6 -0
  612. data/public/javascripts/ckeditor/lang/th.js +6 -0
  613. data/public/javascripts/ckeditor/lang/tr.js +6 -0
  614. data/public/javascripts/ckeditor/lang/uk.js +6 -0
  615. data/public/javascripts/ckeditor/lang/vi.js +6 -0
  616. data/public/javascripts/ckeditor/lang/zh-cn.js +6 -0
  617. data/public/javascripts/ckeditor/lang/zh.js +6 -0
  618. data/public/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  619. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  620. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  621. data/public/javascripts/ckeditor/plugins/about/dialogs/about.js +6 -0
  622. data/public/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  623. data/public/javascripts/ckeditor/plugins/ajax_save/plugin.js +1 -0
  624. data/public/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +1 -0
  625. data/public/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
  626. data/public/javascripts/ckeditor/plugins/attachment/lang/en.js +10 -0
  627. data/public/javascripts/ckeditor/plugins/attachment/lang/ru.js +10 -0
  628. data/public/javascripts/ckeditor/plugins/attachment/lang/uk.js +10 -0
  629. data/public/javascripts/ckeditor/plugins/attachment/plugin.js +1 -0
  630. data/public/javascripts/ckeditor/plugins/autogrow/plugin.js +6 -0
  631. data/public/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  632. data/public/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  633. data/public/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  634. data/public/javascripts/ckeditor/plugins/div/dialogs/div.js +8 -0
  635. data/public/javascripts/ckeditor/plugins/embed/dialogs/embed.js +1 -0
  636. data/public/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
  637. data/public/javascripts/ckeditor/plugins/embed/lang/en.js +9 -0
  638. data/public/javascripts/ckeditor/plugins/embed/lang/ru.js +9 -0
  639. data/public/javascripts/ckeditor/plugins/embed/lang/uk.js +9 -0
  640. data/public/javascripts/ckeditor/plugins/embed/plugin.js +1 -0
  641. data/public/javascripts/ckeditor/plugins/find/dialogs/find.js +9 -0
  642. data/public/javascripts/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  643. data/public/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  644. data/public/javascripts/ckeditor/plugins/forms/dialogs/button.js +6 -0
  645. data/public/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  646. data/public/javascripts/ckeditor/plugins/forms/dialogs/form.js +6 -0
  647. data/public/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  648. data/public/javascripts/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  649. data/public/javascripts/ckeditor/plugins/forms/dialogs/select.js +9 -0
  650. data/public/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  651. data/public/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +7 -0
  652. data/public/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  653. data/public/javascripts/ckeditor/plugins/iframedialog/plugin.js +6 -0
  654. data/public/javascripts/ckeditor/plugins/image/dialogs/image.js +13 -0
  655. data/public/javascripts/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  656. data/public/javascripts/ckeditor/plugins/link/dialogs/link.js +11 -0
  657. data/public/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  658. data/public/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +6 -0
  659. data/public/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  660. data/public/javascripts/ckeditor/plugins/pastefromword/filter/default.js +10 -0
  661. data/public/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  662. data/public/javascripts/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  663. data/public/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  664. data/public/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  665. data/public/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  666. data/public/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  667. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  668. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  669. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  670. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  671. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  672. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  673. data/public/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  674. data/public/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  675. data/public/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  676. data/public/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  677. data/public/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  678. data/public/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  679. data/public/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  680. data/public/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  681. data/public/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  682. data/public/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  683. data/public/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  684. data/public/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  685. data/public/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  686. data/public/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  687. data/public/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  688. data/public/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  689. data/public/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  690. data/public/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  691. data/public/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  692. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  693. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  694. data/public/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  695. data/public/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  696. data/public/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  697. data/public/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  698. data/public/javascripts/ckeditor/plugins/styles/styles/default.js +6 -0
  699. data/public/javascripts/ckeditor/plugins/table/dialogs/table.js +9 -0
  700. data/public/javascripts/ckeditor/plugins/tableresize/plugin.js +7 -0
  701. data/public/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  702. data/public/javascripts/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  703. data/public/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
  704. data/public/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  705. data/public/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  706. data/public/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  707. data/public/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  708. data/public/javascripts/ckeditor/plugins/uicolor/lang/en.js +6 -0
  709. data/public/javascripts/ckeditor/plugins/uicolor/lang/he.js +6 -0
  710. data/public/javascripts/ckeditor/plugins/uicolor/plugin.js +6 -0
  711. data/public/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  712. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  713. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  714. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  715. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  716. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  717. data/public/javascripts/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  718. data/public/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  719. data/public/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  720. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  721. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  722. data/public/javascripts/ckeditor/skins/kama/dialog.css +9 -0
  723. data/public/javascripts/ckeditor/skins/kama/editor.css +12 -0
  724. data/public/javascripts/ckeditor/skins/kama/icons.png +0 -0
  725. data/public/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  726. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  727. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  728. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  729. data/public/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  730. data/public/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  731. data/public/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  732. data/public/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  733. data/public/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  734. data/public/javascripts/ckeditor/skins/kama/skin.js +7 -0
  735. data/public/javascripts/ckeditor/skins/kama/templates.css +6 -0
  736. data/public/javascripts/ckeditor/skins/office2003/dialog.css +9 -0
  737. data/public/javascripts/ckeditor/skins/office2003/editor.css +13 -0
  738. data/public/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  739. data/public/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  740. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  741. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  742. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  743. data/public/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  744. data/public/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  745. data/public/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  746. data/public/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  747. data/public/javascripts/ckeditor/skins/office2003/skin.js +6 -0
  748. data/public/javascripts/ckeditor/skins/office2003/templates.css +6 -0
  749. data/public/javascripts/ckeditor/skins/v2/dialog.css +9 -0
  750. data/public/javascripts/ckeditor/skins/v2/editor.css +12 -0
  751. data/public/javascripts/ckeditor/skins/v2/icons.png +0 -0
  752. data/public/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  753. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  754. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  755. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  756. data/public/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  757. data/public/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  758. data/public/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  759. data/public/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  760. data/public/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  761. data/public/javascripts/ckeditor/skins/v2/skin.js +6 -0
  762. data/public/javascripts/ckeditor/skins/v2/templates.css +6 -0
  763. data/public/javascripts/ckeditor/swfupload/fileprogress.js +275 -0
  764. data/public/javascripts/ckeditor/swfupload/handlers.js +170 -0
  765. data/public/javascripts/ckeditor/swfupload/mootools-1.2.3-core-yc.js +356 -0
  766. data/public/javascripts/ckeditor/swfupload/querystring.js +40 -0
  767. data/public/javascripts/ckeditor/swfupload/swfupload.js +1 -0
  768. data/public/javascripts/ckeditor/swfupload/swfupload.queue.js +1 -0
  769. data/public/javascripts/ckeditor/swfupload/swfupload.swf +0 -0
  770. data/public/javascripts/ckeditor/swfupload/swfupload.swfobject.js +111 -0
  771. data/public/javascripts/ckeditor/themes/default/theme.js +8 -0
  772. data/public/javascripts/controls.js +965 -0
  773. data/public/javascripts/dragdrop.js +974 -0
  774. data/public/javascripts/effects.js +1123 -0
  775. data/public/javascripts/prototype.js +6001 -0
  776. data/public/javascripts/rails.js +175 -0
  777. data/public/robots.txt +5 -0
  778. data/public/stylesheets/.gitkeep +0 -0
  779. data/public/stylesheets/application.css +688 -0
  780. data/public/stylesheets/core.css +1147 -0
  781. data/public/stylesheets/core_ie.css +52 -0
  782. data/public/stylesheets/csshover3.htc +14 -0
  783. data/script/cucumber +10 -0
  784. data/script/rails +6 -0
  785. data/spec/blueprints.rb +14 -0
  786. data/spec/controllers/admin/managed_contents_controller_spec.rb +57 -0
  787. data/spec/controllers/admin/publications_controller_spec.rb +62 -0
  788. data/spec/controllers/managed_contents_controller_spec.rb +18 -0
  789. data/spec/controllers/publications_controller_spec.rb +17 -0
  790. data/spec/editorial_logic_spec.rb +42 -0
  791. data/spec/models/managed_content_spec.rb +111 -0
  792. data/spec/models/publication_spec.rb +97 -0
  793. data/spec/models/section_spec.rb +47 -0
  794. data/spec/spec_helper.rb +13 -0
  795. data/spec/support/be_valid_asset.rb +5 -0
  796. data/tasks/editorial_logic.rake +30 -0
  797. metadata +1009 -0
@@ -0,0 +1,96 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.dom.document} class, which
8
+ * represents a DOM document.
9
+ */
10
+
11
+ /**
12
+ * Represents a DOM window.
13
+ * @constructor
14
+ * @augments CKEDITOR.dom.domObject
15
+ * @param {Object} domWindow A native DOM window.
16
+ * @example
17
+ * var document = new CKEDITOR.dom.window( window );
18
+ */
19
+ CKEDITOR.dom.window = function( domWindow )
20
+ {
21
+ CKEDITOR.dom.domObject.call( this, domWindow );
22
+ };
23
+
24
+ CKEDITOR.dom.window.prototype = new CKEDITOR.dom.domObject();
25
+
26
+ CKEDITOR.tools.extend( CKEDITOR.dom.window.prototype,
27
+ /** @lends CKEDITOR.dom.window.prototype */
28
+ {
29
+ /**
30
+ * Moves the selection focus to this window.
31
+ * @function
32
+ * @example
33
+ * var win = new CKEDITOR.dom.window( window );
34
+ * <b>win.focus()</b>;
35
+ */
36
+ focus : function()
37
+ {
38
+ // Webkit is sometimes failed to focus iframe, blur it first(#3835).
39
+ if ( CKEDITOR.env.webkit && this.$.parent )
40
+ this.$.parent.focus();
41
+ this.$.focus();
42
+ },
43
+
44
+ /**
45
+ * Gets the width and height of this window's viewable area.
46
+ * @function
47
+ * @returns {Object} An object with the "width" and "height"
48
+ * properties containing the size.
49
+ * @example
50
+ * var win = new CKEDITOR.dom.window( window );
51
+ * var size = <b>win.getViewPaneSize()</b>;
52
+ * alert( size.width );
53
+ * alert( size.height );
54
+ */
55
+ getViewPaneSize : function()
56
+ {
57
+ var doc = this.$.document,
58
+ stdMode = doc.compatMode == 'CSS1Compat';
59
+ return {
60
+ width : ( stdMode ? doc.documentElement.clientWidth : doc.body.clientWidth ) || 0,
61
+ height : ( stdMode ? doc.documentElement.clientHeight : doc.body.clientHeight ) || 0
62
+ };
63
+ },
64
+
65
+ /**
66
+ * Gets the current position of the window's scroll.
67
+ * @function
68
+ * @returns {Object} An object with the "x" and "y" properties
69
+ * containing the scroll position.
70
+ * @example
71
+ * var win = new CKEDITOR.dom.window( window );
72
+ * var pos = <b>win.getScrollPosition()</b>;
73
+ * alert( pos.x );
74
+ * alert( pos.y );
75
+ */
76
+ getScrollPosition : function()
77
+ {
78
+ var $ = this.$;
79
+
80
+ if ( 'pageXOffset' in $ )
81
+ {
82
+ return {
83
+ x : $.pageXOffset || 0,
84
+ y : $.pageYOffset || 0
85
+ };
86
+ }
87
+ else
88
+ {
89
+ var doc = $.document;
90
+ return {
91
+ x : doc.documentElement.scrollLeft || doc.body.scrollLeft || 0,
92
+ y : doc.documentElement.scrollTop || doc.body.scrollTop || 0
93
+ };
94
+ }
95
+ }
96
+ });
@@ -0,0 +1,238 @@
1
+ /*
2
+ Copyright (c) 2003-2010, 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.dtd} object, which holds the DTD
8
+ * mapping for XHTML 1.0 Transitional. This file was automatically
9
+ * generated from the file: xhtml1-transitional.dtd.
10
+ */
11
+
12
+ /**
13
+ * @namespace Holds and object representation of the HTML DTD to be used by the
14
+ * editor in its internal operations.<br />
15
+ * <br />
16
+ * Each element in the DTD is represented by a property in this object. Each
17
+ * property contains the list of elements that can be contained by the element.
18
+ * Text is represented by the "#" property.<br />
19
+ * <br />
20
+ * Several special grouping properties are also available. Their names start
21
+ * with the "$" character.
22
+ * @example
23
+ * // Check if "div" can be contained in a "p" element.
24
+ * alert( !!CKEDITOR.dtd[ 'p' ][ 'div' ] ); "false"
25
+ * @example
26
+ * // Check if "p" can be contained in a "div" element.
27
+ * alert( !!CKEDITOR.dtd[ 'div' ][ 'p' ] ); "true"
28
+ * @example
29
+ * // Check if "p" is a block element.
30
+ * alert( !!CKEDITOR.dtd.$block[ 'p' ] ); "true"
31
+ */
32
+ CKEDITOR.dtd = (function()
33
+ {
34
+ var X = CKEDITOR.tools.extend,
35
+
36
+ A = {isindex:1,fieldset:1},
37
+ B = {input:1,button:1,select:1,textarea:1,label:1},
38
+ C = X({a:1},B),
39
+ D = X({iframe:1},C),
40
+ E = {hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},
41
+ F = {ins:1,del:1,script:1,style:1},
42
+ G = X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F),
43
+ H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G),
44
+ I = X({p:1},H),
45
+ J = X({iframe:1},H,B),
46
+ K = {img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1},
47
+
48
+ L = X({a:1},J),
49
+ M = {tr:1},
50
+ N = {'#':1},
51
+ O = X({param:1},K),
52
+ P = X({form:1},A,D,E,I),
53
+ Q = {li:1},
54
+ R = {style:1,script:1},
55
+ S = {base:1,link:1,meta:1,title:1},
56
+ T = X(S,R),
57
+ U = {head:1,body:1},
58
+ V = {html:1};
59
+
60
+ var block = {address:1,blockquote:1,center:1,dir:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,menu:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};
61
+
62
+ return /** @lends CKEDITOR.dtd */ {
63
+
64
+ // The "$" items have been added manually.
65
+
66
+ // List of elements living outside body.
67
+ $nonBodyContent: X(V,U,S),
68
+
69
+ /**
70
+ * List of block elements, like "p" or "div".
71
+ * @type Object
72
+ * @example
73
+ */
74
+ $block : block,
75
+
76
+ /**
77
+ * List of block limit elements.
78
+ * @type Object
79
+ * @example
80
+ */
81
+ $blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 },
82
+
83
+ /**
84
+ * List of inline (&lt;span&gt; like) elements.
85
+ */
86
+ $inline : L, // Just like span.
87
+
88
+ /**
89
+ * list of elements that can be children at &lt;body&gt;.
90
+ */
91
+ $body : X({script:1,style:1}, block),
92
+
93
+ $cdata : {script:1,style:1},
94
+
95
+ /**
96
+ * List of empty (self-closing) elements, like "br" or "img".
97
+ * @type Object
98
+ * @example
99
+ */
100
+ $empty : {area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1},
101
+
102
+ /**
103
+ * List of list item elements, like "li" or "dd".
104
+ * @type Object
105
+ * @example
106
+ */
107
+ $listItem : {dd:1,dt:1,li:1},
108
+
109
+ /**
110
+ * List of list root elements.
111
+ * @type Object
112
+ * @example
113
+ */
114
+ $list: { ul:1,ol:1,dl:1},
115
+
116
+ /**
117
+ * Elements that accept text nodes, but are not possible to edit into
118
+ * the browser.
119
+ * @type Object
120
+ * @example
121
+ */
122
+ $nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},
123
+
124
+ /**
125
+ * List of elements that can be ignored if empty, like "b" or "span".
126
+ * @type Object
127
+ * @example
128
+ */
129
+ $removeEmpty : {abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1},
130
+
131
+ /**
132
+ * List of elements that have tabindex set to zero by default.
133
+ * @type Object
134
+ * @example
135
+ */
136
+ $tabIndex : {a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},
137
+
138
+ /**
139
+ * List of elements used inside the "table" element, like "tbody" or "td".
140
+ * @type Object
141
+ * @example
142
+ */
143
+ $tableContent : {caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},
144
+
145
+ html: U,
146
+ head: T,
147
+ style: N,
148
+ script: N,
149
+ body: P,
150
+ base: {},
151
+ link: {},
152
+ meta: {},
153
+ title: N,
154
+ col : {},
155
+ tr : {td:1,th:1},
156
+ img : {},
157
+ colgroup : {col:1},
158
+ noscript : P,
159
+ td : P,
160
+ br : {},
161
+ th : P,
162
+ center : P,
163
+ kbd : L,
164
+ button : X(I,E),
165
+ basefont : {},
166
+ h5 : L,
167
+ h4 : L,
168
+ samp : L,
169
+ h6 : L,
170
+ ol : Q,
171
+ h1 : L,
172
+ h3 : L,
173
+ option : N,
174
+ h2 : L,
175
+ form : X(A,D,E,I),
176
+ select : {optgroup:1,option:1},
177
+ font : L,
178
+ ins : L,
179
+ menu : Q,
180
+ abbr : L,
181
+ label : L,
182
+ table : {thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},
183
+ code : L,
184
+ script : N,
185
+ tfoot : M,
186
+ cite : L,
187
+ li : P,
188
+ input : {},
189
+ iframe : P,
190
+ strong : L,
191
+ textarea : N,
192
+ noframes : P,
193
+ big : L,
194
+ small : L,
195
+ span : L,
196
+ hr : {},
197
+ dt : L,
198
+ sub : L,
199
+ optgroup : {option:1},
200
+ param : {},
201
+ bdo : L,
202
+ 'var' : L,
203
+ div : P,
204
+ object : O,
205
+ sup : L,
206
+ dd : P,
207
+ strike : L,
208
+ area : {},
209
+ dir : Q,
210
+ map : X({area:1,form:1,p:1},A,F,E),
211
+ applet : O,
212
+ dl : {dt:1,dd:1},
213
+ del : L,
214
+ isindex : {},
215
+ fieldset : X({legend:1},K),
216
+ thead : M,
217
+ ul : Q,
218
+ acronym : L,
219
+ b : L,
220
+ a : J,
221
+ blockquote : P,
222
+ caption : L,
223
+ i : L,
224
+ u : L,
225
+ tbody : M,
226
+ s : L,
227
+ address : X(D,I),
228
+ tt : L,
229
+ legend : L,
230
+ q : L,
231
+ pre : X(G,C),
232
+ p : L,
233
+ em : L,
234
+ dfn : L
235
+ };
236
+ })();
237
+
238
+ // PACKAGER_RENAME( CKEDITOR.dtd )
@@ -0,0 +1,924 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.editor} class, which represents an
8
+ * editor instance.
9
+ */
10
+
11
+ (function()
12
+ {
13
+ // The counter for automatic instance names.
14
+ var nameCounter = 0;
15
+
16
+ var getNewName = function()
17
+ {
18
+ var name = 'editor' + ( ++nameCounter );
19
+ return ( CKEDITOR.instances && CKEDITOR.instances[ name ] ) ? getNewName() : name;
20
+ };
21
+
22
+ // ##### START: Config Privates
23
+
24
+ // These function loads custom configuration files and cache the
25
+ // CKEDITOR.editorConfig functions defined on them, so there is no need to
26
+ // download them more than once for several instances.
27
+ var loadConfigLoaded = {};
28
+ var loadConfig = function( editor )
29
+ {
30
+ var customConfig = editor.config.customConfig;
31
+
32
+ // Check if there is a custom config to load.
33
+ if ( !customConfig )
34
+ return false;
35
+
36
+ customConfig = CKEDITOR.getUrl( customConfig );
37
+
38
+ var loadedConfig = loadConfigLoaded[ customConfig ] || ( loadConfigLoaded[ customConfig ] = {} );
39
+
40
+ // If the custom config has already been downloaded, reuse it.
41
+ if ( loadedConfig.fn )
42
+ {
43
+ // Call the cached CKEDITOR.editorConfig defined in the custom
44
+ // config file for the editor instance depending on it.
45
+ loadedConfig.fn.call( editor, editor.config );
46
+
47
+ // If there is no other customConfig in the chain, fire the
48
+ // "configLoaded" event.
49
+ if ( CKEDITOR.getUrl( editor.config.customConfig ) == customConfig || !loadConfig( editor ) )
50
+ editor.fireOnce( 'customConfigLoaded' );
51
+ }
52
+ else
53
+ {
54
+ // Load the custom configuration file.
55
+ CKEDITOR.scriptLoader.load( customConfig, function()
56
+ {
57
+ // If the CKEDITOR.editorConfig function has been properly
58
+ // defined in the custom configuration file, cache it.
59
+ if ( CKEDITOR.editorConfig )
60
+ loadedConfig.fn = CKEDITOR.editorConfig;
61
+ else
62
+ loadedConfig.fn = function(){};
63
+
64
+ // Call the load config again. This time the custom
65
+ // config is already cached and so it will get loaded.
66
+ loadConfig( editor );
67
+ });
68
+ }
69
+
70
+ return true;
71
+ };
72
+
73
+ var initConfig = function( editor, instanceConfig )
74
+ {
75
+ // Setup the lister for the "customConfigLoaded" event.
76
+ editor.on( 'customConfigLoaded', function()
77
+ {
78
+ if ( instanceConfig )
79
+ {
80
+ // Register the events that may have been set at the instance
81
+ // configuration object.
82
+ if ( instanceConfig.on )
83
+ {
84
+ for ( var eventName in instanceConfig.on )
85
+ {
86
+ editor.on( eventName, instanceConfig.on[ eventName ] );
87
+ }
88
+ }
89
+
90
+ // Overwrite the settings from the in-page config.
91
+ CKEDITOR.tools.extend( editor.config, instanceConfig, true );
92
+
93
+ delete editor.config.on;
94
+ }
95
+
96
+ onConfigLoaded( editor );
97
+ });
98
+
99
+ // The instance config may override the customConfig setting to avoid
100
+ // loading the default ~/config.js file.
101
+ if ( instanceConfig && instanceConfig.customConfig != undefined )
102
+ editor.config.customConfig = instanceConfig.customConfig;
103
+
104
+ // Load configs from the custom configuration files.
105
+ if ( !loadConfig( editor ) )
106
+ editor.fireOnce( 'customConfigLoaded' );
107
+ };
108
+
109
+ // ##### END: Config Privates
110
+
111
+ var onConfigLoaded = function( editor )
112
+ {
113
+ // Set config related properties.
114
+
115
+ var skin = editor.config.skin.split( ',' ),
116
+ skinName = skin[ 0 ],
117
+ skinPath = CKEDITOR.getUrl( skin[ 1 ] || (
118
+ '_source/' + // @Packager.RemoveLine
119
+ 'skins/' + skinName + '/' ) );
120
+
121
+ /**
122
+ * The name of the skin used by this editor instance. The skin name can
123
+ * be set though the {@link CKEDITOR.config.skin} setting.
124
+ * @name CKEDITOR.editor.prototype.skinName
125
+ * @type String
126
+ * @example
127
+ * alert( editor.skinName ); // "kama" (e.g.)
128
+ */
129
+ editor.skinName = skinName;
130
+
131
+ /**
132
+ * The full URL of the skin directory.
133
+ * @name CKEDITOR.editor.prototype.skinPath
134
+ * @type String
135
+ * @example
136
+ * alert( editor.skinPath ); // "http://example.com/ckeditor/skins/kama/" (e.g.)
137
+ */
138
+ editor.skinPath = skinPath;
139
+
140
+ /**
141
+ * The CSS class name used for skin identification purposes.
142
+ * @name CKEDITOR.editor.prototype.skinClass
143
+ * @type String
144
+ * @example
145
+ * alert( editor.skinClass ); // "cke_skin_kama" (e.g.)
146
+ */
147
+ editor.skinClass = 'cke_skin_' + skinName;
148
+
149
+ /**
150
+ * The <a href="http://en.wikipedia.org/wiki/Tabbing_navigation">tabbing
151
+ * navigation</a> order that has been calculated for this editor
152
+ * instance. This can be set by the {@link CKEDITOR.config.tabIndex}
153
+ * setting or taken from the "tabindex" attribute of the
154
+ * {@link #element} associated to the editor.
155
+ * @name CKEDITOR.editor.prototype.tabIndex
156
+ * @type Number
157
+ * @default 0 (zero)
158
+ * @example
159
+ * alert( editor.tabIndex ); // "0" (e.g.)
160
+ */
161
+ editor.tabIndex = editor.config.tabIndex || editor.element.getAttribute( 'tabindex' ) || 0;
162
+
163
+ // Fire the "configLoaded" event.
164
+ editor.fireOnce( 'configLoaded' );
165
+
166
+ // Load language file.
167
+ loadSkin( editor );
168
+ };
169
+
170
+ var loadLang = function( editor )
171
+ {
172
+ CKEDITOR.lang.load( editor.config.language, editor.config.defaultLanguage, function( languageCode, lang )
173
+ {
174
+ /**
175
+ * The code for the language resources that have been loaded
176
+ * for the user internface elements of this editor instance.
177
+ * @name CKEDITOR.editor.prototype.langCode
178
+ * @type String
179
+ * @example
180
+ * alert( editor.langCode ); // "en" (e.g.)
181
+ */
182
+ editor.langCode = languageCode;
183
+
184
+ /**
185
+ * An object holding all language strings used by the editor
186
+ * interface.
187
+ * @name CKEDITOR.editor.prototype.lang
188
+ * @type CKEDITOR.lang
189
+ * @example
190
+ * alert( editor.lang.bold ); // "Negrito" (e.g. if language is Portuguese)
191
+ */
192
+ // As we'll be adding plugin specific entries that could come
193
+ // from different language code files, we need a copy of lang,
194
+ // not a direct reference to it.
195
+ editor.lang = CKEDITOR.tools.prototypedCopy( lang );
196
+
197
+ // We're not able to support RTL in Firefox 2 at this time.
198
+ if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 && editor.lang.dir == 'rtl' )
199
+ editor.lang.dir = 'ltr';
200
+
201
+ var config = editor.config;
202
+ config.contentsLangDirection == 'ui' && ( config.contentsLangDirection = editor.lang.dir );
203
+
204
+ loadPlugins( editor );
205
+ });
206
+ };
207
+
208
+ var loadPlugins = function( editor )
209
+ {
210
+ var config = editor.config,
211
+ plugins = config.plugins,
212
+ extraPlugins = config.extraPlugins,
213
+ removePlugins = config.removePlugins;
214
+
215
+ if ( extraPlugins )
216
+ {
217
+ // Remove them first to avoid duplications.
218
+ var removeRegex = new RegExp( '(?:^|,)(?:' + extraPlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
219
+ plugins = plugins.replace( removeRegex, '' );
220
+
221
+ plugins += ',' + extraPlugins;
222
+ }
223
+
224
+ if ( removePlugins )
225
+ {
226
+ removeRegex = new RegExp( '(?:^|,)(?:' + removePlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
227
+ plugins = plugins.replace( removeRegex, '' );
228
+ }
229
+
230
+ // Load all plugins defined in the "plugins" setting.
231
+ CKEDITOR.plugins.load( plugins.split( ',' ), function( plugins )
232
+ {
233
+ // The list of plugins.
234
+ var pluginsArray = [];
235
+
236
+ // The language code to get loaded for each plugin. Null
237
+ // entries will be appended for plugins with no language files.
238
+ var languageCodes = [];
239
+
240
+ // The list of URLs to language files.
241
+ var languageFiles = [];
242
+
243
+ /**
244
+ * And object holding references to all plugins used by this
245
+ * editor istance.
246
+ * @name CKEDITOR.editor.prototype.plugins
247
+ * @type Object
248
+ * @example
249
+ * alert( editor.plugins.dialog.path ); // "http://example.com/ckeditor/plugins/dialog/" (e.g.)
250
+ */
251
+ editor.plugins = plugins;
252
+
253
+ // Loop through all plugins, to build the list of language
254
+ // files to get loaded.
255
+ for ( var pluginName in plugins )
256
+ {
257
+ var plugin = plugins[ pluginName ],
258
+ pluginLangs = plugin.lang,
259
+ pluginPath = CKEDITOR.plugins.getPath( pluginName ),
260
+ lang = null;
261
+
262
+ // Set the plugin path in the plugin.
263
+ plugin.path = pluginPath;
264
+
265
+ // If the plugin has "lang".
266
+ if ( pluginLangs )
267
+ {
268
+ // Resolve the plugin language. If the current language
269
+ // is not available, get the first one (default one).
270
+ lang = ( CKEDITOR.tools.indexOf( pluginLangs, editor.langCode ) >= 0 ? editor.langCode : pluginLangs[ 0 ] );
271
+
272
+ if ( !plugin.lang[ lang ] )
273
+ {
274
+ // Put the language file URL into the list of files to
275
+ // get downloaded.
276
+ languageFiles.push( CKEDITOR.getUrl( pluginPath + 'lang/' + lang + '.js' ) );
277
+ }
278
+ else
279
+ {
280
+ CKEDITOR.tools.extend( editor.lang, plugin.lang[ lang ] );
281
+ lang = null;
282
+ }
283
+ }
284
+
285
+ // Save the language code, so we know later which
286
+ // language has been resolved to this plugin.
287
+ languageCodes.push( lang );
288
+
289
+ pluginsArray.push( plugin );
290
+ }
291
+
292
+ // Load all plugin specific language files in a row.
293
+ CKEDITOR.scriptLoader.load( languageFiles, function()
294
+ {
295
+ // Initialize all plugins that have the "beforeInit" and "init" methods defined.
296
+ var methods = [ 'beforeInit', 'init', 'afterInit' ];
297
+ for ( var m = 0 ; m < methods.length ; m++ )
298
+ {
299
+ for ( var i = 0 ; i < pluginsArray.length ; i++ )
300
+ {
301
+ var plugin = pluginsArray[ i ];
302
+
303
+ // Uses the first loop to update the language entries also.
304
+ if ( m === 0 && languageCodes[ i ] && plugin.lang )
305
+ CKEDITOR.tools.extend( editor.lang, plugin.lang[ languageCodes[ i ] ] );
306
+
307
+ // Call the plugin method (beforeInit and init).
308
+ if ( plugin[ methods[ m ] ] )
309
+ plugin[ methods[ m ] ]( editor );
310
+ }
311
+ }
312
+
313
+ // Load the editor skin.
314
+ editor.fire( 'pluginsLoaded' );
315
+ loadTheme( editor );
316
+ });
317
+ });
318
+ };
319
+
320
+ var loadSkin = function( editor )
321
+ {
322
+ CKEDITOR.skins.load( editor, 'editor', function()
323
+ {
324
+ loadLang( editor );
325
+ });
326
+ };
327
+
328
+ var loadTheme = function( editor )
329
+ {
330
+ var theme = editor.config.theme;
331
+ CKEDITOR.themes.load( theme, function()
332
+ {
333
+ /**
334
+ * The theme used by this editor instance.
335
+ * @name CKEDITOR.editor.prototype.theme
336
+ * @type CKEDITOR.theme
337
+ * @example
338
+ * alert( editor.theme ); "http://example.com/ckeditor/themes/default/" (e.g.)
339
+ */
340
+ var editorTheme = editor.theme = CKEDITOR.themes.get( theme );
341
+ editorTheme.path = CKEDITOR.themes.getPath( theme );
342
+ editorTheme.build( editor );
343
+
344
+ if ( editor.config.autoUpdateElement )
345
+ attachToForm( editor );
346
+ });
347
+ };
348
+
349
+ var attachToForm = function( editor )
350
+ {
351
+ var element = editor.element;
352
+
353
+ // If are replacing a textarea, we must
354
+ if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE && element.is( 'textarea' ) )
355
+ {
356
+ var form = element.$.form && new CKEDITOR.dom.element( element.$.form );
357
+ if ( form )
358
+ {
359
+ function onSubmit()
360
+ {
361
+ editor.updateElement();
362
+ }
363
+ form.on( 'submit',onSubmit );
364
+
365
+ // Setup the submit function because it doesn't fire the
366
+ // "submit" event.
367
+ if ( !form.$.submit.nodeName )
368
+ {
369
+ form.$.submit = CKEDITOR.tools.override( form.$.submit, function( originalSubmit )
370
+ {
371
+ return function()
372
+ {
373
+ editor.updateElement();
374
+
375
+ // For IE, the DOM submit function is not a
376
+ // function, so we need thid check.
377
+ if ( originalSubmit.apply )
378
+ originalSubmit.apply( this, arguments );
379
+ else
380
+ originalSubmit();
381
+ };
382
+ });
383
+ }
384
+
385
+ // Remove 'submit' events registered on form element before destroying.(#3988)
386
+ editor.on( 'destroy', function()
387
+ {
388
+ form.removeListener( 'submit', onSubmit );
389
+ } );
390
+ }
391
+ }
392
+ };
393
+
394
+ function updateCommandsMode()
395
+ {
396
+ var command,
397
+ commands = this._.commands,
398
+ mode = this.mode;
399
+
400
+ for ( var name in commands )
401
+ {
402
+ command = commands[ name ];
403
+ command[ command.startDisabled ? 'disable' : command.modes[ mode ] ? 'enable' : 'disable' ]();
404
+ }
405
+ }
406
+
407
+ /**
408
+ * Initializes the editor instance. This function is called by the editor
409
+ * contructor (editor_basic.js).
410
+ * @private
411
+ */
412
+ CKEDITOR.editor.prototype._init = function()
413
+ {
414
+ // Get the properties that have been saved in the editor_base
415
+ // implementation.
416
+ var element = CKEDITOR.dom.element.get( this._.element ),
417
+ instanceConfig = this._.instanceConfig;
418
+ delete this._.element;
419
+ delete this._.instanceConfig;
420
+
421
+ this._.commands = {};
422
+ this._.styles = [];
423
+
424
+ /**
425
+ * The DOM element that has been replaced by this editor instance. This
426
+ * element holds the editor data on load and post.
427
+ * @name CKEDITOR.editor.prototype.element
428
+ * @type CKEDITOR.dom.element
429
+ * @example
430
+ * var editor = CKEDITOR.instances.editor1;
431
+ * alert( <b>editor.element</b>.getName() ); "textarea"
432
+ */
433
+ this.element = element;
434
+
435
+ /**
436
+ * The editor instance name. It hay be the replaced element id, name or
437
+ * a default name using a progressive counter (editor1, editor2, ...).
438
+ * @name CKEDITOR.editor.prototype.name
439
+ * @type String
440
+ * @example
441
+ * var editor = CKEDITOR.instances.editor1;
442
+ * alert( <b>editor.name</b> ); "editor1"
443
+ */
444
+ this.name = ( element && ( this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
445
+ && ( element.getId() || element.getNameAtt() ) )
446
+ || getNewName();
447
+
448
+ if ( this.name in CKEDITOR.instances )
449
+ throw '[CKEDITOR.editor] The instance "' + this.name + '" already exists.';
450
+
451
+ /**
452
+ * A unique random string assigned to each editor instance in the page.
453
+ * @name CKEDITOR.editor.prototype.id
454
+ * @type String
455
+ */
456
+ this.id = CKEDITOR.tools.getNextId();
457
+
458
+ /**
459
+ * The configurations for this editor instance. It inherits all
460
+ * settings defined in (@link CKEDITOR.config}, combined with settings
461
+ * loaded from custom configuration files and those defined inline in
462
+ * the page when creating the editor.
463
+ * @name CKEDITOR.editor.prototype.config
464
+ * @type Object
465
+ * @example
466
+ * var editor = CKEDITOR.instances.editor1;
467
+ * alert( <b>editor.config.theme</b> ); "default" e.g.
468
+ */
469
+ this.config = CKEDITOR.tools.prototypedCopy( CKEDITOR.config );
470
+
471
+ /**
472
+ * Namespace containing UI features related to this editor instance.
473
+ * @name CKEDITOR.editor.prototype.ui
474
+ * @type CKEDITOR.ui
475
+ * @example
476
+ */
477
+ this.ui = new CKEDITOR.ui( this );
478
+
479
+ /**
480
+ * Controls the focus state of this editor instance. This property
481
+ * is rarely used for normal API operations. It is mainly
482
+ * destinated to developer adding UI elements to the editor interface.
483
+ * @name CKEDITOR.editor.prototype.focusManager
484
+ * @type CKEDITOR.focusManager
485
+ * @example
486
+ */
487
+ this.focusManager = new CKEDITOR.focusManager( this );
488
+
489
+ CKEDITOR.fire( 'instanceCreated', null, this );
490
+
491
+ this.on( 'mode', updateCommandsMode, null, null, 1 );
492
+
493
+ initConfig( this, instanceConfig );
494
+ };
495
+ })();
496
+
497
+ CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
498
+ /** @lends CKEDITOR.editor.prototype */
499
+ {
500
+ /**
501
+ * Adds a command definition to the editor instance. Commands added with
502
+ * this function can be later executed with {@link #execCommand}.
503
+ * @param {String} commandName The indentifier name of the command.
504
+ * @param {CKEDITOR.commandDefinition} commandDefinition The command definition.
505
+ * @example
506
+ * editorInstance.addCommand( 'sample',
507
+ * {
508
+ * exec : function( editor )
509
+ * {
510
+ * alert( 'Executing a command for the editor name "' + editor.name + '"!' );
511
+ * }
512
+ * });
513
+ */
514
+ addCommand : function( commandName, commandDefinition )
515
+ {
516
+ return this._.commands[ commandName ] = new CKEDITOR.command( this, commandDefinition );
517
+ },
518
+
519
+ /**
520
+ * Add a trunk of css text to the editor which will be applied to the wysiwyg editing document.
521
+ * Note: This function should be called before editor is loaded to take effect.
522
+ * @param css {String} CSS text.
523
+ * @example
524
+ * editorInstance.addCss( 'body { background-color: grey; }' );
525
+ */
526
+ addCss : function( css )
527
+ {
528
+ this._.styles.push( css );
529
+ },
530
+
531
+ /**
532
+ * Destroys the editor instance, releasing all resources used by it.
533
+ * If the editor replaced an element, the element will be recovered.
534
+ * @param {Boolean} [noUpdate] If the instance is replacing a DOM
535
+ * element, this parameter indicates whether or not to update the
536
+ * element with the instance contents.
537
+ * @example
538
+ * alert( CKEDITOR.instances.editor1 ); e.g "object"
539
+ * <b>CKEDITOR.instances.editor1.destroy()</b>;
540
+ * alert( CKEDITOR.instances.editor1 ); "undefined"
541
+ */
542
+ destroy : function( noUpdate )
543
+ {
544
+ if ( !noUpdate )
545
+ this.updateElement();
546
+
547
+ if ( this.mode )
548
+ {
549
+ // -> currentMode.unload( holderElement );
550
+ this._.modes[ this.mode ].unload( this.getThemeSpace( 'contents' ) );
551
+ }
552
+
553
+ this.theme.destroy( this );
554
+
555
+ var toolbars,
556
+ index = 0,
557
+ j,
558
+ items,
559
+ instance;
560
+
561
+ if ( this.toolbox )
562
+ {
563
+ toolbars = this.toolbox.toolbars;
564
+ for ( ; index < toolbars.length ; index++ )
565
+ {
566
+ items = toolbars[ index ].items;
567
+ for ( j = 0 ; j < items.length ; j++ )
568
+ {
569
+ instance = items[ j ];
570
+ if ( instance.clickFn ) CKEDITOR.tools.removeFunction( instance.clickFn );
571
+ if ( instance.keyDownFn ) CKEDITOR.tools.removeFunction( instance.keyDownFn );
572
+
573
+ if ( instance.index ) CKEDITOR.ui.button._.instances[ instance.index ] = null;
574
+ }
575
+ }
576
+ }
577
+
578
+ if ( this.contextMenu )
579
+ CKEDITOR.tools.removeFunction( this.contextMenu._.functionId );
580
+
581
+ if ( this._.filebrowserFn )
582
+ CKEDITOR.tools.removeFunction( this._.filebrowserFn );
583
+
584
+ this.fire( 'destroy' );
585
+ CKEDITOR.remove( this );
586
+ CKEDITOR.fire( 'instanceDestroyed', null, this );
587
+ },
588
+
589
+ /**
590
+ * Executes a command.
591
+ * @param {String} commandName The indentifier name of the command.
592
+ * @param {Object} [data] Data to be passed to the command
593
+ * @returns {Boolean} "true" if the command has been successfuly
594
+ * executed, otherwise "false".
595
+ * @example
596
+ * editorInstance.execCommand( 'Bold' );
597
+ */
598
+ execCommand : function( commandName, data )
599
+ {
600
+ var command = this.getCommand( commandName );
601
+
602
+ var eventData =
603
+ {
604
+ name: commandName,
605
+ commandData: data,
606
+ command: command
607
+ };
608
+
609
+ if ( command && command.state != CKEDITOR.TRISTATE_DISABLED )
610
+ {
611
+ if ( this.fire( 'beforeCommandExec', eventData ) !== true )
612
+ {
613
+ eventData.returnValue = command.exec( eventData.commandData );
614
+
615
+ // Fire the 'afterCommandExec' immediately if command is synchronous.
616
+ if ( !command.async && this.fire( 'afterCommandExec', eventData ) !== true )
617
+ return eventData.returnValue;
618
+ }
619
+ }
620
+
621
+ // throw 'Unknown command name "' + commandName + '"';
622
+ return false;
623
+ },
624
+
625
+ /**
626
+ * Gets one of the registered commands. Note that, after registering a
627
+ * command definition with addCommand, it is transformed internally
628
+ * into an instance of {@link CKEDITOR.command}, which will be then
629
+ * returned by this function.
630
+ * @param {String} commandName The name of the command to be returned.
631
+ * This is the same used to register the command with addCommand.
632
+ * @returns {CKEDITOR.command} The command object identified by the
633
+ * provided name.
634
+ */
635
+ getCommand : function( commandName )
636
+ {
637
+ return this._.commands[ commandName ];
638
+ },
639
+
640
+ /**
641
+ * Gets the editor data. The data will be in raw format. It is the same
642
+ * data that is posted by the editor.
643
+ * @type String
644
+ * @returns (String) The editor data.
645
+ * @example
646
+ * if ( CKEDITOR.instances.editor1.<b>getData()</b> == '' )
647
+ * alert( 'There is no data available' );
648
+ */
649
+ getData : function()
650
+ {
651
+ this.fire( 'beforeGetData' );
652
+
653
+ var eventData = this._.data;
654
+
655
+ if ( typeof eventData != 'string' )
656
+ {
657
+ var element = this.element;
658
+ if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
659
+ eventData = element.is( 'textarea' ) ? element.getValue() : element.getHtml();
660
+ else
661
+ eventData = '';
662
+ }
663
+
664
+ eventData = { dataValue : eventData };
665
+
666
+ // Fire "getData" so data manipulation may happen.
667
+ this.fire( 'getData', eventData );
668
+
669
+ return eventData.dataValue;
670
+ },
671
+
672
+ /**
673
+ * Gets the "raw data" currently available in the editor. This is a
674
+ * fast method which return the data as is, without processing, so it's
675
+ * not recommended to use it on resulting pages. It can be used instead
676
+ * combined with the {@link #loadSnapshot} so one can automatic save
677
+ * the editor data from time to time while the user is using the
678
+ * editor, to avoid data loss, without risking performance issues.
679
+ * @example
680
+ * alert( editor.getSnapshot() );
681
+ */
682
+ getSnapshot : function()
683
+ {
684
+ var data = this.fire( 'getSnapshot' );
685
+
686
+ if ( typeof data != 'string' )
687
+ {
688
+ var element = this.element;
689
+ if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
690
+ data = element.is( 'textarea' ) ? element.getValue() : element.getHtml();
691
+ }
692
+
693
+ return data;
694
+ },
695
+
696
+ /**
697
+ * Loads "raw data" in the editor. This data is loaded with processing
698
+ * straight to the editing area. It should not be used as a way to load
699
+ * any kind of data, but instead in combination with
700
+ * {@link #getSnapshot} produced data.
701
+ * @example
702
+ * var data = editor.getSnapshot();
703
+ * editor.<b>loadSnapshot( data )</b>;
704
+ */
705
+ loadSnapshot : function( snapshot )
706
+ {
707
+ this.fire( 'loadSnapshot', snapshot );
708
+ },
709
+
710
+ /**
711
+ * Sets the editor data. The data must be provided in raw format (HTML).<br />
712
+ * <br />
713
+ * Note that this menthod is asynchronous. The "callback" parameter must
714
+ * be used if interaction with the editor is needed after setting the data.
715
+ * @param {String} data HTML code to replace the curent content in the
716
+ * editor.
717
+ * @param {Function} callback Function to be called after the setData
718
+ * is completed.
719
+ * @example
720
+ * CKEDITOR.instances.editor1.<b>setData</b>( '&lt;p&gt;This is the editor data.&lt;/p&gt;' );
721
+ * @example
722
+ * CKEDITOR.instances.editor1.<b>setData</b>( '&lt;p&gt;Some other editor data.&lt;/p&gt;', function()
723
+ * {
724
+ * this.checkDirty(); // true
725
+ * });
726
+ */
727
+ setData : function( data , callback )
728
+ {
729
+ if( callback )
730
+ {
731
+ this.on( 'dataReady', function( evt )
732
+ {
733
+ evt.removeListener();
734
+ callback.call( evt.editor );
735
+ } );
736
+ }
737
+
738
+ // Fire "setData" so data manipulation may happen.
739
+ var eventData = { dataValue : data };
740
+ this.fire( 'setData', eventData );
741
+
742
+ this._.data = eventData.dataValue;
743
+
744
+ this.fire( 'afterSetData', eventData );
745
+ },
746
+
747
+ /**
748
+ * Inserts HTML into the currently selected position in the editor.
749
+ * @param {String} data HTML code to be inserted into the editor.
750
+ * @example
751
+ * CKEDITOR.instances.editor1.<b>insertHtml( '&lt;p&gt;This is a new paragraph.&lt;/p&gt;' )</b>;
752
+ */
753
+ insertHtml : function( data )
754
+ {
755
+ this.fire( 'insertHtml', data );
756
+ },
757
+
758
+ /**
759
+ * Inserts an element into the currently selected position in the
760
+ * editor.
761
+ * @param {CKEDITOR.dom.element} element The element to be inserted
762
+ * into the editor.
763
+ * @example
764
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;img src="hello.png" border="0" title="Hello" /&gt;' );
765
+ * CKEDITOR.instances.editor1.<b>insertElement( element )</b>;
766
+ */
767
+ insertElement : function( element )
768
+ {
769
+ this.fire( 'insertElement', element );
770
+ },
771
+
772
+ /**
773
+ * Checks whether the current editor contents present changes when
774
+ * compared to the contents loaded into the editor at startup, or to
775
+ * the contents available in the editor when {@link #resetDirty} has
776
+ * been called.
777
+ * @returns {Boolean} "true" is the contents present changes.
778
+ * @example
779
+ * function beforeUnload( e )
780
+ * {
781
+ * if ( CKEDITOR.instances.editor1.<b>checkDirty()</b> )
782
+ * return e.returnValue = "You'll loose the changes made in the editor.";
783
+ * }
784
+ *
785
+ * if ( window.addEventListener )
786
+ * window.addEventListener( 'beforeunload', beforeUnload, false );
787
+ * else
788
+ * window.attachEvent( 'onbeforeunload', beforeUnload );
789
+ */
790
+ checkDirty : function()
791
+ {
792
+ return ( this.mayBeDirty && this._.previousValue !== this.getSnapshot() );
793
+ },
794
+
795
+ /**
796
+ * Resets the "dirty state" of the editor so subsequent calls to
797
+ * {@link #checkDirty} will return "false" if the user will not make
798
+ * further changes to the contents.
799
+ * @example
800
+ * alert( editor.checkDirty() ); // "true" (e.g.)
801
+ * editor.<b>resetDirty()</b>;
802
+ * alert( editor.checkDirty() ); // "false"
803
+ */
804
+ resetDirty : function()
805
+ {
806
+ if ( this.mayBeDirty )
807
+ this._.previousValue = this.getSnapshot();
808
+ },
809
+
810
+ /**
811
+ * Updates the &lt;textarea&gt; element that has been replaced by the editor with
812
+ * the current data available in the editor.
813
+ * @example
814
+ * CKEDITOR.instances.editor1.updateElement();
815
+ * alert( document.getElementById( 'editor1' ).value ); // The current editor data.
816
+ */
817
+ updateElement : function()
818
+ {
819
+ var element = this.element;
820
+ if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
821
+ {
822
+ var data = this.getData();
823
+
824
+ if ( this.config.htmlEncodeOutput )
825
+ data = CKEDITOR.tools.htmlEncode( data );
826
+
827
+ if ( element.is( 'textarea' ) )
828
+ element.setValue( data );
829
+ else
830
+ element.setHtml( data );
831
+ }
832
+ }
833
+ });
834
+
835
+ CKEDITOR.on( 'loaded', function()
836
+ {
837
+ // Run the full initialization for pending editors.
838
+ var pending = CKEDITOR.editor._pending;
839
+ if ( pending )
840
+ {
841
+ delete CKEDITOR.editor._pending;
842
+
843
+ for ( var i = 0 ; i < pending.length ; i++ )
844
+ pending[ i ]._init();
845
+ }
846
+ });
847
+
848
+ /**
849
+ * Whether escape HTML when editor update original input element.
850
+ * @name CKEDITOR.config.htmlEncodeOutput
851
+ * @since 3.1
852
+ * @type Boolean
853
+ * @default false
854
+ * @example
855
+ * config.htmlEncodeOutput = true;
856
+ */
857
+
858
+ /**
859
+ * Fired when a CKEDITOR instance is created, but still before initializing it.
860
+ * To interact with a fully initialized instance, use the
861
+ * {@link CKEDITOR#instanceReady} event instead.
862
+ * @name CKEDITOR#instanceCreated
863
+ * @event
864
+ * @param {CKEDITOR.editor} editor The editor instance that has been created.
865
+ */
866
+
867
+ /**
868
+ * Fired when a CKEDITOR instance is destroyed.
869
+ * @name CKEDITOR#instanceDestroyed
870
+ * @event
871
+ * @param {CKEDITOR.editor} editor The editor instance that has been destroyed.
872
+ */
873
+
874
+ /**
875
+ * Fired when all plugins are loaded and initialized into the editor instance.
876
+ * @name CKEDITOR#pluginsLoaded
877
+ * @event
878
+ * @param {CKEDITOR.editor} editor The editor instance that has been destroyed.
879
+ */
880
+
881
+ /**
882
+ * Fired before the command execution when {@link #execCommand} is called.
883
+ * @name CKEDITOR.editor#beforeCommandExec
884
+ * @event
885
+ * @param {CKEDITOR.editor} editor This editor instance.
886
+ * @param {String} data.name The command name.
887
+ * @param {Object} data.commandData The data to be sent to the command. This
888
+ * can be manipulated by the event listener.
889
+ * @param {CKEDITOR.command} data.command The command itself.
890
+ */
891
+
892
+ /**
893
+ * Fired after the command execution when {@link #execCommand} is called.
894
+ * @name CKEDITOR.editor#afterCommandExec
895
+ * @event
896
+ * @param {CKEDITOR.editor} editor This editor instance.
897
+ * @param {String} data.name The command name.
898
+ * @param {Object} data.commandData The data sent to the command.
899
+ * @param {CKEDITOR.command} data.command The command itself.
900
+ * @param {Object} data.returnValue The value returned by the command execution.
901
+ */
902
+
903
+ /**
904
+ * Fired every custom configuration file is loaded, before the final
905
+ * configurations initialization.<br />
906
+ * <br />
907
+ * Custom configuration files can be loaded thorugh the
908
+ * {@link CKEDITOR.config.customConfig} setting. Several files can be loading
909
+ * by chaning this setting.
910
+ * @name CKEDITOR.editor#customConfigLoaded
911
+ * @event
912
+ * @param {CKEDITOR.editor} editor This editor instance.
913
+ * @example
914
+ */
915
+
916
+ /**
917
+ * Fired once the editor configuration is ready (loaded and processed).
918
+ * @name CKEDITOR.editor#configLoaded
919
+ * @event
920
+ * @param {CKEDITOR.editor} editor This editor instance.
921
+ * @example
922
+ * if( editor.config.fullPage )
923
+ * alert( 'This is a full page editor' );
924
+ */