esp-ckeditor 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (340) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +32 -0
  3. data/Rakefile +28 -0
  4. data/app/assets/javascripts/esp-ckeditor/_source/core/_bootstrap.js +87 -0
  5. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor.js +141 -0
  6. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_base.js +227 -0
  7. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_basic.js +238 -0
  8. data/app/assets/javascripts/esp-ckeditor/_source/core/command.js +209 -0
  9. data/app/assets/javascripts/esp-ckeditor/_source/core/commanddefinition.js +129 -0
  10. data/app/assets/javascripts/esp-ckeditor/_source/core/config.js +423 -0
  11. data/app/assets/javascripts/esp-ckeditor/_source/core/dataprocessor.js +65 -0
  12. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/comment.js +32 -0
  13. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/document.js +251 -0
  14. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/documentfragment.js +49 -0
  15. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/domobject.js +258 -0
  16. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/element.js +1691 -0
  17. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/elementpath.js +119 -0
  18. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/event.js +145 -0
  19. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/node.js +696 -0
  20. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/nodelist.js +26 -0
  21. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/range.js +2054 -0
  22. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/rangelist.js +213 -0
  23. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/text.js +128 -0
  24. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/walker.js +462 -0
  25. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/window.js +96 -0
  26. data/app/assets/javascripts/esp-ckeditor/_source/core/dom.js +20 -0
  27. data/app/assets/javascripts/esp-ckeditor/_source/core/dtd.js +266 -0
  28. data/app/assets/javascripts/esp-ckeditor/_source/core/editor.js +1060 -0
  29. data/app/assets/javascripts/esp-ckeditor/_source/core/editor_basic.js +186 -0
  30. data/app/assets/javascripts/esp-ckeditor/_source/core/env.js +305 -0
  31. data/app/assets/javascripts/esp-ckeditor/_source/core/event.js +342 -0
  32. data/app/assets/javascripts/esp-ckeditor/_source/core/eventInfo.js +120 -0
  33. data/app/assets/javascripts/esp-ckeditor/_source/core/focusmanager.js +152 -0
  34. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  35. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/cdata.js +43 -0
  36. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/comment.js +60 -0
  37. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/element.js +308 -0
  38. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/filter.js +288 -0
  39. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/fragment.js +518 -0
  40. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/text.js +53 -0
  41. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser.js +224 -0
  42. data/app/assets/javascripts/esp-ckeditor/_source/core/lang.js +157 -0
  43. data/app/assets/javascripts/esp-ckeditor/_source/core/loader.js +240 -0
  44. data/app/assets/javascripts/esp-ckeditor/_source/core/plugindefinition.js +83 -0
  45. data/app/assets/javascripts/esp-ckeditor/_source/core/plugins.js +103 -0
  46. data/app/assets/javascripts/esp-ckeditor/_source/core/resourcemanager.js +238 -0
  47. data/app/assets/javascripts/esp-ckeditor/_source/core/scriptloader.js +180 -0
  48. data/app/assets/javascripts/esp-ckeditor/_source/core/skins.js +184 -0
  49. data/app/assets/javascripts/esp-ckeditor/_source/core/themes.js +19 -0
  50. data/app/assets/javascripts/esp-ckeditor/_source/core/tools.js +763 -0
  51. data/app/assets/javascripts/esp-ckeditor/_source/core/ui.js +128 -0
  52. data/app/assets/javascripts/esp-ckeditor/_source/lang/_languages.js +27 -0
  53. data/app/assets/javascripts/esp-ckeditor/_source/lang/en.js +815 -0
  54. data/app/assets/javascripts/esp-ckeditor/_source/lang/ru.js +815 -0
  55. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  56. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  57. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  58. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  59. data/app/assets/javascripts/esp-ckeditor/_source/plugins/basicstyles/plugin.js +129 -0
  60. data/app/assets/javascripts/esp-ckeditor/_source/plugins/button/plugin.js +290 -0
  61. data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  62. data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/plugin.js +453 -0
  63. data/app/assets/javascripts/esp-ckeditor/_source/plugins/contextmenu/plugin.js +179 -0
  64. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
  65. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/plugin.js +3308 -0
  66. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -0
  67. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
  68. data/app/assets/javascripts/esp-ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  69. data/app/assets/javascripts/esp-ckeditor/_source/plugins/editingblock/plugin.js +278 -0
  70. data/app/assets/javascripts/esp-ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  71. data/app/assets/javascripts/esp-ckeditor/_source/plugins/enterkey/plugin.js +433 -0
  72. data/app/assets/javascripts/esp-ckeditor/_source/plugins/entities/plugin.js +250 -0
  73. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/dialogs/esp_attachment.js +234 -0
  74. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/images/esp_attachment.png +0 -0
  75. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/en.js +22 -0
  76. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/ru.js +22 -0
  77. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/uk.js +22 -0
  78. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/plugin.js +23 -0
  79. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/dialogs/esp_audio.js +207 -0
  80. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/esp_audio.png +0 -0
  81. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/placeholder.png +0 -0
  82. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/en.js +18 -0
  83. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/ru.js +18 -0
  84. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/uk.js +18 -0
  85. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/plugin.js +182 -0
  86. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/dialogs/esp_blockquote.js +132 -0
  87. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/plugin.js +235 -0
  88. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/dialogs/esp_image.js +1414 -0
  89. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/images/esp_image.png +0 -0
  90. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/en.js +9 -0
  91. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/ru.js +9 -0
  92. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/uk.js +9 -0
  93. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/plugin.js +80 -0
  94. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_anchor.js +145 -0
  95. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_link.js +1396 -0
  96. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/anchor.png +0 -0
  97. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_anchor.png +0 -0
  98. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_link.png +0 -0
  99. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_unlink.png +0 -0
  100. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/en.js +8 -0
  101. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/ru.js +8 -0
  102. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/uk.js +8 -0
  103. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/plugin.js +379 -0
  104. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_address.png +0 -0
  105. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_blockquote.png +0 -0
  106. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_div.png +0 -0
  107. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h1.png +0 -0
  108. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h2.png +0 -0
  109. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h3.png +0 -0
  110. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h4.png +0 -0
  111. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h5.png +0 -0
  112. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h6.png +0 -0
  113. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_p.png +0 -0
  114. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_pre.png +0 -0
  115. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
  116. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/plugin.js +163 -0
  117. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/dialogs/esp_video.js +277 -0
  118. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/esp_video.png +0 -0
  119. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/placeholder.png +0 -0
  120. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/en.js +19 -0
  121. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/ru.js +19 -0
  122. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/uk.js +19 -0
  123. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/plugin.js +182 -0
  124. data/app/assets/javascripts/esp-ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
  125. data/app/assets/javascripts/esp-ckeditor/_source/plugins/filebrowser/plugin.js +534 -0
  126. data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/dialogs/find.js +915 -0
  127. data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/plugin.js +47 -0
  128. data/app/assets/javascripts/esp-ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
  129. data/app/assets/javascripts/esp-ckeditor/_source/plugins/format/plugin.js +197 -0
  130. data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmldataprocessor/plugin.js +596 -0
  131. data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  132. data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/dialogs/image.js +1407 -0
  133. data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/plugin.js +81 -0
  134. data/app/assets/javascripts/esp-ckeditor/_source/plugins/indent/plugin.js +461 -0
  135. data/app/assets/javascripts/esp-ckeditor/_source/plugins/justify/plugin.js +253 -0
  136. data/app/assets/javascripts/esp-ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  137. data/app/assets/javascripts/esp-ckeditor/_source/plugins/list/plugin.js +774 -0
  138. data/app/assets/javascripts/esp-ckeditor/_source/plugins/listblock/plugin.js +266 -0
  139. data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
  140. data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  141. data/app/assets/javascripts/esp-ckeditor/_source/plugins/maximize/plugin.js +353 -0
  142. data/app/assets/javascripts/esp-ckeditor/_source/plugins/menu/plugin.js +541 -0
  143. data/app/assets/javascripts/esp-ckeditor/_source/plugins/panel/plugin.js +400 -0
  144. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
  145. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  146. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  147. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  148. data/app/assets/javascripts/esp-ckeditor/_source/plugins/popup/plugin.js +64 -0
  149. data/app/assets/javascripts/esp-ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  150. data/app/assets/javascripts/esp-ckeditor/_source/plugins/resize/plugin.js +168 -0
  151. data/app/assets/javascripts/esp-ckeditor/_source/plugins/richcombo/plugin.js +381 -0
  152. data/app/assets/javascripts/esp-ckeditor/_source/plugins/selection/plugin.js +1729 -0
  153. data/app/assets/javascripts/esp-ckeditor/_source/plugins/showborders/plugin.js +207 -0
  154. data/app/assets/javascripts/esp-ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  155. data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/plugin.js +1700 -0
  156. data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/styles/default.js +88 -0
  157. data/app/assets/javascripts/esp-ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
  158. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tab/plugin.js +367 -0
  159. data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/dialogs/table.js +623 -0
  160. data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/plugin.js +78 -0
  161. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  162. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
  163. data/app/assets/javascripts/esp-ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  164. data/app/assets/javascripts/esp-ckeditor/_source/plugins/undo/plugin.js +578 -0
  165. data/app/assets/javascripts/esp-ckeditor/_source/plugins/wysiwygarea/plugin.js +1347 -0
  166. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/dialog.css +988 -0
  167. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/editor.css +25 -0
  168. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/elementspath.css +73 -0
  169. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.css +367 -0
  170. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.png +0 -0
  171. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  172. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  173. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  174. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  175. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/mini.gif +0 -0
  176. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/noimage.png +0 -0
  177. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites.png +0 -0
  178. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  179. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  180. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/mainui.css +209 -0
  181. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/menu.css +232 -0
  182. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/panel.css +227 -0
  183. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/presets.css +49 -0
  184. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/reset.css +85 -0
  185. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/richcombo.css +287 -0
  186. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/skin.js +236 -0
  187. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/templates.css +88 -0
  188. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/toolbar.css +412 -0
  189. data/app/assets/javascripts/esp-ckeditor/_source/themes/default/theme.js +407 -0
  190. data/app/assets/javascripts/esp-ckeditor/application.js +8 -0
  191. data/app/assets/javascripts/esp-ckeditor/ckeditor.js +137 -0
  192. data/app/assets/javascripts/esp-ckeditor/ckeditor.pack +194 -0
  193. data/app/assets/javascripts/esp-ckeditor/ckeditor_source.js +35 -0
  194. data/app/assets/javascripts/esp-ckeditor/ckpackager.jar +0 -0
  195. data/app/assets/javascripts/esp-ckeditor/ckpackager.txt +2 -0
  196. data/app/assets/javascripts/esp-ckeditor/config.js +147 -0
  197. data/app/assets/javascripts/esp-ckeditor/contents.css +38 -0
  198. data/app/assets/javascripts/esp-ckeditor/images/spacer.gif +0 -0
  199. data/app/assets/javascripts/esp-ckeditor/init_ckeditor.js +1 -0
  200. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -0
  201. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/en.js +1 -0
  202. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/he.js +1 -0
  203. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/plugin.js +1 -0
  204. data/app/assets/javascripts/esp-ckeditor/plugins/basicstyles/plugin.js +1 -0
  205. data/app/assets/javascripts/esp-ckeditor/plugins/button/plugin.js +1 -0
  206. data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/dialogs/paste.js +1 -0
  207. data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/plugin.js +1 -0
  208. data/app/assets/javascripts/esp-ckeditor/plugins/contextmenu/plugin.js +1 -0
  209. data/app/assets/javascripts/esp-ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  210. data/app/assets/javascripts/esp-ckeditor/plugins/dialog/plugin.js +1 -0
  211. data/app/assets/javascripts/esp-ckeditor/plugins/dialogadvtab/plugin.js +1 -0
  212. data/app/assets/javascripts/esp-ckeditor/plugins/dialogui/plugin.js +1 -0
  213. data/app/assets/javascripts/esp-ckeditor/plugins/domiterator/plugin.js +1 -0
  214. data/app/assets/javascripts/esp-ckeditor/plugins/editingblock/plugin.js +1 -0
  215. data/app/assets/javascripts/esp-ckeditor/plugins/elementspath/plugin.js +1 -0
  216. data/app/assets/javascripts/esp-ckeditor/plugins/enterkey/plugin.js +1 -0
  217. data/app/assets/javascripts/esp-ckeditor/plugins/entities/plugin.js +1 -0
  218. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/dialogs/esp_attachment.js +1 -0
  219. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/images/esp_attachment.png +0 -0
  220. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/en.js +1 -0
  221. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/ru.js +1 -0
  222. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/uk.js +1 -0
  223. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/plugin.js +1 -0
  224. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/dialogs/esp_audio.js +1 -0
  225. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/esp_audio.png +0 -0
  226. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/placeholder.png +0 -0
  227. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/en.js +1 -0
  228. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/ru.js +1 -0
  229. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/uk.js +1 -0
  230. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/plugin.js +1 -0
  231. data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/dialogs/esp_blockquote.js +1 -0
  232. data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/plugin.js +1 -0
  233. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/dialogs/esp_image.js +1 -0
  234. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/images/esp_image.png +0 -0
  235. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/en.js +1 -0
  236. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/ru.js +1 -0
  237. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/uk.js +1 -0
  238. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/plugin.js +1 -0
  239. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_anchor.js +1 -0
  240. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_link.js +1 -0
  241. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/anchor.png +0 -0
  242. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_anchor.png +0 -0
  243. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_link.png +0 -0
  244. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_unlink.png +0 -0
  245. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/en.js +1 -0
  246. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/ru.js +1 -0
  247. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/uk.js +1 -0
  248. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/plugin.js +1 -0
  249. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_address.png +0 -0
  250. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_blockquote.png +0 -0
  251. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_div.png +0 -0
  252. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h1.png +0 -0
  253. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h2.png +0 -0
  254. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h3.png +0 -0
  255. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h4.png +0 -0
  256. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h5.png +0 -0
  257. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h6.png +0 -0
  258. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_p.png +0 -0
  259. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_pre.png +0 -0
  260. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
  261. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/plugin.js +1 -0
  262. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/dialogs/esp_video.js +1 -0
  263. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/esp_video.png +0 -0
  264. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/placeholder.png +0 -0
  265. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/en.js +1 -0
  266. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/ru.js +1 -0
  267. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/uk.js +1 -0
  268. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/plugin.js +1 -0
  269. data/app/assets/javascripts/esp-ckeditor/plugins/fakeobjects/plugin.js +1 -0
  270. data/app/assets/javascripts/esp-ckeditor/plugins/filebrowser/plugin.js +1 -0
  271. data/app/assets/javascripts/esp-ckeditor/plugins/find/dialogs/find.js +1 -0
  272. data/app/assets/javascripts/esp-ckeditor/plugins/find/plugin.js +1 -0
  273. data/app/assets/javascripts/esp-ckeditor/plugins/floatpanel/plugin.js +1 -0
  274. data/app/assets/javascripts/esp-ckeditor/plugins/format/plugin.js +1 -0
  275. data/app/assets/javascripts/esp-ckeditor/plugins/htmldataprocessor/plugin.js +1 -0
  276. data/app/assets/javascripts/esp-ckeditor/plugins/htmlwriter/plugin.js +1 -0
  277. data/app/assets/javascripts/esp-ckeditor/plugins/image/dialogs/image.js +1 -0
  278. data/app/assets/javascripts/esp-ckeditor/plugins/image/plugin.js +1 -0
  279. data/app/assets/javascripts/esp-ckeditor/plugins/indent/plugin.js +1 -0
  280. data/app/assets/javascripts/esp-ckeditor/plugins/justify/plugin.js +1 -0
  281. data/app/assets/javascripts/esp-ckeditor/plugins/keystrokes/plugin.js +1 -0
  282. data/app/assets/javascripts/esp-ckeditor/plugins/list/plugin.js +1 -0
  283. data/app/assets/javascripts/esp-ckeditor/plugins/listblock/plugin.js +1 -0
  284. data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -0
  285. data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/plugin.js +1 -0
  286. data/app/assets/javascripts/esp-ckeditor/plugins/maximize/plugin.js +1 -0
  287. data/app/assets/javascripts/esp-ckeditor/plugins/menu/plugin.js +1 -0
  288. data/app/assets/javascripts/esp-ckeditor/plugins/panel/plugin.js +1 -0
  289. data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/filter/default.js +1 -0
  290. data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/plugin.js +1 -0
  291. data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/dialogs/pastetext.js +1 -0
  292. data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/plugin.js +1 -0
  293. data/app/assets/javascripts/esp-ckeditor/plugins/popup/plugin.js +1 -0
  294. data/app/assets/javascripts/esp-ckeditor/plugins/removeformat/plugin.js +1 -0
  295. data/app/assets/javascripts/esp-ckeditor/plugins/resize/plugin.js +1 -0
  296. data/app/assets/javascripts/esp-ckeditor/plugins/richcombo/plugin.js +1 -0
  297. data/app/assets/javascripts/esp-ckeditor/plugins/selection/plugin.js +1 -0
  298. data/app/assets/javascripts/esp-ckeditor/plugins/showborders/plugin.js +1 -0
  299. data/app/assets/javascripts/esp-ckeditor/plugins/sourcearea/plugin.js +1 -0
  300. data/app/assets/javascripts/esp-ckeditor/plugins/styles/plugin.js +1 -0
  301. data/app/assets/javascripts/esp-ckeditor/plugins/styles/styles/default.js +1 -0
  302. data/app/assets/javascripts/esp-ckeditor/plugins/stylescombo/plugin.js +1 -0
  303. data/app/assets/javascripts/esp-ckeditor/plugins/tab/plugin.js +1 -0
  304. data/app/assets/javascripts/esp-ckeditor/plugins/table/dialogs/table.js +1 -0
  305. data/app/assets/javascripts/esp-ckeditor/plugins/table/plugin.js +1 -0
  306. data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -0
  307. data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/plugin.js +1 -0
  308. data/app/assets/javascripts/esp-ckeditor/plugins/toolbar/plugin.js +1 -0
  309. data/app/assets/javascripts/esp-ckeditor/plugins/undo/plugin.js +1 -0
  310. data/app/assets/javascripts/esp-ckeditor/plugins/wysiwygarea/plugin.js +1 -0
  311. data/app/assets/javascripts/esp-ckeditor/skins/kama/dialog.css +988 -0
  312. data/app/assets/javascripts/esp-ckeditor/skins/kama/editor.css +25 -0
  313. data/app/assets/javascripts/esp-ckeditor/skins/kama/elementspath.css +73 -0
  314. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.css +367 -0
  315. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.png +0 -0
  316. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons_rtl.png +0 -0
  317. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  318. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.png +0 -0
  319. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  320. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/mini.gif +0 -0
  321. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/noimage.png +0 -0
  322. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites.png +0 -0
  323. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  324. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  325. data/app/assets/javascripts/esp-ckeditor/skins/kama/mainui.css +209 -0
  326. data/app/assets/javascripts/esp-ckeditor/skins/kama/menu.css +232 -0
  327. data/app/assets/javascripts/esp-ckeditor/skins/kama/panel.css +227 -0
  328. data/app/assets/javascripts/esp-ckeditor/skins/kama/presets.css +49 -0
  329. data/app/assets/javascripts/esp-ckeditor/skins/kama/reset.css +85 -0
  330. data/app/assets/javascripts/esp-ckeditor/skins/kama/richcombo.css +287 -0
  331. data/app/assets/javascripts/esp-ckeditor/skins/kama/skin.js +236 -0
  332. data/app/assets/javascripts/esp-ckeditor/skins/kama/templates.css +88 -0
  333. data/app/assets/javascripts/esp-ckeditor/skins/kama/toolbar.css +412 -0
  334. data/app/inputs/ckeditor_input.rb +42 -0
  335. data/config/routes.rb +2 -0
  336. data/lib/esp-ckeditor/engine.rb +9 -0
  337. data/lib/esp-ckeditor/version.rb +3 -0
  338. data/lib/esp-ckeditor.rb +17 -0
  339. data/lib/tasks/esp-ckeditor_tasks.rake +4 -0
  340. metadata +434 -0
@@ -0,0 +1,53 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ (function()
7
+ {
8
+ /**
9
+ * A lightweight representation of HTML text.
10
+ * @constructor
11
+ * @example
12
+ */
13
+ CKEDITOR.htmlParser.text = function( value )
14
+ {
15
+ /**
16
+ * The text value.
17
+ * @type String
18
+ * @example
19
+ */
20
+ this.value = value;
21
+
22
+ /** @private */
23
+ this._ =
24
+ {
25
+ isBlockLike : false
26
+ };
27
+ };
28
+
29
+ CKEDITOR.htmlParser.text.prototype =
30
+ {
31
+ /**
32
+ * The node type. This is a constant value set to {@link CKEDITOR.NODE_TEXT}.
33
+ * @type Number
34
+ * @example
35
+ */
36
+ type : CKEDITOR.NODE_TEXT,
37
+
38
+ /**
39
+ * Writes the HTML representation of this text to a CKEDITOR.htmlWriter.
40
+ * @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
41
+ * @example
42
+ */
43
+ writeHtml : function( writer, filter )
44
+ {
45
+ var text = this.value;
46
+
47
+ if ( filter && !( text = filter.onText( text, this ) ) )
48
+ return;
49
+
50
+ writer.text( text );
51
+ }
52
+ };
53
+ })();
@@ -0,0 +1,224 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * Creates a {@link CKEDITOR.htmlParser} class instance.
8
+ * @class Provides an "event like" system to parse strings of HTML data.
9
+ * @example
10
+ * var parser = new CKEDITOR.htmlParser();
11
+ * parser.onTagOpen = function( tagName, attributes, selfClosing )
12
+ * {
13
+ * alert( tagName );
14
+ * };
15
+ * parser.parse( '<p>Some <b>text</b>.</p>' );
16
+ */
17
+ CKEDITOR.htmlParser = function()
18
+ {
19
+ this._ =
20
+ {
21
+ htmlPartsRegex : new RegExp( '<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:"[^"]*")|(?:\'[^\']*\')|[^"\'>])*)\\/?>))', 'g' )
22
+ };
23
+ };
24
+
25
+ (function()
26
+ {
27
+ var attribsRegex = /([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,
28
+ emptyAttribs = {checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};
29
+
30
+ CKEDITOR.htmlParser.prototype =
31
+ {
32
+ /**
33
+ * Function to be fired when a tag opener is found. This function
34
+ * should be overriden when using this class.
35
+ * @param {String} tagName The tag name. The name is guarantted to be
36
+ * lowercased.
37
+ * @param {Object} attributes An object containing all tag attributes. Each
38
+ * property in this object represent and attribute name and its
39
+ * value is the attribute value.
40
+ * @param {Boolean} selfClosing true if the tag closes itself, false if the
41
+ * tag doesn't.
42
+ * @example
43
+ * var parser = new CKEDITOR.htmlParser();
44
+ * parser.onTagOpen = function( tagName, attributes, selfClosing )
45
+ * {
46
+ * alert( tagName ); // e.g. "b"
47
+ * });
48
+ * parser.parse( "&lt;!-- Example --&gt;&lt;b&gt;Hello&lt;/b&gt;" );
49
+ */
50
+ onTagOpen : function() {},
51
+
52
+ /**
53
+ * Function to be fired when a tag closer is found. This function
54
+ * should be overriden when using this class.
55
+ * @param {String} tagName The tag name. The name is guarantted to be
56
+ * lowercased.
57
+ * @example
58
+ * var parser = new CKEDITOR.htmlParser();
59
+ * parser.onTagClose = function( tagName )
60
+ * {
61
+ * alert( tagName ); // e.g. "b"
62
+ * });
63
+ * parser.parse( "&lt;!-- Example --&gt;&lt;b&gt;Hello&lt;/b&gt;" );
64
+ */
65
+ onTagClose : function() {},
66
+
67
+ /**
68
+ * Function to be fired when text is found. This function
69
+ * should be overriden when using this class.
70
+ * @param {String} text The text found.
71
+ * @example
72
+ * var parser = new CKEDITOR.htmlParser();
73
+ * parser.onText = function( text )
74
+ * {
75
+ * alert( text ); // e.g. "Hello"
76
+ * });
77
+ * parser.parse( "&lt;!-- Example --&gt;&lt;b&gt;Hello&lt;/b&gt;" );
78
+ */
79
+ onText : function() {},
80
+
81
+ /**
82
+ * Function to be fired when CDATA section is found. This function
83
+ * should be overriden when using this class.
84
+ * @param {String} cdata The CDATA been found.
85
+ * @example
86
+ * var parser = new CKEDITOR.htmlParser();
87
+ * parser.onCDATA = function( cdata )
88
+ * {
89
+ * alert( cdata ); // e.g. "var hello;"
90
+ * });
91
+ * parser.parse( "&lt;script&gt;var hello;&lt;/script&gt;" );
92
+ */
93
+ onCDATA : function() {},
94
+
95
+ /**
96
+ * Function to be fired when a commend is found. This function
97
+ * should be overriden when using this class.
98
+ * @param {String} comment The comment text.
99
+ * @example
100
+ * var parser = new CKEDITOR.htmlParser();
101
+ * parser.onComment = function( comment )
102
+ * {
103
+ * alert( comment ); // e.g. " Example "
104
+ * });
105
+ * parser.parse( "&lt;!-- Example --&gt;&lt;b&gt;Hello&lt;/b&gt;" );
106
+ */
107
+ onComment : function() {},
108
+
109
+ /**
110
+ * Parses text, looking for HTML tokens, like tag openers or closers,
111
+ * or comments. This function fires the onTagOpen, onTagClose, onText
112
+ * and onComment function during its execution.
113
+ * @param {String} html The HTML to be parsed.
114
+ * @example
115
+ * var parser = new CKEDITOR.htmlParser();
116
+ * // The onTagOpen, onTagClose, onText and onComment should be overriden
117
+ * // at this point.
118
+ * parser.parse( "&lt;!-- Example --&gt;&lt;b&gt;Hello&lt;/b&gt;" );
119
+ */
120
+ parse : function( html )
121
+ {
122
+ var parts,
123
+ tagName,
124
+ nextIndex = 0,
125
+ cdata; // The collected data inside a CDATA section.
126
+
127
+ while ( ( parts = this._.htmlPartsRegex.exec( html ) ) )
128
+ {
129
+ var tagIndex = parts.index;
130
+ if ( tagIndex > nextIndex )
131
+ {
132
+ var text = html.substring( nextIndex, tagIndex );
133
+
134
+ if ( cdata )
135
+ cdata.push( text );
136
+ else
137
+ this.onText( text );
138
+ }
139
+
140
+ nextIndex = this._.htmlPartsRegex.lastIndex;
141
+
142
+ /*
143
+ "parts" is an array with the following items:
144
+ 0 : The entire match for opening/closing tags and comments.
145
+ 1 : Group filled with the tag name for closing tags.
146
+ 2 : Group filled with the comment text.
147
+ 3 : Group filled with the tag name for opening tags.
148
+ 4 : Group filled with the attributes part of opening tags.
149
+ */
150
+
151
+ // Closing tag
152
+ if ( ( tagName = parts[ 1 ] ) )
153
+ {
154
+ tagName = tagName.toLowerCase();
155
+
156
+ if ( cdata && CKEDITOR.dtd.$cdata[ tagName ] )
157
+ {
158
+ // Send the CDATA data.
159
+ this.onCDATA( cdata.join('') );
160
+ cdata = null;
161
+ }
162
+
163
+ if ( !cdata )
164
+ {
165
+ this.onTagClose( tagName );
166
+ continue;
167
+ }
168
+ }
169
+
170
+ // If CDATA is enabled, just save the raw match.
171
+ if ( cdata )
172
+ {
173
+ cdata.push( parts[ 0 ] );
174
+ continue;
175
+ }
176
+
177
+ // Opening tag
178
+ if ( ( tagName = parts[ 3 ] ) )
179
+ {
180
+ tagName = tagName.toLowerCase();
181
+
182
+ // There are some tag names that can break things, so let's
183
+ // simply ignore them when parsing. (#5224)
184
+ if ( /="/.test( tagName ) )
185
+ continue;
186
+
187
+ var attribs = {},
188
+ attribMatch,
189
+ attribsPart = parts[ 4 ],
190
+ selfClosing = !!( attribsPart && attribsPart.charAt( attribsPart.length - 1 ) == '/' );
191
+
192
+ if ( attribsPart )
193
+ {
194
+ while ( ( attribMatch = attribsRegex.exec( attribsPart ) ) )
195
+ {
196
+ var attName = attribMatch[1].toLowerCase(),
197
+ attValue = attribMatch[2] || attribMatch[3] || attribMatch[4] || '';
198
+
199
+ if ( !attValue && emptyAttribs[ attName ] )
200
+ attribs[ attName ] = attName;
201
+ else
202
+ attribs[ attName ] = attValue;
203
+ }
204
+ }
205
+
206
+ this.onTagOpen( tagName, attribs, selfClosing );
207
+
208
+ // Open CDATA mode when finding the appropriate tags.
209
+ if ( !cdata && CKEDITOR.dtd.$cdata[ tagName ] )
210
+ cdata = [];
211
+
212
+ continue;
213
+ }
214
+
215
+ // Comment
216
+ if ( ( tagName = parts[ 2 ] ) )
217
+ this.onComment( tagName );
218
+ }
219
+
220
+ if ( html.length > nextIndex )
221
+ this.onText( html.substring( nextIndex, html.length ) );
222
+ }
223
+ };
224
+ })();
@@ -0,0 +1,157 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ (function()
7
+ {
8
+ var loadedLangs = {};
9
+
10
+ /**
11
+ * @namespace Holds language related functions.
12
+ */
13
+ CKEDITOR.lang =
14
+ {
15
+ /**
16
+ * The list of languages available in the editor core.
17
+ * @type Object
18
+ * @example
19
+ * alert( CKEDITOR.lang.en ); // "true"
20
+ */
21
+ languages :
22
+ {
23
+ 'af' : 1,
24
+ 'ar' : 1,
25
+ 'bg' : 1,
26
+ 'bn' : 1,
27
+ 'bs' : 1,
28
+ 'ca' : 1,
29
+ 'cs' : 1,
30
+ 'cy' : 1,
31
+ 'da' : 1,
32
+ 'de' : 1,
33
+ 'el' : 1,
34
+ 'en-au' : 1,
35
+ 'en-ca' : 1,
36
+ 'en-gb' : 1,
37
+ 'en' : 1,
38
+ 'eo' : 1,
39
+ 'es' : 1,
40
+ 'et' : 1,
41
+ 'eu' : 1,
42
+ 'fa' : 1,
43
+ 'fi' : 1,
44
+ 'fo' : 1,
45
+ 'fr-ca' : 1,
46
+ 'fr' : 1,
47
+ 'gl' : 1,
48
+ 'gu' : 1,
49
+ 'he' : 1,
50
+ 'hi' : 1,
51
+ 'hr' : 1,
52
+ 'hu' : 1,
53
+ 'is' : 1,
54
+ 'it' : 1,
55
+ 'ja' : 1,
56
+ 'ka' : 1,
57
+ 'km' : 1,
58
+ 'ko' : 1,
59
+ 'lt' : 1,
60
+ 'lv' : 1,
61
+ 'mn' : 1,
62
+ 'ms' : 1,
63
+ 'nb' : 1,
64
+ 'nl' : 1,
65
+ 'no' : 1,
66
+ 'pl' : 1,
67
+ 'pt-br' : 1,
68
+ 'pt' : 1,
69
+ 'ro' : 1,
70
+ 'ru' : 1,
71
+ 'sk' : 1,
72
+ 'sl' : 1,
73
+ 'sr-latn' : 1,
74
+ 'sr' : 1,
75
+ 'sv' : 1,
76
+ 'th' : 1,
77
+ 'tr' : 1,
78
+ 'uk' : 1,
79
+ 'vi' : 1,
80
+ 'zh-cn' : 1,
81
+ 'zh' : 1
82
+ },
83
+
84
+ /**
85
+ * Loads a specific language file, or auto detect it. A callback is
86
+ * then called when the file gets loaded.
87
+ * @param {String} languageCode The code of the language file to be
88
+ * loaded. If null or empty, autodetection will be performed. The
89
+ * same happens if the language is not supported.
90
+ * @param {String} defaultLanguage The language to be used if
91
+ * languageCode is not supported or if the autodetection fails.
92
+ * @param {Function} callback A function to be called once the
93
+ * language file is loaded. Two parameters are passed to this
94
+ * function: the language code and the loaded language entries.
95
+ * @example
96
+ */
97
+ load : function( languageCode, defaultLanguage, callback )
98
+ {
99
+ // If no languageCode - fallback to browser or default.
100
+ // If languageCode - fallback to no-localized version or default.
101
+ if ( !languageCode || !CKEDITOR.lang.languages[ languageCode ] )
102
+ languageCode = this.detect( defaultLanguage, languageCode );
103
+
104
+ if ( !this[ languageCode ] )
105
+ {
106
+ CKEDITOR.scriptLoader.load( CKEDITOR.getUrl(
107
+ '_source/' + // @Packager.RemoveLine
108
+ 'lang/' + languageCode + '.js' ),
109
+ function()
110
+ {
111
+ callback( languageCode, this[ languageCode ] );
112
+ }
113
+ , this );
114
+ }
115
+ else
116
+ callback( languageCode, this[ languageCode ] );
117
+ },
118
+
119
+ /**
120
+ * Returns the language that best fit the user language. For example,
121
+ * suppose that the user language is "pt-br". If this language is
122
+ * supported by the editor, it is returned. Otherwise, if only "pt" is
123
+ * supported, it is returned instead. If none of the previous are
124
+ * supported, a default language is then returned.
125
+ * @param {String} defaultLanguage The default language to be returned
126
+ * if the user language is not supported.
127
+ * @param {String} [probeLanguage] A language code to try to use,
128
+ * instead of the browser based autodetection.
129
+ * @returns {String} The detected language code.
130
+ * @example
131
+ * alert( CKEDITOR.lang.detect( 'en' ) ); // e.g., in a German browser: "de"
132
+ */
133
+ detect : function( defaultLanguage, probeLanguage )
134
+ {
135
+ var languages = this.languages;
136
+ probeLanguage = probeLanguage || navigator.userLanguage || navigator.language || defaultLanguage;
137
+
138
+ var parts = probeLanguage
139
+ .toLowerCase()
140
+ .match( /([a-z]+)(?:-([a-z]+))?/ ),
141
+ lang = parts[1],
142
+ locale = parts[2];
143
+
144
+ if ( languages[ lang + '-' + locale ] )
145
+ lang = lang + '-' + locale;
146
+ else if ( !languages[ lang ] )
147
+ lang = null;
148
+
149
+ CKEDITOR.lang.detect = lang ?
150
+ function() { return lang; } :
151
+ function( defaultLanguage ) { return defaultLanguage; };
152
+
153
+ return lang || defaultLanguage;
154
+ }
155
+ };
156
+
157
+ })();
@@ -0,0 +1,240 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.loader} objects, which is used to
8
+ * load core scripts and their dependencies from _source.
9
+ */
10
+
11
+ if ( typeof CKEDITOR == 'undefined' )
12
+ CKEDITOR = {};
13
+
14
+ if ( !CKEDITOR.loader )
15
+ {
16
+ /**
17
+ * Load core scripts and their dependencies from _source.
18
+ * @namespace
19
+ * @example
20
+ */
21
+ CKEDITOR.loader = (function()
22
+ {
23
+ // Table of script names and their dependencies.
24
+ var scripts =
25
+ {
26
+ 'core/_bootstrap' : [ 'core/config', 'core/ckeditor', 'core/plugins', 'core/scriptloader', 'core/tools', /* The following are entries that we want to force loading at the end to avoid dependence recursion */ 'core/dom/comment', 'core/dom/elementpath', 'core/dom/text', 'core/dom/rangelist' ],
27
+ 'core/ckeditor' : [ 'core/ckeditor_basic', 'core/dom', 'core/dtd', 'core/dom/document', 'core/dom/element', 'core/editor', 'core/event', 'core/htmlparser', 'core/htmlparser/element', 'core/htmlparser/fragment', 'core/htmlparser/filter', 'core/htmlparser/basicwriter', 'core/tools' ],
28
+ 'core/ckeditor_base' : [],
29
+ 'core/ckeditor_basic' : [ 'core/editor_basic', 'core/env', 'core/event' ],
30
+ 'core/command' : [],
31
+ 'core/config' : [ 'core/ckeditor_base' ],
32
+ 'core/dom' : [],
33
+ 'core/dom/comment' : [ 'core/dom/node' ],
34
+ 'core/dom/document' : [ 'core/dom', 'core/dom/domobject', 'core/dom/window' ],
35
+ 'core/dom/documentfragment' : [ 'core/dom/element' ],
36
+ 'core/dom/element' : [ 'core/dom', 'core/dom/document', 'core/dom/domobject', 'core/dom/node', 'core/dom/nodelist', 'core/tools' ],
37
+ 'core/dom/elementpath' : [ 'core/dom/element' ],
38
+ 'core/dom/event' : [],
39
+ 'core/dom/node' : [ 'core/dom/domobject', 'core/tools' ],
40
+ 'core/dom/nodelist' : [ 'core/dom/node' ],
41
+ 'core/dom/domobject' : [ 'core/dom/event' ],
42
+ 'core/dom/range' : [ 'core/dom/document', 'core/dom/documentfragment', 'core/dom/element', 'core/dom/walker' ],
43
+ 'core/dom/rangelist' : [ 'core/dom/range' ],
44
+ 'core/dom/text' : [ 'core/dom/node', 'core/dom/domobject' ],
45
+ 'core/dom/walker' : [ 'core/dom/node' ],
46
+ 'core/dom/window' : [ 'core/dom/domobject' ],
47
+ 'core/dtd' : [ 'core/tools' ],
48
+ 'core/editor' : [ 'core/command', 'core/config', 'core/editor_basic', 'core/focusmanager', 'core/lang', 'core/plugins', 'core/skins', 'core/themes', 'core/tools', 'core/ui' ],
49
+ 'core/editor_basic' : [ 'core/event' ],
50
+ 'core/env' : [],
51
+ 'core/event' : [],
52
+ 'core/focusmanager' : [],
53
+ 'core/htmlparser' : [],
54
+ 'core/htmlparser/comment' : [ 'core/htmlparser' ],
55
+ 'core/htmlparser/element' : [ 'core/htmlparser', 'core/htmlparser/fragment' ],
56
+ 'core/htmlparser/fragment' : [ 'core/htmlparser', 'core/htmlparser/comment', 'core/htmlparser/text', 'core/htmlparser/cdata' ],
57
+ 'core/htmlparser/text' : [ 'core/htmlparser' ],
58
+ 'core/htmlparser/cdata' : [ 'core/htmlparser' ],
59
+ 'core/htmlparser/filter' : [ 'core/htmlparser' ],
60
+ 'core/htmlparser/basicwriter': [ 'core/htmlparser' ],
61
+ 'core/lang' : [],
62
+ 'core/plugins' : [ 'core/resourcemanager' ],
63
+ 'core/resourcemanager' : [ 'core/scriptloader', 'core/tools' ],
64
+ 'core/scriptloader' : [ 'core/dom/element', 'core/env' ],
65
+ 'core/skins' : [ 'core/scriptloader' ],
66
+ 'core/themes' : [ 'core/resourcemanager' ],
67
+ 'core/tools' : [ 'core/env' ],
68
+ 'core/ui' : []
69
+ };
70
+
71
+ var basePath = (function()
72
+ {
73
+ // This is a copy of CKEDITOR.basePath, but requires the script having
74
+ // "_source/core/loader.js".
75
+ if ( CKEDITOR && CKEDITOR.basePath )
76
+ return CKEDITOR.basePath;
77
+
78
+ // Find out the editor directory path, based on its <script> tag.
79
+ var path = '';
80
+ var scripts = document.getElementsByTagName( 'script' );
81
+
82
+ for ( var i = 0 ; i < scripts.length ; i++ )
83
+ {
84
+ var match = scripts[i].src.match( /(^|.*?[\\\/])(?:_source\/)?core\/loader.js(?:\?.*)?$/i );
85
+
86
+ if ( match )
87
+ {
88
+ path = match[1];
89
+ break;
90
+ }
91
+ }
92
+
93
+ // In IE (only) the script.src string is the raw valued entered in the
94
+ // HTML. Other browsers return the full resolved URL instead.
95
+ if ( path.indexOf('://') == -1 )
96
+ {
97
+ // Absolute path.
98
+ if ( path.indexOf( '/' ) === 0 )
99
+ path = location.href.match( /^.*?:\/\/[^\/]*/ )[0] + path;
100
+ // Relative path.
101
+ else
102
+ path = location.href.match( /^[^\?]*\// )[0] + path;
103
+ }
104
+
105
+ return path;
106
+ })();
107
+
108
+ var timestamp = 'B8DJ5M3';
109
+
110
+ var getUrl = function( resource )
111
+ {
112
+ if ( CKEDITOR && CKEDITOR.getUrl )
113
+ return CKEDITOR.getUrl( resource );
114
+
115
+ return basePath + resource +
116
+ ( resource.indexOf( '?' ) >= 0 ? '&' : '?' ) +
117
+ 't=' + timestamp;
118
+ };
119
+
120
+ var pendingLoad = [];
121
+
122
+ /** @lends CKEDITOR.loader */
123
+ return {
124
+ /**
125
+ * The list of loaded scripts in their loading order.
126
+ * @type Array
127
+ * @example
128
+ * // Alert the loaded script names.
129
+ * alert( <b>CKEDITOR.loader.loadedScripts</b> );
130
+ */
131
+ loadedScripts : [],
132
+
133
+ loadPending : function()
134
+ {
135
+ var scriptName = pendingLoad.shift();
136
+
137
+ if ( !scriptName )
138
+ return;
139
+
140
+ var scriptSrc = getUrl( '_source/' + scriptName + '.js' );
141
+
142
+ var script = document.createElement( 'script' );
143
+ script.type = 'text/javascript';
144
+ script.src = scriptSrc;
145
+
146
+ function onScriptLoaded()
147
+ {
148
+ // Append this script to the list of loaded scripts.
149
+ CKEDITOR.loader.loadedScripts.push( scriptName );
150
+
151
+ // Load the next.
152
+ CKEDITOR.loader.loadPending();
153
+ }
154
+
155
+ // We must guarantee the execution order of the scripts, so we
156
+ // need to load them one by one. (#4145)
157
+ // The following if/else block has been taken from the scriptloader core code.
158
+ if ( typeof(script.onreadystatechange) !== "undefined" )
159
+ {
160
+ /** @ignore */
161
+ script.onreadystatechange = function()
162
+ {
163
+ if ( script.readyState == 'loaded' || script.readyState == 'complete' )
164
+ {
165
+ script.onreadystatechange = null;
166
+ onScriptLoaded();
167
+ }
168
+ };
169
+ }
170
+ else
171
+ {
172
+ /** @ignore */
173
+ script.onload = function()
174
+ {
175
+ // Some browsers, such as Safari, may call the onLoad function
176
+ // immediately. Which will break the loading sequence. (#3661)
177
+ setTimeout( function() { onScriptLoaded( scriptName ); }, 0 );
178
+ };
179
+ }
180
+
181
+ document.body.appendChild( script );
182
+ },
183
+
184
+ /**
185
+ * Loads a specific script, including its dependencies. This is not a
186
+ * synchronous loading, which means that the code to be loaded will
187
+ * not necessarily be available after this call.
188
+ * @example
189
+ * CKEDITOR.loader.load( 'core/dom/element' );
190
+ */
191
+ load : function( scriptName, defer )
192
+ {
193
+ // Check if the script has already been loaded.
194
+ if ( scriptName in this.loadedScripts )
195
+ return;
196
+
197
+ // Get the script dependencies list.
198
+ var dependencies = scripts[ scriptName ];
199
+ if ( !dependencies )
200
+ throw 'The script name"' + scriptName + '" is not defined.';
201
+
202
+ // Mark the script as loaded, even before really loading it, to
203
+ // avoid cross references recursion.
204
+ this.loadedScripts[ scriptName ] = true;
205
+
206
+ // Load all dependencies first.
207
+ for ( var i = 0 ; i < dependencies.length ; i++ )
208
+ this.load( dependencies[ i ], true );
209
+
210
+ var scriptSrc = getUrl( '_source/' + scriptName + '.js' );
211
+
212
+ // Append the <script> element to the DOM.
213
+ // If the page is fully loaded, we can't use document.write
214
+ // but if the script is run while the body is loading then it's safe to use it
215
+ // Unfortunately, Firefox <3.6 doesn't support document.readyState, so it won't get this improvement
216
+ if ( document.body && (!document.readyState || document.readyState == 'complete') )
217
+ {
218
+ pendingLoad.push( scriptName );
219
+
220
+ if ( !defer )
221
+ this.loadPending();
222
+ }
223
+ else
224
+ {
225
+ // Append this script to the list of loaded scripts.
226
+ this.loadedScripts.push( scriptName );
227
+
228
+ document.write( '<script src="' + scriptSrc + '" type="text/javascript"><\/script>' );
229
+ }
230
+ }
231
+ };
232
+ })();
233
+ }
234
+
235
+ // Check if any script has been defined for autoload.
236
+ if ( CKEDITOR._autoLoad )
237
+ {
238
+ CKEDITOR.loader.load( CKEDITOR._autoLoad );
239
+ delete CKEDITOR._autoLoad;
240
+ }